VORKOUT-8 #13
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "VORKOUT-8"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -70,0 +76,4 @@
stmt = insert(account_keyring_table).values(
owner_id=owner_id,
key_type=KeyType.PASSWORD.value,
key_id=KeyIdGenerator(),
Может тут два пароля с разными id создаться, получается?
Нет, не должны
Есть какие-то предпосылки? Я просто не вижу такой возможности
Ну, просто в моменте у нас может быть несколько ключей одного типа (API KEY как минимум), но с разными key_id, и по идее уникальность тут обеспечивается в том числе key_id, т.е. если key_type:PASSWORD присваивать разные key_id, то в случае двойной сработки create_password_key (я не увидел блокировки на двойной вызов этого метода чисто из-за сбоя сетевого стека, к примеру), то мы получим два ключа key_type:PASSWORD ?
решается тем, что паролю надо key_id прописывать статичный, кмк.
Тогда на основе чего его генерить?
У нас там сейчас
f"{datetime.now().strftime('%Y-%m-%d')}-{random_number}"
, гдеrandom_number
четырехзначное число, брать id пользователя?А я не вижу необходимости генерить его конкретно для PASSWORD, просто прописать статичный литерал 'password' к примеру и сделать фоллбэк в случае, если при создании key_type: PASSWORD на конкретном пользователе уже существует такой ключ, я бы сделал его либо на обновление, либо просто пропуск.
@ -20,6 +21,17 @@ class UserUpdate(Base):
status: Optional[AccountStatus] = None
class UserCreate(Base):
Валидация идёт на уровне этой модели или на другом дескрипторе?
Просто тут name, login, role, status не должны быть Optional.
На уровне этой, поправлю на обязательные