pull/268/head
kompotkot 2021-10-11 12:12:19 +00:00
rodzic 969c6a76df
commit 70b285a1ea
2 zmienionych plików z 6 dodań i 30 usunięć

Wyświetl plik

@ -16,6 +16,7 @@ from .routes.streams import router as streams_router
from .routes.subscriptions import router as subscriptions_router from .routes.subscriptions import router as subscriptions_router
from .routes.txinfo import router as txinfo_router from .routes.txinfo import router as txinfo_router
from .routes.users import router as users_router from .routes.users import router as users_router
from .routes.whales import router as whales_router
from .middleware import BroodAuthMiddleware, MoonstreamHTTPException from .middleware import BroodAuthMiddleware, MoonstreamHTTPException
from .settings import DOCS_TARGET_PATH, ORIGINS from .settings import DOCS_TARGET_PATH, ORIGINS
from .version import MOONSTREAM_VERSION from .version import MOONSTREAM_VERSION
@ -37,6 +38,7 @@ tags_metadata = [
{"name": "tokens", "description": "Operations with user tokens."}, {"name": "tokens", "description": "Operations with user tokens."},
{"name": "txinfo", "description": "Ethereum transactions info."}, {"name": "txinfo", "description": "Ethereum transactions info."},
{"name": "users", "description": "Operations with users."}, {"name": "users", "description": "Operations with users."},
{"name": "whales", "description": "Whales summaries"},
] ]
app = FastAPI( app = FastAPI(
@ -126,3 +128,4 @@ app.include_router(streams_router)
app.include_router(subscriptions_router) app.include_router(subscriptions_router)
app.include_router(txinfo_router) app.include_router(txinfo_router)
app.include_router(users_router) app.include_router(users_router)
app.include_router(whales_router)

Wyświetl plik

@ -3,55 +3,28 @@ Moonstream's /whales endpoints.
These endpoints provide public access to whale watch summaries. No authentication required. These endpoints provide public access to whale watch summaries. No authentication required.
""" """
from datetime import datetime
import logging import logging
from typing import Optional from typing import Optional
from bugout.data import BugoutResource from fastapi import APIRouter, Depends, Query
from fastapi import Depends, FastAPI, Query
from moonstreamdb import db from moonstreamdb import db
from fastapi.middleware.cors import CORSMiddleware
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from .. import data from .. import data
from ..providers.bugout import whalewatch_provider from ..providers.bugout import whalewatch_provider
from ..settings import ( from ..settings import (
bugout_client, bugout_client,
DOCS_TARGET_PATH,
MOONSTREAM_ADMIN_ACCESS_TOKEN, MOONSTREAM_ADMIN_ACCESS_TOKEN,
MOONSTREAM_DATA_JOURNAL_ID, MOONSTREAM_DATA_JOURNAL_ID,
ORIGINS,
) )
from ..stream_queries import StreamQuery from ..stream_queries import StreamQuery
from ..version import MOONSTREAM_VERSION
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
tags_metadata = [ router = APIRouter(prefix="/whales")
{"name": "whales", "description": "Whales summaries"},
]
app = FastAPI(
title=f"Moonstream /whales API",
description="User, token and password handlers.",
version=MOONSTREAM_VERSION,
openapi_tags=tags_metadata,
openapi_url="/openapi.json",
docs_url=None,
redoc_url=f"/{DOCS_TARGET_PATH}",
)
app.add_middleware(
CORSMiddleware,
allow_origins=ORIGINS,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/", tags=["whales"], response_model=data.GetEventsResponse) @router.get("/", tags=["whales"], response_model=data.GetEventsResponse)
async def stream_handler( async def stream_handler(
start_time: int = Query(0), start_time: int = Query(0),
end_time: Optional[int] = Query(None), end_time: Optional[int] = Query(None),