mirror of
https://github.com/simple-login/app.git
synced 2025-09-04 21:54:33 +08:00
feat: Integrate SL alias note in event system. (#2495)
* feat: Integrate SL alias note in event system. * fix: fixes protobuf Gencode/Runtime version mismatch. * fix: remove redundant emit_alias_audit_log call.
This commit is contained in:
parent
4975c89066
commit
cda2a107f8
5 changed files with 50 additions and 12 deletions
|
@ -34,6 +34,7 @@ from app.events.generated.event_pb2 import (
|
||||||
AliasStatusChanged,
|
AliasStatusChanged,
|
||||||
EventContent,
|
EventContent,
|
||||||
AliasCreated,
|
AliasCreated,
|
||||||
|
AliasNoteChanged,
|
||||||
)
|
)
|
||||||
from app.log import LOG
|
from app.log import LOG
|
||||||
from app.models import (
|
from app.models import (
|
||||||
|
@ -525,6 +526,22 @@ def change_alias_status(
|
||||||
Session.commit()
|
Session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
def change_alias_note(alias: Alias, note: str, commit: bool = False):
|
||||||
|
LOG.i(f"Changing alias {alias} note.")
|
||||||
|
|
||||||
|
alias.note = note
|
||||||
|
event = AliasNoteChanged(
|
||||||
|
id=alias.id,
|
||||||
|
email=alias.email,
|
||||||
|
note=note,
|
||||||
|
)
|
||||||
|
|
||||||
|
EventDispatcher.send_event(alias.user, EventContent(alias_note_changed=event))
|
||||||
|
|
||||||
|
if commit:
|
||||||
|
Session.commit()
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class AliasRecipientName:
|
class AliasRecipientName:
|
||||||
name: str
|
name: str
|
||||||
|
|
|
@ -287,7 +287,7 @@ def update_alias(alias_id):
|
||||||
changed = False
|
changed = False
|
||||||
if "note" in data:
|
if "note" in data:
|
||||||
new_note = data.get("note")
|
new_note = data.get("note")
|
||||||
alias.note = new_note
|
alias_utils.change_alias_note(alias, new_note)
|
||||||
changed_fields.append("note")
|
changed_fields.append("note")
|
||||||
changed = True
|
changed = True
|
||||||
|
|
||||||
|
|
|
@ -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\x12\x10\n\x08lifetime\x18\x02 \x01(\x08\"\r\n\x0bUserDeleted\"\\\n\x0c\x41liasCreated\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0c\n\x04note\x18\x03 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x04 \x01(\x08\x12\x12\n\ncreated_at\x18\x05 \x01(\r\"T\n\x12\x41liasStatusChanged\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12\x12\n\ncreated_at\x18\x04 \x01(\r\")\n\x0c\x41liasDeleted\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\"D\n\x10\x41liasCreatedList\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .simplelogin_events.AliasCreated\"\x0e\n\x0cUserUnlinked\"\xce\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\x12\x39\n\ruser_unlinked\x18\x07 \x01(\x0b\x32 .simplelogin_events.UserUnlinkedH\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\x12\x10\n\x08lifetime\x18\x02 \x01(\x08\"\r\n\x0bUserDeleted\"\\\n\x0c\x41liasCreated\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0c\n\x04note\x18\x03 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x04 \x01(\x08\x12\x12\n\ncreated_at\x18\x05 \x01(\r\"T\n\x12\x41liasStatusChanged\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x03 \x01(\x08\x12\x12\n\ncreated_at\x18\x04 \x01(\r\")\n\x0c\x41liasDeleted\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\";\n\x10\x41liasNoteChanged\x12\n\n\x02id\x18\x01 \x01(\r\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x0c\n\x04note\x18\x03 \x01(\t\"D\n\x10\x41liasCreatedList\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .simplelogin_events.AliasCreated\"\x0e\n\x0cUserUnlinked\"\x92\x04\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\x12\x39\n\ruser_unlinked\x18\x07 \x01(\x0b\x32 .simplelogin_events.UserUnlinkedH\x00\x12\x42\n\x12\x61lias_note_changed\x18\x08 \x01(\x0b\x32$.simplelogin_events.AliasNoteChangedH\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()
|
_globals = globals()
|
||||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
||||||
|
@ -41,12 +41,14 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
||||||
_globals['_ALIASSTATUSCHANGED']._serialized_end=288
|
_globals['_ALIASSTATUSCHANGED']._serialized_end=288
|
||||||
_globals['_ALIASDELETED']._serialized_start=290
|
_globals['_ALIASDELETED']._serialized_start=290
|
||||||
_globals['_ALIASDELETED']._serialized_end=331
|
_globals['_ALIASDELETED']._serialized_end=331
|
||||||
_globals['_ALIASCREATEDLIST']._serialized_start=333
|
_globals['_ALIASNOTECHANGED']._serialized_start=333
|
||||||
_globals['_ALIASCREATEDLIST']._serialized_end=401
|
_globals['_ALIASNOTECHANGED']._serialized_end=392
|
||||||
_globals['_USERUNLINKED']._serialized_start=403
|
_globals['_ALIASCREATEDLIST']._serialized_start=394
|
||||||
_globals['_USERUNLINKED']._serialized_end=417
|
_globals['_ALIASCREATEDLIST']._serialized_end=462
|
||||||
_globals['_EVENTCONTENT']._serialized_start=420
|
_globals['_USERUNLINKED']._serialized_start=464
|
||||||
_globals['_EVENTCONTENT']._serialized_end=882
|
_globals['_USERUNLINKED']._serialized_end=478
|
||||||
_globals['_EVENT']._serialized_start=884
|
_globals['_EVENTCONTENT']._serialized_start=481
|
||||||
_globals['_EVENT']._serialized_end=1005
|
_globals['_EVENTCONTENT']._serialized_end=1011
|
||||||
|
_globals['_EVENT']._serialized_start=1013
|
||||||
|
_globals['_EVENT']._serialized_end=1134
|
||||||
# @@protoc_insertion_point(module_scope)
|
# @@protoc_insertion_point(module_scope)
|
||||||
|
|
|
@ -51,6 +51,16 @@ class AliasDeleted(_message.Message):
|
||||||
email: str
|
email: str
|
||||||
def __init__(self, id: _Optional[int] = ..., email: _Optional[str] = ...) -> None: ...
|
def __init__(self, id: _Optional[int] = ..., email: _Optional[str] = ...) -> None: ...
|
||||||
|
|
||||||
|
class AliasNoteChanged(_message.Message):
|
||||||
|
__slots__ = ("id", "email", "note")
|
||||||
|
ID_FIELD_NUMBER: _ClassVar[int]
|
||||||
|
EMAIL_FIELD_NUMBER: _ClassVar[int]
|
||||||
|
NOTE_FIELD_NUMBER: _ClassVar[int]
|
||||||
|
id: int
|
||||||
|
email: str
|
||||||
|
note: str
|
||||||
|
def __init__(self, id: _Optional[int] = ..., email: _Optional[str] = ..., note: _Optional[str] = ...) -> None: ...
|
||||||
|
|
||||||
class AliasCreatedList(_message.Message):
|
class AliasCreatedList(_message.Message):
|
||||||
__slots__ = ("events",)
|
__slots__ = ("events",)
|
||||||
EVENTS_FIELD_NUMBER: _ClassVar[int]
|
EVENTS_FIELD_NUMBER: _ClassVar[int]
|
||||||
|
@ -62,7 +72,7 @@ class UserUnlinked(_message.Message):
|
||||||
def __init__(self) -> None: ...
|
def __init__(self) -> None: ...
|
||||||
|
|
||||||
class EventContent(_message.Message):
|
class EventContent(_message.Message):
|
||||||
__slots__ = ("user_plan_change", "user_deleted", "alias_created", "alias_status_change", "alias_deleted", "alias_create_list", "user_unlinked")
|
__slots__ = ("user_plan_change", "user_deleted", "alias_created", "alias_status_change", "alias_deleted", "alias_create_list", "user_unlinked", "alias_note_changed")
|
||||||
USER_PLAN_CHANGE_FIELD_NUMBER: _ClassVar[int]
|
USER_PLAN_CHANGE_FIELD_NUMBER: _ClassVar[int]
|
||||||
USER_DELETED_FIELD_NUMBER: _ClassVar[int]
|
USER_DELETED_FIELD_NUMBER: _ClassVar[int]
|
||||||
ALIAS_CREATED_FIELD_NUMBER: _ClassVar[int]
|
ALIAS_CREATED_FIELD_NUMBER: _ClassVar[int]
|
||||||
|
@ -70,6 +80,7 @@ class EventContent(_message.Message):
|
||||||
ALIAS_DELETED_FIELD_NUMBER: _ClassVar[int]
|
ALIAS_DELETED_FIELD_NUMBER: _ClassVar[int]
|
||||||
ALIAS_CREATE_LIST_FIELD_NUMBER: _ClassVar[int]
|
ALIAS_CREATE_LIST_FIELD_NUMBER: _ClassVar[int]
|
||||||
USER_UNLINKED_FIELD_NUMBER: _ClassVar[int]
|
USER_UNLINKED_FIELD_NUMBER: _ClassVar[int]
|
||||||
|
ALIAS_NOTE_CHANGED_FIELD_NUMBER: _ClassVar[int]
|
||||||
user_plan_change: UserPlanChanged
|
user_plan_change: UserPlanChanged
|
||||||
user_deleted: UserDeleted
|
user_deleted: UserDeleted
|
||||||
alias_created: AliasCreated
|
alias_created: AliasCreated
|
||||||
|
@ -77,7 +88,8 @@ class EventContent(_message.Message):
|
||||||
alias_deleted: AliasDeleted
|
alias_deleted: AliasDeleted
|
||||||
alias_create_list: AliasCreatedList
|
alias_create_list: AliasCreatedList
|
||||||
user_unlinked: UserUnlinked
|
user_unlinked: UserUnlinked
|
||||||
def __init__(self, user_plan_change: _Optional[_Union[UserPlanChanged, _Mapping]] = ..., user_deleted: _Optional[_Union[UserDeleted, _Mapping]] = ..., alias_created: _Optional[_Union[AliasCreated, _Mapping]] = ..., alias_status_change: _Optional[_Union[AliasStatusChanged, _Mapping]] = ..., alias_deleted: _Optional[_Union[AliasDeleted, _Mapping]] = ..., alias_create_list: _Optional[_Union[AliasCreatedList, _Mapping]] = ..., user_unlinked: _Optional[_Union[UserUnlinked, _Mapping]] = ...) -> None: ...
|
alias_note_changed: AliasNoteChanged
|
||||||
|
def __init__(self, user_plan_change: _Optional[_Union[UserPlanChanged, _Mapping]] = ..., user_deleted: _Optional[_Union[UserDeleted, _Mapping]] = ..., alias_created: _Optional[_Union[AliasCreated, _Mapping]] = ..., alias_status_change: _Optional[_Union[AliasStatusChanged, _Mapping]] = ..., alias_deleted: _Optional[_Union[AliasDeleted, _Mapping]] = ..., alias_create_list: _Optional[_Union[AliasCreatedList, _Mapping]] = ..., user_unlinked: _Optional[_Union[UserUnlinked, _Mapping]] = ..., alias_note_changed: _Optional[_Union[AliasNoteChanged, _Mapping]] = ...) -> None: ...
|
||||||
|
|
||||||
class Event(_message.Message):
|
class Event(_message.Message):
|
||||||
__slots__ = ("user_id", "external_user_id", "partner_id", "content")
|
__slots__ = ("user_id", "external_user_id", "partner_id", "content")
|
||||||
|
|
|
@ -30,6 +30,12 @@ message AliasDeleted {
|
||||||
string email = 2;
|
string email = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message AliasNoteChanged {
|
||||||
|
uint32 id = 1;
|
||||||
|
string email = 2;
|
||||||
|
string note = 3;
|
||||||
|
}
|
||||||
|
|
||||||
message AliasCreatedList {
|
message AliasCreatedList {
|
||||||
repeated AliasCreated events = 1;
|
repeated AliasCreated events = 1;
|
||||||
}
|
}
|
||||||
|
@ -46,6 +52,7 @@ message EventContent {
|
||||||
AliasDeleted alias_deleted = 5;
|
AliasDeleted alias_deleted = 5;
|
||||||
AliasCreatedList alias_create_list = 6;
|
AliasCreatedList alias_create_list = 6;
|
||||||
UserUnlinked user_unlinked = 7;
|
UserUnlinked user_unlinked = 7;
|
||||||
|
AliasNoteChanged alias_note_changed = 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue