Skip to content

API Reference

Auth Module

src.modules.auth.router

admin_only_route async

admin_only_route(
    current_user: User = Depends(
        RoleChecker([UserRole.ADMIN])
    ),
) -> dict[str, str]

Тестовый роут только для администраторов.

login async

login(
    form_data: OAuth2PasswordRequestForm = Depends(),
    user_service: UserService = Depends(get_user_service),
) -> dict[str, str]

Аутентификация пользователя и выдача JWT токена. Возвращает словарь, подходящий под схему Token.

read_users_me async

read_users_me(
    current_user: User = Depends(get_current_active_user),
) -> Any

Возвращает информацию о текущем авторизованном пользователе. (Защищенный роут, требует токен)

register async

register(
    user_in: UserCreate,
    user_service: UserService = Depends(get_user_service),
) -> Any

Регистрация нового пользователя.

Inventory Module

src.modules.inventory.router

consume_product async

consume_product(
    product_id: int,
    amount: int,
    service: InventoryService = Depends(
        get_inventory_service
    ),
) -> Any

Списать товар со склада (имитация покупки).

create_product async

create_product(
    product_in: ProductCreate,
    current_user: User = Depends(
        RoleChecker([UserRole.ADMIN])
    ),
    service: InventoryService = Depends(
        get_inventory_service
    ),
) -> Any

Добавить новый товар на склад (Только для Admin).

list_products async

list_products(
    service: InventoryService = Depends(
        get_inventory_service
    ),
) -> Any

Получить список всех товаров на складе.

Orders Module

src.modules.orders.router

create_new_order async

create_new_order(
    order_in: OrderCreate,
    current_user: User = Depends(get_current_active_user),
    service: OrderService = Depends(get_order_service),
) -> Any

Оформить новый заказ (Корзина).