diff --git a/api/.chalice/config.json b/api/.chalice/config.json index a5d4cad48..8f2874beb 100644 --- a/api/.chalice/config.json +++ b/api/.chalice/config.json @@ -6,7 +6,7 @@ }, "stages": { "default-foss": { - "api_gateway_stage": "default-foss", + "api_gateway_stage": "default-fos", "manage_iam_role": false, "iam_role_arn": "", "autogen_policy": true, @@ -28,14 +28,14 @@ "assign_link": "http://127.0.0.1:8000/async/email_assignment", "captcha_server": "", "captcha_key": "", - "sessions_bucket": "", - "sessions_region": "", + "sessions_bucket": "asayer-mobs", + "sessions_region": "us-east-1", "put_S3_TTL": "20", - "sourcemaps_bucket": "", + "sourcemaps_bucket": "asayer-sourcemaps", "sourcemaps_bucket_key": "", "sourcemaps_bucket_secret": "", - "sourcemaps_bucket_region": "", - "js_cache_bucket": "", + "sourcemaps_bucket_region": "us-east-1", + "js_cache_bucket": "asayer-sessions-assets", "async_Token": "", "EMAIL_HOST": "", "EMAIL_PORT": "587", diff --git a/api/chalicelib/core/dashboard.py b/api/chalicelib/core/dashboard.py index e739ceb04..a778dcdfc 100644 --- a/api/chalicelib/core/dashboard.py +++ b/api/chalicelib/core/dashboard.py @@ -82,7 +82,6 @@ def __get_meta_constraint(project_id, data): constraints = [] meta_keys = metadata.get(project_id=project_id) meta_keys = {m["key"]: m["index"] for m in meta_keys} - print(meta_keys) for i, f in enumerate(data.get("filters", [])): if f["key"] in meta_keys.keys(): @@ -93,20 +92,27 @@ def __get_meta_constraint(project_id, data): constraints.append(f"{key} = %({f['key']}_{i})s") else: filter_type = f["key"].upper() - if filter_type == sessions_metas.meta_type.USERBROWSER: + filter_type = [filter_type, "USER" + filter_type, filter_type[4:]] + if any(item in [sessions_metas.meta_type.USERBROWSER] \ + for item in filter_type): constraints.append(f"sessions.user_browser = %({f['key']}_{i})s") - elif filter_type in [sessions_metas.meta_type.USEROS, sessions_metas.meta_type.USEROS_IOS]: + elif any(item in [sessions_metas.meta_type.USEROS, sessions_metas.meta_type.USEROS_IOS] \ + for item in filter_type): constraints.append(f"sessions.user_os = %({f['key']}_{i})s") - elif filter_type in [sessions_metas.meta_type.USERDEVICE, sessions_metas.meta_type.USERDEVICE_IOS]: + elif any(item in [sessions_metas.meta_type.USERDEVICE, sessions_metas.meta_type.USERDEVICE_IOS] \ + for item in filter_type): constraints.append(f"sessions.user_device = %({f['key']}_{i})s") - elif filter_type in [sessions_metas.meta_type.USERCOUNTRY, sessions_metas.meta_type.USERCOUNTRY_IOS]: + elif any(item in [sessions_metas.meta_type.USERCOUNTRY, sessions_metas.meta_type.USERCOUNTRY_IOS] \ + for item in filter_type): constraints.append(f"sessions.user_country = %({f['key']}_{i})s") - elif filter_type in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]: + elif any(item in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS] \ + for item in filter_type): constraints.append(f"sessions.user_id = %({f['key']}_{i})s") - elif filter_type in [sessions_metas.meta_type.USERANONYMOUSID, - sessions_metas.meta_type.USERANONYMOUSID_IOS]: + elif any(item in [sessions_metas.meta_type.USERANONYMOUSID, sessions_metas.meta_type.USERANONYMOUSID_IOS] \ + for item in filter_type): constraints.append(f"sessions.user_anonymous_id = %({f['key']}_{i})s") - elif filter_type in [sessions_metas.meta_type.REVID, sessions_metas.meta_type.REVID_IOS]: + elif any(item in [sessions_metas.meta_type.REVID, sessions_metas.meta_type.REVID_IOS] \ + for item in filter_type): constraints.append(f"sessions.rev_id = %({f['key']}_{i})s") return constraints @@ -140,6 +146,7 @@ def get_processed_sessions(project_id, startTimestamp=TimeUTC.now(delta_days=-1) ORDER BY generated_timestamp;""" params = {"step_size": step_size, "project_id": project_id, "startTimestamp": startTimestamp, "endTimestamp": endTimestamp, **__get_constraint_values(args)} + print(cur.mogrify(pg_query, params)) cur.execute(cur.mogrify(pg_query, params)) rows = cur.fetchall() results = { @@ -634,8 +641,8 @@ def search(text, resource_type, project_id, performance=False, pages_only=False, WHERE {" AND ".join(pg_sub_query)} LIMIT 10;""" print(cur.mogrify(pg_query, {"project_id": project_id, - "value": helper.string_to_sql_like(text), - "platform_0": platform})) + "value": helper.string_to_sql_like(text), + "platform_0": platform})) cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "value": helper.string_to_sql_like(text), "platform_0": platform})) diff --git a/api/chalicelib/core/sessions_mobs.py b/api/chalicelib/core/sessions_mobs.py index d3da91f52..75ac59307 100644 --- a/api/chalicelib/core/sessions_mobs.py +++ b/api/chalicelib/core/sessions_mobs.py @@ -4,11 +4,11 @@ import boto3 def get_web(sessionId): - return boto3.client('s3', - endpoint_url=environ["S3_HOST"], - aws_access_key_id=environ["S3_KEY"], - aws_secret_access_key=environ["S3_SECRET"], - region_name=environ["sessions_region"]).generate_presigned_url( + return boto3.client('s3', + endpoint_url=environ["S3_HOST"], + aws_access_key_id=environ["S3_KEY"], + aws_secret_access_key=environ["S3_SECRET"], + region_name=environ["sessions_region"]).generate_presigned_url( 'get_object', Params={ 'Bucket': environ["sessions_bucket"], diff --git a/ee/api/.chalice/config.json b/ee/api/.chalice/config.json index 4136e6ee0..605e5b7c1 100644 --- a/ee/api/.chalice/config.json +++ b/ee/api/.chalice/config.json @@ -31,14 +31,14 @@ "assign_link": "http://127.0.0.1:8000/async/email_assignment", "captcha_server": "", "captcha_key": "", - "sessions_bucket": "asayer-mobs-staging", - "sessions_region": "eu-central-1", + "sessions_bucket": "asayer-mobs", + "sessions_region": "us-east-1", "put_S3_TTL": "20", - "sourcemaps_bucket": "", + "sourcemaps_bucket": "asayer-sourcemaps", "sourcemaps_bucket_key": "", "sourcemaps_bucket_secret": "", - "sourcemaps_bucket_region": "", - "js_cache_bucket": "", + "sourcemaps_bucket_region": "us-east-1", + "js_cache_bucket": "asayer-sessions-assets", "async_Token": "", "EMAIL_HOST": "", "EMAIL_PORT": "587", @@ -51,9 +51,9 @@ "EMAIL_FROM": "OpenReplay", "SITE_URL": "", "announcement_url": "", - "jwt_secret": "", - "jwt_algorithm": "", - "jwt_exp_delta_seconds": "", + "jwt_secret": "SET A RANDOM STRING HERE", + "jwt_algorithm": "HS512", + "jwt_exp_delta_seconds": "2592000", "S3_HOST": "", "S3_KEY": "", "S3_SECRET": "" diff --git a/ee/api/chalicelib/utils/s3.py b/ee/api/chalicelib/utils/s3.py index 3ee2ba621..29a8d28bc 100644 --- a/ee/api/chalicelib/utils/s3.py +++ b/ee/api/chalicelib/utils/s3.py @@ -1,19 +1,15 @@ from botocore.exceptions import ClientError from chalicelib.utils.helper import environ -from chalicelib.utils import helper import boto3 -if helper.is_free_open_source_edition() or helper.is_enterprise_edition(): - from botocore.client import Config +from botocore.client import Config - client = boto3.client('s3', endpoint_url=environ["S3_HOST"], - aws_access_key_id=environ["S3_KEY"], - aws_secret_access_key=environ["S3_SECRET"], - config=Config(signature_version='s3v4'), - region_name='us-east-1') -else: - client = boto3.client('s3') +client = boto3.client('s3', endpoint_url=environ["S3_HOST"], + aws_access_key_id=environ["S3_KEY"], + aws_secret_access_key=environ["S3_SECRET"], + config=Config(signature_version='s3v4'), + region_name='us-east-1') def exists(bucket, key): diff --git a/scripts/helm/app/chalice.yaml b/scripts/helm/app/chalice.yaml index 30b02f747..eccd3b785 100644 --- a/scripts/helm/app/chalice.yaml +++ b/scripts/helm/app/chalice.yaml @@ -37,12 +37,12 @@ env: captcha_server: '' captcha_key: '' sessions_bucket: asayer-mobs - sessions_region: eu-central-1 + sessions_region: us-east-1 put_S3_TTL: '20' sourcemaps_bucket: asayer-sourcemaps sourcemaps_bucket_key: minios3AccessKeyS3cr3t - sourcemaps_bucket_secret: m1n10s3CretK3yPassw0rd - sourcemaps_bucket_region: eu-central-1 + sourcemaps_bucket_secret: m1n10s3CretK3yPassw0rd + sourcemaps_bucket_region: us-east-1 js_cache_bucket: asayer-sessions-assets async_Token: '' EMAIL_HOST: '' @@ -56,8 +56,8 @@ env: EMAIL_FROM: OpenReplay SITE_URL: '' announcement_url: '' - jwt_secret: '' - jwt_algorithm: 'HS512' + jwt_secret: SET A RANDOM STRING HERE + jwt_algorithm: HS512 jwt_exp_delta_seconds: '2592000' # Override with your https://domain_name # eg: https://openreplay.mycompany.com