diff --git a/app/events/generated/event_pb2.py b/app/events/generated/event_pb2.py index a805c62c..f12165ab 100644 --- a/app/events/generated/event_pb2.py +++ b/app/events/generated/event_pb2.py @@ -24,7 +24,7 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0b\x65vent.proto\x12\x12simplelogin_events\"(\n\x0fUserPlanChanged\x12\x15\n\rplan_end_time\x18\x01 \x01(\r\"\r\n\x0bUserDeleted\"Z\n\x0c\x41liasCreated\x12\x10\n\x08\x61lias_id\x18\x01 \x01(\r\x12\x13\n\x0b\x61lias_email\x18\x02 \x01(\t\x12\x12\n\nalias_note\x18\x03 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x04 \x01(\x08\"L\n\x12\x41liasStatusChanged\x12\x10\n\x08\x61lias_id\x18\x01 \x01(\r\x12\x13\n\x0b\x61lias_email\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\"5\n\x0c\x41liasDeleted\x12\x10\n\x08\x61lias_id\x18\x01 \x01(\r\x12\x13\n\x0b\x61lias_email\x18\x02 \x01(\t\"D\n\x10\x41liasCreatedList\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .simplelogin_events.AliasCreated\"\x93\x03\n\x0c\x45ventContent\x12?\n\x10user_plan_change\x18\x01 \x01(\x0b\x32#.simplelogin_events.UserPlanChangedH\x00\x12\x37\n\x0cuser_deleted\x18\x02 \x01(\x0b\x32\x1f.simplelogin_events.UserDeletedH\x00\x12\x39\n\ralias_created\x18\x03 \x01(\x0b\x32 .simplelogin_events.AliasCreatedH\x00\x12\x45\n\x13\x61lias_status_change\x18\x04 \x01(\x0b\x32&.simplelogin_events.AliasStatusChangedH\x00\x12\x39\n\ralias_deleted\x18\x05 \x01(\x0b\x32 .simplelogin_events.AliasDeletedH\x00\x12\x41\n\x11\x61lias_create_list\x18\x06 \x01(\x0b\x32$.simplelogin_events.AliasCreatedListH\x00\x42\t\n\x07\x63ontent\"y\n\x05\x45vent\x12\x0f\n\x07user_id\x18\x01 \x01(\r\x12\x18\n\x10\x65xternal_user_id\x18\x02 \x01(\t\x12\x12\n\npartner_id\x18\x03 \x01(\r\x12\x31\n\x07\x63ontent\x18\x04 \x01(\x0b\x32 .simplelogin_events.EventContentb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0b\x65vent.proto\x12\x12simplelogin_events\"(\n\x0fUserPlanChanged\x12\x15\n\rplan_end_time\x18\x01 \x01(\r\"\r\n\x0bUserDeleted\"n\n\x0c\x41liasCreated\x12\x10\n\x08\x61lias_id\x18\x01 \x01(\r\x12\x13\n\x0b\x61lias_email\x18\x02 \x01(\t\x12\x12\n\nalias_note\x18\x03 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x04 \x01(\x08\x12\x12\n\ncreated_at\x18\x05 \x01(\r\"L\n\x12\x41liasStatusChanged\x12\x10\n\x08\x61lias_id\x18\x01 \x01(\r\x12\x13\n\x0b\x61lias_email\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\"5\n\x0c\x41liasDeleted\x12\x10\n\x08\x61lias_id\x18\x01 \x01(\r\x12\x13\n\x0b\x61lias_email\x18\x02 \x01(\t\"D\n\x10\x41liasCreatedList\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .simplelogin_events.AliasCreated\"\x93\x03\n\x0c\x45ventContent\x12?\n\x10user_plan_change\x18\x01 \x01(\x0b\x32#.simplelogin_events.UserPlanChangedH\x00\x12\x37\n\x0cuser_deleted\x18\x02 \x01(\x0b\x32\x1f.simplelogin_events.UserDeletedH\x00\x12\x39\n\ralias_created\x18\x03 \x01(\x0b\x32 .simplelogin_events.AliasCreatedH\x00\x12\x45\n\x13\x61lias_status_change\x18\x04 \x01(\x0b\x32&.simplelogin_events.AliasStatusChangedH\x00\x12\x39\n\ralias_deleted\x18\x05 \x01(\x0b\x32 .simplelogin_events.AliasDeletedH\x00\x12\x41\n\x11\x61lias_create_list\x18\x06 \x01(\x0b\x32$.simplelogin_events.AliasCreatedListH\x00\x42\t\n\x07\x63ontent\"y\n\x05\x45vent\x12\x0f\n\x07user_id\x18\x01 \x01(\r\x12\x18\n\x10\x65xternal_user_id\x18\x02 \x01(\t\x12\x12\n\npartner_id\x18\x03 \x01(\r\x12\x31\n\x07\x63ontent\x18\x04 \x01(\x0b\x32 .simplelogin_events.EventContentb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -36,15 +36,15 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['_USERDELETED']._serialized_start=77 _globals['_USERDELETED']._serialized_end=90 _globals['_ALIASCREATED']._serialized_start=92 - _globals['_ALIASCREATED']._serialized_end=182 - _globals['_ALIASSTATUSCHANGED']._serialized_start=184 - _globals['_ALIASSTATUSCHANGED']._serialized_end=260 - _globals['_ALIASDELETED']._serialized_start=262 - _globals['_ALIASDELETED']._serialized_end=315 - _globals['_ALIASCREATEDLIST']._serialized_start=317 - _globals['_ALIASCREATEDLIST']._serialized_end=385 - _globals['_EVENTCONTENT']._serialized_start=388 - _globals['_EVENTCONTENT']._serialized_end=791 - _globals['_EVENT']._serialized_start=793 - _globals['_EVENT']._serialized_end=914 + _globals['_ALIASCREATED']._serialized_end=202 + _globals['_ALIASSTATUSCHANGED']._serialized_start=204 + _globals['_ALIASSTATUSCHANGED']._serialized_end=280 + _globals['_ALIASDELETED']._serialized_start=282 + _globals['_ALIASDELETED']._serialized_end=335 + _globals['_ALIASCREATEDLIST']._serialized_start=337 + _globals['_ALIASCREATEDLIST']._serialized_end=405 + _globals['_EVENTCONTENT']._serialized_start=408 + _globals['_EVENTCONTENT']._serialized_end=811 + _globals['_EVENT']._serialized_start=813 + _globals['_EVENT']._serialized_end=934 # @@protoc_insertion_point(module_scope) diff --git a/app/events/generated/event_pb2.pyi b/app/events/generated/event_pb2.pyi index d1793eed..dffca4ee 100644 --- a/app/events/generated/event_pb2.pyi +++ b/app/events/generated/event_pb2.pyi @@ -16,16 +16,18 @@ class UserDeleted(_message.Message): def __init__(self) -> None: ... class AliasCreated(_message.Message): - __slots__ = ("alias_id", "alias_email", "alias_note", "enabled") + __slots__ = ("alias_id", "alias_email", "alias_note", "enabled", "created_at") ALIAS_ID_FIELD_NUMBER: _ClassVar[int] ALIAS_EMAIL_FIELD_NUMBER: _ClassVar[int] ALIAS_NOTE_FIELD_NUMBER: _ClassVar[int] ENABLED_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] alias_id: int alias_email: str alias_note: str enabled: bool - def __init__(self, alias_id: _Optional[int] = ..., alias_email: _Optional[str] = ..., alias_note: _Optional[str] = ..., enabled: bool = ...) -> None: ... + created_at: int + def __init__(self, alias_id: _Optional[int] = ..., alias_email: _Optional[str] = ..., alias_note: _Optional[str] = ..., enabled: bool = ..., created_at: _Optional[int] = ...) -> None: ... class AliasStatusChanged(_message.Message): __slots__ = ("alias_id", "alias_email", "enabled") diff --git a/app/models.py b/app/models.py index 9ad0ed1e..1e6c4aa3 100644 --- a/app/models.py +++ b/app/models.py @@ -1681,6 +1681,7 @@ class Alias(Base, ModelMixin): alias_email=new_alias.email, alias_note=new_alias.note, enabled=True, + created_at=int(new_alias.created_at.timestamp), ) EventDispatcher.send_event(user, EventContent(alias_created=event)) diff --git a/proto/event.proto b/proto/event.proto index 694849e1..8b57eae8 100644 --- a/proto/event.proto +++ b/proto/event.proto @@ -14,6 +14,7 @@ message AliasCreated { string alias_email = 2; string alias_note = 3; bool enabled = 4; + uint32 created_at = 5; } message AliasStatusChanged { diff --git a/tests/events/test_sent_events.py b/tests/events/test_sent_events.py index ab946dda..5b37b9b0 100644 --- a/tests/events/test_sent_events.py +++ b/tests/events/test_sent_events.py @@ -50,6 +50,7 @@ def test_fire_event_on_alias_creation(): assert alias.email == alias_created.alias_email assert "" == alias_created.alias_note assert alias.enabled == alias_created.enabled + assert int(alias.created_at.timestamp) == alias_created.created_at def test_fire_event_on_alias_creation_with_note():