Skip to content

Commit 9972783

Browse files
authored
feat: Using Fastapi for all API endpoints (#190)
* fix: retry 5 times + wait 45 sec for DAAC * feat: make re-try configurable * feat: adding fastapi (in-progress) * fix: get collection creation working (in-progress) * fix: add root link in collection stac * feat: updating terraform * fix: actual creation has some error * fix: json to invoke magnum lambda is updated * chore: update log statement * fix: attempting bugfix * fix: some weird error. updating function name to confirm it * fix: teraform error due to partial update only * fix: dummy commit * fix: allow slash and no slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * fix: trying slash and no-slash * feat: add uds endpoint tests * feat: am-uds-dapa comes from config with defaulted to that string
1 parent 8e9d5c8 commit 9972783

36 files changed

+982
-333
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ Questions about our project? Please see our: [FAQ]([INSERT LINK TO FAQ / DISCUSS
109109

110110
<!-- example FAQ inline format>
111111
1. Question 1
112-
- Answer to question 1
112+
- Answer to question 1.
113113
2. Question 2
114114
- Answer to question 2
115115
-->

ci.cd/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ update_lambda_function_mcp_dev_6:
4646
update_lambda_function_mcp_dev_7:
4747
aws lambda update-function-code --s3-key unity_cumulus_lambda/cumulus_lambda_functions_deployment.zip --s3-bucket uds-dev-cumulus-public --function-name arn:aws:lambda:us-west-2:237868187491:function:uds-dev-cumulus-metadata_stac_generate_cmr --publish &>/dev/null
4848

49+
update_lambda_function_mcp_dev_uds_api:
50+
aws lambda update-function-code --s3-key unity_cumulus_lambda/cumulus_lambda_functions_deployment.zip --s3-bucket uds-dev-cumulus-public --function-name arn:aws:lambda:us-west-2:237868187491:function:uds-dev-cumulus-uds_api_1 --publish &>/dev/null
51+
52+
mcp_dev_fastapi: upload_lambda_mcp_dev update_lambda_function_mcp_dev_uds_api
4953
mcp_dev: upload_lambda_mcp_dev update_lambda_function_mcp_dev_1 update_lambda_function_mcp_dev_2 update_lambda_function_mcp_dev_4 update_lambda_function_mcp_dev_5
5054

5155

cumulus_lambda_functions/cumulus_collections_dapa/cumulus_create_collection_dapa.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
class CumulusCreateCollectionDapa:
1515
def __init__(self, event):
16+
print(event)
1617
required_env = ['CUMULUS_LAMBDA_PREFIX', 'CUMULUS_WORKFLOW_SQS_URL']
1718
if not all([k in os.environ for k in required_env]):
1819
raise EnvironmentError(f'one or more missing env: {required_env}')

cumulus_lambda_functions/cumulus_dapa/__init__.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/__main__.py

Lines changed: 0 additions & 42 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/authenticator/authenticator_abstract.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/authenticator/authenticator_error.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/authenticator/authenticator_factory.py

Lines changed: 0 additions & 15 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/authenticator/authenticator_filebased.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/authenticator/authenticator_pass_through.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/v1/__init__.py

Lines changed: 0 additions & 23 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/v1/authenticator_decorator.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa/v1/granules.py

Lines changed: 0 additions & 72 deletions
This file was deleted.

cumulus_lambda_functions/cumulus_dapa_client/dapa_client.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from cumulus_lambda_functions.lib.cognito_login.cognito_token_retriever import CognitoTokenRetriever
88
from cumulus_lambda_functions.lib.constants import Constants
9+
from cumulus_lambda_functions.uds_api.web_service_constants import WebServiceConstants
910

1011
LOGGER = logging.getLogger(__name__)
1112

@@ -17,6 +18,7 @@ def __init__(self):
1718
self.__dapa_base_api = None
1819
self.__get_dapa_base_api()
1920
self.__verify_ssl = True
21+
self.__api_base_prefix = WebServiceConstants.API_PREFIX
2022

2123
def with_verify_ssl(self, verify_ssl: bool):
2224
self.__verify_ssl = verify_ssl
@@ -27,6 +29,7 @@ def __get_dapa_base_api(self):
2729
raise ValueError(f'missing key: {Constants.DAPA_API_KEY}')
2830
self.__dapa_base_api = os.environ.get(Constants.DAPA_API_KEY)
2931
self.__dapa_base_api = self.__dapa_base_api[:-1] if self.__dapa_base_api.endswith('/') else self.__dapa_base_api
32+
self.__api_base_prefix = os.environ.get(Constants.DAPA_API_PREIFX_KEY) if Constants.DAPA_API_PREIFX_KEY in os.environ else self.__api_base_prefix
3033
return self
3134

3235
def __get_token(self):
@@ -46,7 +49,7 @@ def get_collection(self, collection_id: str):
4649
LOGGER.debug(f'getting collection details for: {collection_id}')
4750
self.__get_token()
4851
header = {'Authorization': f'Bearer {self.__token}'}
49-
dapa_collection_url = f'{self.__dapa_base_api}/am-uds-dapa/collections?limit=1000'
52+
dapa_collection_url = f'{self.__dapa_base_api}/{self.__api_base_prefix}/collections?limit=1000'
5053
response = requests.get(url=dapa_collection_url, headers=header, verify=self.__verify_ssl)
5154
if response.status_code > 400:
5255
raise RuntimeError(
@@ -92,7 +95,7 @@ def get_granules(self, collection_id='*', limit=1000, offset=0, date_from='', da
9295
:param date_to:
9396
:return:
9497
"""
95-
dapa_granules_api = f'{self.__dapa_base_api}/am-uds-dapa/collections/{collection_id}/items?limit={limit}&offset={offset}'
98+
dapa_granules_api = f'{self.__dapa_base_api}/{self.__api_base_prefix}/collections/{collection_id}/items?limit={limit}&offset={offset}'
9699
if date_from != '' or date_to != '':
97100
dapa_granules_api = f"{dapa_granules_api}&datetime={date_from if date_from != '' else '..'}/{date_to if date_to != '' else '..'}"
98101
if filter is not None:
@@ -111,7 +114,7 @@ def get_granules(self, collection_id='*', limit=1000, offset=0, date_from='', da
111114
return granules_result
112115

113116
def ingest_granules_w_cnm(self, cnm_ingest_body: dict) -> str:
114-
dapa_ingest_cnm_api = f'{self.__dapa_base_api}/am-uds-dapa/collections/'
117+
dapa_ingest_cnm_api = f'{self.__dapa_base_api}/{self.__api_base_prefix}/collections/'
115118
LOGGER.debug(f'getting granules for: {dapa_ingest_cnm_api}')
116119
self.__get_token()
117120
header = {

cumulus_lambda_functions/cumulus_stac/unity_collection_stac.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,4 @@ def start(self):
7070
)
7171
stac_collection.add_links(self.__files)
7272
new_collection = stac_collection.to_dict(include_self_link=False)
73-
if 'links' in new_collection and len(new_collection['links']) > 0 and new_collection['links'][0]['rel'] == 'root':
74-
new_collection['links'][0]['href'] = './collection.json'
7573
return new_collection

cumulus_lambda_functions/lib/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ class Constants:
1717
BASE64_STR = 'BASE64'
1818
PARAM_STORE = 'PARAM_STORE'
1919
DAPA_API_KEY = 'DAPA_API'
20+
DAPA_API_PREIFX_KEY = 'DAPA_API_PREIFX_KEY'

0 commit comments

Comments
 (0)