From f63560a1c9050894011b8c485f1f846ff2a8ab23 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Thu, 26 Jan 2023 11:30:32 +0100 Subject: [PATCH 1/2] feat(chalice): check for mob existence --- api/chalicelib/core/sessions_devtool.py | 4 +++- api/chalicelib/core/sessions_mobs.py | 8 ++++++-- ee/api/chalicelib/core/sessions_devtool.py | 4 +++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/api/chalicelib/core/sessions_devtool.py b/api/chalicelib/core/sessions_devtool.py index 2afc3c366..6aab5a5e2 100644 --- a/api/chalicelib/core/sessions_devtool.py +++ b/api/chalicelib/core/sessions_devtool.py @@ -13,9 +13,11 @@ def __get_devtools_keys(project_id, session_id): ] -def get_urls(session_id, project_id): +def get_urls(session_id, project_id, check_existence: bool = True): results = [] for k in __get_devtools_keys(project_id=project_id, session_id=session_id): + if check_existence and not s3.exists(bucket=config("sessions_bucket"), key=k): + continue results.append(s3.client.generate_presigned_url( 'get_object', Params={'Bucket': config("sessions_bucket"), 'Key': k}, diff --git a/api/chalicelib/core/sessions_mobs.py b/api/chalicelib/core/sessions_mobs.py index 9a9237be8..68c64fd2b 100644 --- a/api/chalicelib/core/sessions_mobs.py +++ b/api/chalicelib/core/sessions_mobs.py @@ -18,9 +18,11 @@ def __get_mob_keys_deprecated(session_id): return [str(session_id), str(session_id) + "e"] -def get_urls(project_id, session_id): +def get_urls(project_id, session_id, check_existence: bool = True): results = [] for k in __get_mob_keys(project_id=project_id, session_id=session_id): + if check_existence and not s3.exists(bucket=config("sessions_bucket"), key=k): + continue results.append(s3.client.generate_presigned_url( 'get_object', Params={'Bucket': config("sessions_bucket"), 'Key': k}, @@ -29,9 +31,11 @@ def get_urls(project_id, session_id): return results -def get_urls_depercated(session_id): +def get_urls_depercated(session_id, check_existence: bool = True): results = [] for k in __get_mob_keys_deprecated(session_id=session_id): + if check_existence and not s3.exists(bucket=config("sessions_bucket"), key=k): + continue results.append(s3.client.generate_presigned_url( 'get_object', Params={'Bucket': config("sessions_bucket"), 'Key': k}, diff --git a/ee/api/chalicelib/core/sessions_devtool.py b/ee/api/chalicelib/core/sessions_devtool.py index 9435c2e24..9961df360 100644 --- a/ee/api/chalicelib/core/sessions_devtool.py +++ b/ee/api/chalicelib/core/sessions_devtool.py @@ -18,11 +18,13 @@ def __get_devtools_keys(project_id, session_id): ] -def get_urls(session_id, project_id, context: schemas_ee.CurrentContext): +def get_urls(session_id, project_id, context: schemas_ee.CurrentContext, check_existence: bool = True): if not permissions.check(security_scopes=SCOPES, context=context): return [] results = [] for k in __get_devtools_keys(project_id=project_id, session_id=session_id): + if check_existence and not s3.exists(bucket=config("sessions_bucket"), key=k): + continue results.append(s3.client.generate_presigned_url( 'get_object', Params={'Bucket': config("sessions_bucket"), 'Key': k}, From c7fa41b297d63efaa25cf024feab8d803a0ac53b Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Thu, 26 Jan 2023 11:57:49 +0100 Subject: [PATCH 2/2] feat(DB): fixed DB creation script --- scripts/schema/db/init_dbs/postgresql/init_schema.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/schema/db/init_dbs/postgresql/init_schema.sql b/scripts/schema/db/init_dbs/postgresql/init_schema.sql index dbd20f52c..350c5cbdb 100644 --- a/scripts/schema/db/init_dbs/postgresql/init_schema.sql +++ b/scripts/schema/db/init_dbs/postgresql/init_schema.sql @@ -538,7 +538,6 @@ $$ ); CREATE INDEX issues_issue_id_timestamp_idx ON events_common.issues (issue_id, timestamp); CREATE INDEX issues_timestamp_idx ON events_common.issues (timestamp); - CREATE INDEX issues_project_id_issue_id_idx ON public.issues (project_id, issue_id); CREATE TYPE http_method AS ENUM ('GET','HEAD','POST','PUT','DELETE','CONNECT','OPTIONS','TRACE','PATCH'); CREATE TABLE events_common.requests