VORKOUT-8 #13

Merged
vlad.dev merged 30 commits from VORKOUT-8 into master 2025-07-02 12:23:44 +05:00
Member
No description provided.
vlad.dev added 25 commits 2025-06-30 12:38:11 +05:00
vlad.dev requested review from cyrussmeat 2025-06-30 12:38:15 +05:00
vlad.dev requested review from ivan.dev 2025-06-30 12:38:15 +05:00
vlad.dev added 1 commit 2025-06-30 14:02:56 +05:00
cyrussmeat reviewed 2025-06-30 16:20:59 +05:00
@ -70,0 +76,4 @@
stmt = insert(account_keyring_table).values(
owner_id=owner_id,
key_type=KeyType.PASSWORD.value,
key_id=KeyIdGenerator(),
Owner

Может тут два пароля с разными id создаться, получается?

Может тут два пароля с разными id создаться, получается?
Author
Member

Нет, не должны
Есть какие-то предпосылки? Я просто не вижу такой возможности

Нет, не должны Есть какие-то предпосылки? Я просто не вижу такой возможности
Owner

Ну, просто в моменте у нас может быть несколько ключей одного типа (API KEY как минимум), но с разными key_id, и по идее уникальность тут обеспечивается в том числе key_id, т.е. если key_type:PASSWORD присваивать разные key_id, то в случае двойной сработки create_password_key (я не увидел блокировки на двойной вызов этого метода чисто из-за сбоя сетевого стека, к примеру), то мы получим два ключа key_type:PASSWORD ?

решается тем, что паролю надо key_id прописывать статичный, кмк.

Ну, просто в моменте у нас может быть несколько ключей одного типа (API KEY как минимум), но с разными key_id, и по идее уникальность тут обеспечивается в том числе key_id, т.е. если key_type:PASSWORD присваивать разные key_id, то в случае двойной сработки create_password_key (я не увидел блокировки на двойной вызов этого метода чисто из-за сбоя сетевого стека, к примеру), то мы получим два ключа key_type:PASSWORD ? решается тем, что паролю надо key_id прописывать статичный, кмк.
Author
Member

Тогда на основе чего его генерить?
У нас там сейчас f"{datetime.now().strftime('%Y-%m-%d')}-{random_number}", где random_number четырехзначное число, брать id пользователя?

Тогда на основе чего его генерить? У нас там сейчас `f"{datetime.now().strftime('%Y-%m-%d')}-{random_number}"`, где `random_number` четырехзначное число, брать id пользователя?
Owner

А я не вижу необходимости генерить его конкретно для PASSWORD, просто прописать статичный литерал 'password' к примеру и сделать фоллбэк в случае, если при создании key_type: PASSWORD на конкретном пользователе уже существует такой ключ, я бы сделал его либо на обновление, либо просто пропуск.

А я не вижу необходимости генерить его конкретно для PASSWORD, просто прописать статичный литерал 'password' к примеру и сделать фоллбэк в случае, если при создании key_type: PASSWORD на конкретном пользователе уже существует такой ключ, я бы сделал его либо на обновление, либо просто пропуск.
cyrussmeat reviewed 2025-06-30 16:23:40 +05:00
@ -20,6 +21,17 @@ class UserUpdate(Base):
status: Optional[AccountStatus] = None
class UserCreate(Base):
Owner

Валидация идёт на уровне этой модели или на другом дескрипторе?

Просто тут name, login, role, status не должны быть Optional.

Валидация идёт на уровне этой модели или на другом дескрипторе? Просто тут name, login, role, status не должны быть Optional.
Author
Member

На уровне этой, поправлю на обязательные

На уровне этой, поправлю на обязательные
vlad.dev added 1 commit 2025-06-30 16:31:00 +05:00
vlad.dev added 1 commit 2025-06-30 17:52:35 +05:00
vlad.dev added 1 commit 2025-07-01 13:35:48 +05:00
cyrussmeat approved these changes 2025-07-02 10:45:37 +05:00
vlad.dev added 1 commit 2025-07-02 12:23:26 +05:00
vlad.dev merged commit a0fcc324fa into master 2025-07-02 12:23:44 +05:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Vorkout/connect#13
No description provided.