diff --git a/apiserver/bll/organization/__init__.py b/apiserver/bll/organization/__init__.py index 18ee20e..a8fd329 100644 --- a/apiserver/bll/organization/__init__.py +++ b/apiserver/bll/organization/__init__.py @@ -1,4 +1,5 @@ from collections import defaultdict +from datetime import datetime from enum import Enum from typing import Sequence, Dict, Type @@ -28,6 +29,7 @@ class OrgBLL: def edit_entity_tags( self, company_id, + user_id: str, entity_cls: Type[AttributedDocument], entity_ids: Sequence[str], add_tags: Sequence[str], @@ -47,13 +49,17 @@ class OrgBLL: ) updated = 0 + last_changed = { + "set__last_change": datetime.utcnow(), + "set__last_changed_by": user_id, + } if add_tags: updated += entity_cls.objects(company=company_id, id__in=entity_ids).update( - add_to_set__tags=add_tags + add_to_set__tags=add_tags, **last_changed, ) if remove_tags: updated += entity_cls.objects(company=company_id, id__in=entity_ids).update( - pull_all__tags=remove_tags + pull_all__tags=remove_tags, **last_changed, ) if not updated: return 0 diff --git a/apiserver/services/models.py b/apiserver/services/models.py index 436773a..2bf1b7c 100644 --- a/apiserver/services/models.py +++ b/apiserver/services/models.py @@ -761,10 +761,11 @@ def move(call: APICall, company_id: str, request: MoveRequest): @endpoint("models.update_tags") -def update_tags(_, company_id: str, request: UpdateTagsRequest): +def update_tags(call: APICall, company_id: str, request: UpdateTagsRequest): return { "updated": org_bll.edit_entity_tags( company_id=company_id, + user_id=call.identity.user, entity_cls=Model, entity_ids=request.ids, add_tags=request.add_tags, diff --git a/apiserver/services/tasks.py b/apiserver/services/tasks.py index 90a07ad..8254965 100644 --- a/apiserver/services/tasks.py +++ b/apiserver/services/tasks.py @@ -1504,6 +1504,7 @@ def update_tags(call: APICall, company_id: str, request: UpdateTagsRequest): return { "updated": org_bll.edit_entity_tags( company_id=company_id, + user_id=call.identity.user, entity_cls=Task, entity_ids=request.ids, add_tags=request.add_tags,