From 90a424b7a63c5114b8e96a98f9986640b0b62b02 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 30 Jan 2023 12:31:13 +0100 Subject: [PATCH] feat(chalice): changed notes --- api/chalicelib/core/sessions_notes.py | 18 +++++++-------- ee/api/chalicelib/core/sessions_notes.py | 28 ++++++++++++------------ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/api/chalicelib/core/sessions_notes.py b/api/chalicelib/core/sessions_notes.py index d0f54bd96..0ad78fee7 100644 --- a/api/chalicelib/core/sessions_notes.py +++ b/api/chalicelib/core/sessions_notes.py @@ -12,7 +12,7 @@ from chalicelib.utils.TimeUTC import TimeUTC def get_note(tenant_id, project_id, user_id, note_id, share=None): with pg_client.PostgresClient() as cur: - query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS creator_name + query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS user_name {",(SELECT name FROM users WHERE user_id=%(share)s AND deleted_at ISNULL) AS share_name" if share else ""} FROM sessions_notes INNER JOIN users USING (user_id) WHERE sessions_notes.project_id = %(project_id)s @@ -32,8 +32,8 @@ def get_note(tenant_id, project_id, user_id, note_id, share=None): def get_session_notes(tenant_id, project_id, session_id, user_id): with pg_client.PostgresClient() as cur: - query = cur.mogrify(f"""SELECT sessions_notes.* - FROM sessions_notes + query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS user_name + FROM sessions_notes INNER JOIN users USING (user_id) WHERE sessions_notes.project_id = %(project_id)s AND sessions_notes.deleted_at IS NULL AND sessions_notes.session_id = %(session_id)s @@ -66,8 +66,8 @@ def get_all_notes_by_project_id(tenant_id, project_id, user_id, data: schemas.Se conditions.append("sessions_notes.user_id = %(user_id)s") else: conditions.append("(sessions_notes.user_id = %(user_id)s OR sessions_notes.is_public)") - query = cur.mogrify(f"""SELECT sessions_notes.* - FROM sessions_notes + query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS user_name + FROM sessions_notes INNER JOIN users USING (user_id) WHERE {" AND ".join(conditions)} ORDER BY created_at {data.order.value} LIMIT {data.limit} OFFSET {data.limit * (data.page - 1)};""", @@ -85,7 +85,7 @@ def create(tenant_id, user_id, project_id, session_id, data: schemas.SessionNote with pg_client.PostgresClient() as cur: query = cur.mogrify(f"""INSERT INTO public.sessions_notes (message, user_id, tag, session_id, project_id, timestamp, is_public) VALUES (%(message)s, %(user_id)s, %(tag)s, %(session_id)s, %(project_id)s, %(timestamp)s, %(is_public)s) - RETURNING *;""", + RETURNING *,(SELECT name FROM users WHERE users.user_id=%(user_id)s) AS user_name;""", {"user_id": user_id, "project_id": project_id, "session_id": session_id, **data.dict()}) cur.execute(query) result = helper.dict_to_camel_case(cur.fetchone()) @@ -114,7 +114,7 @@ def edit(tenant_id, user_id, project_id, note_id, data: schemas.SessionUpdateNot AND user_id = %(user_id)s AND note_id = %(note_id)s AND deleted_at ISNULL - RETURNING *;""", + RETURNING *,(SELECT name FROM users WHERE users.user_id=%(user_id)s) AS user_name;""", {"project_id": project_id, "user_id": user_id, "note_id": note_id, **data.dict()}) ) row = helper.dict_to_camel_case(cur.fetchone()) @@ -156,7 +156,7 @@ def share_to_slack(tenant_id, user_id, project_id, note_id, webhook_id): blocks.append({"type": "context", "elements": [{"type": "plain_text", "text": f"Tag: *{note['tag']}*"}]}) - bottom = f"Created by {note['creatorName'].capitalize()}" + bottom = f"Created by {note['userName'].capitalize()}" if user_id != note["userId"]: bottom += f"\nSent by {note['shareName']}: " blocks.append({"type": "context", @@ -195,7 +195,7 @@ def share_to_msteams(tenant_id, user_id, project_id, note_id, webhook_id): "spacing": "Small", "text": f"Tag: *{note['tag']}*", "size": "Small"}) - bottom = f"Created by {note['creatorName'].capitalize()}" + bottom = f"Created by {note['userName'].capitalize()}" if user_id != note["userId"]: bottom += f"\nSent by {note['shareName']}: " blocks.append({"type": "TextBlock", diff --git a/ee/api/chalicelib/core/sessions_notes.py b/ee/api/chalicelib/core/sessions_notes.py index 1a4a1704d..0e58d276b 100644 --- a/ee/api/chalicelib/core/sessions_notes.py +++ b/ee/api/chalicelib/core/sessions_notes.py @@ -12,7 +12,7 @@ from chalicelib.utils.TimeUTC import TimeUTC def get_note(tenant_id, project_id, user_id, note_id, share=None): with pg_client.PostgresClient() as cur: - query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS creator_name + query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS user_name {",(SELECT name FROM users WHERE tenant_id=%(tenant_id)s AND user_id=%(share)s AND deleted_at ISNULL) AS share_name" if share else ""} FROM sessions_notes INNER JOIN users USING (user_id) WHERE sessions_notes.project_id = %(project_id)s @@ -33,9 +33,8 @@ def get_note(tenant_id, project_id, user_id, note_id, share=None): def get_session_notes(tenant_id, project_id, session_id, user_id): with pg_client.PostgresClient() as cur: - query = cur.mogrify(f"""SELECT sessions_notes.* - FROM sessions_notes - INNER JOIN users USING (user_id) + query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS user_name + FROM sessions_notes INNER JOIN users USING (user_id) WHERE sessions_notes.project_id = %(project_id)s AND sessions_notes.deleted_at IS NULL AND sessions_notes.session_id = %(session_id)s @@ -69,11 +68,10 @@ def get_all_notes_by_project_id(tenant_id, project_id, user_id, data: schemas.Se else: conditions.append( "(sessions_notes.user_id = %(user_id)s OR sessions_notes.is_public AND users.tenant_id = %(tenant_id)s)") - query = cur.mogrify(f"""SELECT sessions_notes.* - FROM sessions_notes - INNER JOIN users USING (user_id) + query = cur.mogrify(f"""SELECT sessions_notes.*, users.name AS user_name + FROM sessions_notes INNER JOIN users USING (user_id) WHERE {" AND ".join(conditions)} - ORDER BY created_at {data.order} + ORDER BY created_at {data.order.value} LIMIT {data.limit} OFFSET {data.limit * (data.page - 1)};""", {"project_id": project_id, "user_id": user_id, "tenant_id": tenant_id, **extra_params}) @@ -89,8 +87,9 @@ def create(tenant_id, user_id, project_id, session_id, data: schemas.SessionNote with pg_client.PostgresClient() as cur: query = cur.mogrify(f"""INSERT INTO public.sessions_notes (message, user_id, tag, session_id, project_id, timestamp, is_public) VALUES (%(message)s, %(user_id)s, %(tag)s, %(session_id)s, %(project_id)s, %(timestamp)s, %(is_public)s) - RETURNING *;""", - {"user_id": user_id, "project_id": project_id, "session_id": session_id, **data.dict()}) + RETURNING *,(SELECT name FROM users WHERE users.user_id=%(user_id)s AND users.tenant_id=%(tenant_id)s) AS user_name;""", + {"user_id": user_id, "project_id": project_id, "session_id": session_id, **data.dict(), + "tenant_id": tenant_id}) cur.execute(query) result = helper.dict_to_camel_case(cur.fetchone()) if result: @@ -118,8 +117,9 @@ def edit(tenant_id, user_id, project_id, note_id, data: schemas.SessionUpdateNot AND user_id = %(user_id)s AND note_id = %(note_id)s AND deleted_at ISNULL - RETURNING *;""", - {"project_id": project_id, "user_id": user_id, "note_id": note_id, **data.dict()}) + RETURNING *,(SELECT name FROM users WHERE users.user_id=%(user_id)s AND users.tenant_id=%(tenant_id)s) AS user_name;""", + {"project_id": project_id, "user_id": user_id, "note_id": note_id, **data.dict(), + "tenant_id": tenant_id}) ) row = helper.dict_to_camel_case(cur.fetchone()) if row: @@ -160,7 +160,7 @@ def share_to_slack(tenant_id, user_id, project_id, note_id, webhook_id): blocks.append({"type": "context", "elements": [{"type": "plain_text", "text": f"Tag: *{note['tag']}*"}]}) - bottom = f"Created by {note['creatorName'].capitalize()}" + bottom = f"Created by {note['userName'].capitalize()}" if user_id != note["userId"]: bottom += f"\nSent by {note['shareName']}: " blocks.append({"type": "context", @@ -199,7 +199,7 @@ def share_to_msteams(tenant_id, user_id, project_id, note_id, webhook_id): "spacing": "Small", "text": f"Tag: *{note['tag']}*", "size": "Small"}) - bottom = f"Created by {note['creatorName'].capitalize()}" + bottom = f"Created by {note['userName'].capitalize()}" if user_id != note["userId"]: bottom += f"\nSent by {note['shareName']}: " blocks.append({"type": "TextBlock",