Skip to content
Snippets Groups Projects
Commit d4503891 authored by Rivers, Travis (Contractor) Creighton's avatar Rivers, Travis (Contractor) Creighton
Browse files

add readonly, public metadata service

parent cd484d62
Branches
Tags
2 merge requests!146Release CMO metadata to production,!22Add readonly, public metadata service
...@@ -7,7 +7,7 @@ from fastapi.middleware.cors import CORSMiddleware ...@@ -7,7 +7,7 @@ from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse, PlainTextResponse, RedirectResponse from fastapi.responses import JSONResponse, PlainTextResponse, RedirectResponse
from obspy import UTCDateTime from obspy import UTCDateTime
from . import algorithms, data, elements, observatories from . import algorithms, data, elements, metadata, observatories
ERROR_CODE_MESSAGES = { ERROR_CODE_MESSAGES = {
...@@ -28,6 +28,7 @@ app = FastAPI(docs_url="/docs", root_path="/ws") ...@@ -28,6 +28,7 @@ app = FastAPI(docs_url="/docs", root_path="/ws")
app.include_router(algorithms.router) app.include_router(algorithms.router)
app.include_router(data.router) app.include_router(data.router)
app.include_router(elements.router) app.include_router(elements.router)
app.include_router(metadata.router)
app.include_router(observatories.router) app.include_router(observatories.router)
......
from typing import List
from fastapi import APIRouter, Body, Response
from obspy import UTCDateTime
from ...metadata import Metadata, MetadataCategory
from ..secure.MetadataQuery import MetadataQuery
from ..db import metadata_table
router = APIRouter()
@router.get("/metadata", response_model=List[Metadata])
async def get_metadata(
category: MetadataCategory = None,
starttime: UTCDateTime = None,
endtime: UTCDateTime = None,
network: str = None,
station: str = None,
channel: str = None,
location: str = None,
data_valid: bool = None,
metadata_valid: bool = True,
):
query = MetadataQuery(
category=category,
starttime=starttime,
endtime=endtime,
network=network,
station=station,
channel=channel,
location=location,
data_valid=data_valid,
metadata_valid=metadata_valid,
)
metas = await metadata_table.get_metadata(**query.datetime_dict(exclude={"id"}))
return metas
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment