diff --git a/api/chalicelib/core/sessions_notes.py b/api/chalicelib/core/sessions_notes.py index a586dd75c..ecf2ddd3d 100644 --- a/api/chalicelib/core/sessions_notes.py +++ b/api/chalicelib/core/sessions_notes.py @@ -36,6 +36,8 @@ def get_all_notes_by_project_id(tenant_id, project_id, user_id, data: schemas.Se extra_params = sessions._multiple_values(data.tags, value_key=k) if data.shared_only: conditions.append("sessions_notes.is_public") + elif data.mine_only: + 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.* diff --git a/api/schemas.py b/api/schemas.py index 0b54906a1..ce6b00439 100644 --- a/api/schemas.py +++ b/api/schemas.py @@ -1091,6 +1091,7 @@ class SearchNoteSchema(_PaginatedSchema): order: SortOrderType = Field(default=SortOrderType.desc) tags: Optional[List[str]] = Field(default=[]) shared_only: bool = Field(default=False) + mine_only: bool = Field(default=False) class Config: alias_generator = attribute_to_camel_case diff --git a/ee/api/chalicelib/core/sessions_notes.py b/ee/api/chalicelib/core/sessions_notes.py index dd47fd227..f5ac05722 100644 --- a/ee/api/chalicelib/core/sessions_notes.py +++ b/ee/api/chalicelib/core/sessions_notes.py @@ -37,6 +37,8 @@ def get_all_notes_by_project_id(tenant_id, project_id, user_id, data: schemas.Se extra_params = sessions._multiple_values(data.tags, value_key=k) if data.shared_only: conditions.append("sessions_notes.is_public AND users.tenant_id = %(tenant_id)s") + elif data.mine_only: + conditions.append("sessions_notes.user_id = %(user_id)s") else: conditions.append( "(sessions_notes.user_id = %(user_id)s OR sessions_notes.is_public AND users.tenant_id = %(tenant_id)s)")