|
1 | 1 | import json |
2 | 2 | import os |
| 3 | +from glob import glob |
3 | 4 | from time import time |
4 | 5 | from typing import Union |
5 | 6 |
|
| 7 | +from mdps_ds_lib.lib.utils.file_utils import FileUtils |
6 | 8 | from starlette.responses import Response, RedirectResponse |
7 | 9 | from cumulus_lambda_functions.uds_api.fast_api_utils import FastApiUtils |
8 | 10 |
|
@@ -50,6 +52,7 @@ async def catalog_list(request: Request, response: Response): |
50 | 52 | }] |
51 | 53 | return stac_browser_expecting_result |
52 | 54 |
|
| 55 | + |
53 | 56 | @router.get(f'/stac_entry') |
54 | 57 | @router.get(f'/stac_entry/') |
55 | 58 | async def stac_entry(request: Request, response: Response): |
@@ -79,3 +82,29 @@ async def stac_entry(request: Request, response: Response): |
79 | 82 | redirect_response.set_cookie(key="unity_token", value=request_headers['oidc_access_token'], httponly=False, secure=False, samesite='strict') # missing , domain=base_url |
80 | 83 | redirect_response.set_cookie(key="test1", value=f"{time()}", httponly=False, secure=False, samesite='strict') # missing , domain=base_url |
81 | 84 | return redirect_response |
| 85 | + |
| 86 | + |
| 87 | +@router.get(f'/version') |
| 88 | +@router.get(f'/version/') |
| 89 | +async def ds_version(request: Request, response: Response): |
| 90 | + """ |
| 91 | + This is to list all catalogs for STAC Browser. |
| 92 | + This doesn't require any authorization token. |
| 93 | + :param request: |
| 94 | + :param response: |
| 95 | + :return: |
| 96 | + """ |
| 97 | + version_details_unknown = { |
| 98 | + 'version': 'unknown', |
| 99 | + 'built': 'unknown' |
| 100 | + } |
| 101 | + if not FileUtils.file_exist('/var/task/ds_version.json'): |
| 102 | + print(f'missing file : {[k for k in glob("/var/task/*.json")]}') |
| 103 | + return version_details_unknown |
| 104 | + version_details = FileUtils.read_json('/var/task/ds_version.json') |
| 105 | + |
| 106 | + version_details = { |
| 107 | + **version_details_unknown, |
| 108 | + **version_details, |
| 109 | + } |
| 110 | + return version_details |
0 commit comments