kopia lustrzana https://github.com/bugout-dev/moonstream
Whales router
rodzic
969c6a76df
commit
70b285a1ea
|
@ -16,6 +16,7 @@ from .routes.streams import router as streams_router
|
|||
from .routes.subscriptions import router as subscriptions_router
|
||||
from .routes.txinfo import router as txinfo_router
|
||||
from .routes.users import router as users_router
|
||||
from .routes.whales import router as whales_router
|
||||
from .middleware import BroodAuthMiddleware, MoonstreamHTTPException
|
||||
from .settings import DOCS_TARGET_PATH, ORIGINS
|
||||
from .version import MOONSTREAM_VERSION
|
||||
|
@ -37,6 +38,7 @@ tags_metadata = [
|
|||
{"name": "tokens", "description": "Operations with user tokens."},
|
||||
{"name": "txinfo", "description": "Ethereum transactions info."},
|
||||
{"name": "users", "description": "Operations with users."},
|
||||
{"name": "whales", "description": "Whales summaries"},
|
||||
]
|
||||
|
||||
app = FastAPI(
|
||||
|
@ -126,3 +128,4 @@ app.include_router(streams_router)
|
|||
app.include_router(subscriptions_router)
|
||||
app.include_router(txinfo_router)
|
||||
app.include_router(users_router)
|
||||
app.include_router(whales_router)
|
||||
|
|
|
@ -3,55 +3,28 @@ Moonstream's /whales endpoints.
|
|||
|
||||
These endpoints provide public access to whale watch summaries. No authentication required.
|
||||
"""
|
||||
from datetime import datetime
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from bugout.data import BugoutResource
|
||||
|
||||
from fastapi import Depends, FastAPI, Query
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
from moonstreamdb import db
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from .. import data
|
||||
from ..providers.bugout import whalewatch_provider
|
||||
from ..settings import (
|
||||
bugout_client,
|
||||
DOCS_TARGET_PATH,
|
||||
MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
||||
MOONSTREAM_DATA_JOURNAL_ID,
|
||||
ORIGINS,
|
||||
)
|
||||
from ..stream_queries import StreamQuery
|
||||
from ..version import MOONSTREAM_VERSION
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
tags_metadata = [
|
||||
{"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=["*"],
|
||||
)
|
||||
router = APIRouter(prefix="/whales")
|
||||
|
||||
|
||||
@app.get("/", tags=["whales"], response_model=data.GetEventsResponse)
|
||||
@router.get("/", tags=["whales"], response_model=data.GetEventsResponse)
|
||||
async def stream_handler(
|
||||
start_time: int = Query(0),
|
||||
end_time: Optional[int] = Query(None),
|
||||
|
|
Ładowanie…
Reference in New Issue