TIF_E41211115_Genso_quiz_ba.../app/blueprints/user.py

49 lines
1.5 KiB
Python

from flask import Blueprint
from app.di_container import Container
from app.controllers import UserController
from dependency_injector.wiring import inject, Provide
user_blueprint = Blueprint("user", __name__)
@user_blueprint.route("/users", methods=["GET"])
@inject
def get_users(user_controller: UserController = Provide[Container.user_controller]):
return user_controller.get_users()
@user_blueprint.route("/register", methods=["POST"])
@inject
def register(user_controller: UserController = Provide[Container.user_controller]):
return user_controller.register()
@user_blueprint.route("/user/update", methods=["POST"])
@inject
def update_user(user_controller: UserController = Provide[Container.user_controller]):
return user_controller.update_profile()
@user_blueprint.route("/user/change-password", methods=["POST"])
@inject
def change_password(
user_controller: UserController = Provide[Container.user_controller],
):
return user_controller.change_password()
@user_blueprint.route("/user/<string:user_id>", methods=["GET"])
@inject
def get_user(
user_id, user_controller: UserController = Provide[Container.user_controller]
):
return user_controller.get_user_by_id(user_id)
@user_blueprint.route("/user/status/<string:user_id>", methods=["GET"])
@inject
def get_user_stat(
user_id, user_controller: UserController = Provide[Container.user_controller]
):
return user_controller.user_stat(user_id)