49 lines
1.5 KiB
Python
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)
|