From a456db93dee8f05d7222854a0bdec6e76732b4a3 Mon Sep 17 00:00:00 2001 From: vincentsarago Date: Sun, 25 Jun 2023 00:12:24 +0200 Subject: [PATCH] add mosaic builder --- runtime/eoapi/raster/eoapi/raster/app.py | 32 + .../raster/templates/mosaic-builder.html | 597 ++++++++++++++++++ 2 files changed, 629 insertions(+) create mode 100644 runtime/eoapi/raster/eoapi/raster/templates/mosaic-builder.html diff --git a/runtime/eoapi/raster/eoapi/raster/app.py b/runtime/eoapi/raster/eoapi/raster/app.py index 52b5be0..3e53562 100644 --- a/runtime/eoapi/raster/eoapi/raster/app.py +++ b/runtime/eoapi/raster/eoapi/raster/app.py @@ -60,6 +60,32 @@ # add /mosaic/list endpoint add_mosaic_list=True, ) + + +@mosaic.router.get("/builder", response_class=HTMLResponse) +async def mosaic_builder(request: Request): + """Mosaic Builder Viewer.""" + return templates.TemplateResponse( + name="mosaic-builder.html", + context={ + "request": request, + "register_endpoint": mosaic.url_for(request, "register_search"), + "collections_endpoint": str(request.url_for("list_collection")), + }, + media_type="text/html", + ) + + +# `Secret` endpoint for mosaic builder. Do not need to be public (in the OpenAPI docs) +@app.get("/collections", include_in_schema=False) +async def list_collection(request: Request): + """list collections.""" + with request.app.state.dbpool.connection() as conn: + with conn.cursor() as cursor: + cursor.execute("SELECT * FROM collections;") + return [t[2] for t in cursor.fetchall() if t] + + app.include_router(mosaic.router, tags=["Mosaic"], prefix="/mosaic") ############################################################################### @@ -157,6 +183,12 @@ def landing(request: Request): "type": "application/json", "rel": "data", }, + { + "title": "Mosaic Builder", + "href": mosaic.url_for(request, "mosaic_builder"), + "type": "text/html", + "rel": "data", + }, { "title": "Mosaic Metadata (template URL)", "href": mosaic.url_for(request, "info_search", searchid="{searchid}"), diff --git a/runtime/eoapi/raster/eoapi/raster/templates/mosaic-builder.html b/runtime/eoapi/raster/eoapi/raster/templates/mosaic-builder.html new file mode 100644 index 0000000..3c1187c --- /dev/null +++ b/runtime/eoapi/raster/eoapi/raster/templates/mosaic-builder.html @@ -0,0 +1,597 @@ + + + + + Mosaic Builder + + + + + + + + + + + + + + + + + + + + +
+ + + +