diff --git a/kairon/shared/account/data_objects.py b/kairon/shared/account/data_objects.py index 854555c21..3fd148c31 100644 --- a/kairon/shared/account/data_objects.py +++ b/kairon/shared/account/data_objects.py @@ -16,7 +16,7 @@ from kairon.shared.constants import UserActivityType from kairon.shared.data.audit.data_objects import Auditlog from kairon.shared.data.signals import push_notification, auditlogger -from kairon.shared.data.constant import ACCESS_ROLES, ACTIVITY_STATUS +from kairon.shared.data.constant import ACCESS_ROLES, ACTIVITY_STATUS, TagType from kairon.shared.utils import Utility @@ -68,12 +68,23 @@ class BotMetaData(EmbeddedDocument): from_template = DynamicField(default=None) +class Tagging(EmbeddedDocument): + tag = StringField() + type = StringField(choices=[TagType.ADMIN.value, TagType.USER.value], default=None) + + +@auditlogger.log +class Tags(Auditlog): + tags = EmbeddedDocumentField(Tagging, default=None) + + @auditlogger.log @push_notification.apply class Bot(Auditlog): name = StringField(required=True) account = LongField(required=True) user = StringField(required=True) + tags = ListField(EmbeddedDocumentField(Tagging, default=None)) metadata = EmbeddedDocumentField(BotMetaData, default=BotMetaData()) timestamp = DateTimeField(default=datetime.utcnow) status = BooleanField(default=True) diff --git a/kairon/shared/data/constant.py b/kairon/shared/data/constant.py index 3a898bdff..29e1d9be4 100644 --- a/kairon/shared/data/constant.py +++ b/kairon/shared/data/constant.py @@ -232,6 +232,11 @@ class FeatureMappings(str, Enum): CREATE_USER = "create_user" +class TagType(str, Enum): + ADMIN = "admin" + USER = "user" + + ORG_SETTINGS_MESSAGES = { "create_user": "User creation is blocked by your OrgAdmin from SSO", "only_sso_login": "Login with your org SSO url, Login with username/password not allowed" diff --git a/tests/integration_test/chat_service_test.py b/tests/integration_test/chat_service_test.py index 03318ddf8..e1b24d452 100644 --- a/tests/integration_test/chat_service_test.py +++ b/tests/integration_test/chat_service_test.py @@ -1633,6 +1633,7 @@ def _mock_validate_hub_signature(*args, **kwargs): def test_whatsapp_valid_attachment_message_request(): def _mock_validate_hub_signature(*args, **kwargs): return True + responses.reset() responses.add( "POST", "https://graph.facebook.com/v13.0/12345678/messages", json={} )