Задать вопрос
@gwynbleidd111

Как повысить читабельность кода?

Столкнулся с такой проблемой:
Сделал ендпоинт который принимает токен
@app.post('/refresh')
@limiter.limit("10/minute")
async def refresh(request: Request,token: str = Depends(check_refresh_token)):
    access_token = create_access_token({"sub": token})
    pass

и затем работает с субъектом
сама вызываемая от Depends функция
def check_refresh_token(token: str = Depends(oauth2_scheme)):
        *логика функции*
        return payload.get("sub")

По сути возвращает username с которым дальше и идет работа в ендпоинте.
смущает что ендпоинт принимает токен token: str = Depends(check_refresh_token) как токен но потом работает с объектом который называется token, как с username access_token = create_access_token({"sub": token}) (ведь по сути его я и вернул).
конечно можно в ендпоинте определить username = token и не париться
Но что вообще будет самым правильным в подобных ситуациях? Возвращать в вызываемой от Depends функции что-то общее?(например весь payload в моем случае)а затем в ендпоинте вытаскивать только username. Может подобные ситуации могут указывать на необходимость чего-либо?(как,например, в БД многие-ко-многим говорит о необходимости дополнительной таблицы)
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы