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.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)

Wyświetl plik

@ -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),