diff --git a/app/blueprints/auth.py b/app/blueprints/auth.py index 9426e5d..8fbc24b 100644 --- a/app/blueprints/auth.py +++ b/app/blueprints/auth.py @@ -1,3 +1,4 @@ +import sys from flask import Blueprint from controllers import AuthController from di_container import Container @@ -10,6 +11,7 @@ auth_blueprint = Blueprint("auth", __name__) @auth_blueprint.route("/register", methods=["POST"]) @inject def register(auth_controller: AuthController = Provide[Container.auth_controller]): + print(auth_controller.test(), file=sys.stderr) return auth_controller.register() diff --git a/app/controllers/auth_controller.py b/app/controllers/auth_controller.py index 4e600d0..791f26c 100644 --- a/app/controllers/auth_controller.py +++ b/app/controllers/auth_controller.py @@ -18,3 +18,12 @@ class AuthController: "data": users, } return jsonify(response) + + def register(self): + return jsonify({"message": "register"}) + + def logout(self): + return jsonify({"message": "logout"}) + + def test(self): + return "test" diff --git a/app/di_container.py b/app/di_container.py index 45297bc..c488b80 100644 --- a/app/di_container.py +++ b/app/di_container.py @@ -9,18 +9,12 @@ class Container(containers.DeclarativeContainer): """Dependency Injection Container""" mongo = providers.Dependency() + # repository + user_repository = providers.Factory(UserRepository, mongo.provided.db) - user_repository = providers.Factory( - UserRepository, - mongo.provided.db, - ) + # services + auth_service = providers.Factory(AuthService, user_repository) + user_service = providers.Factory(UserService, user_repository) - auth_service = providers.Factory( - AuthService, - user_repository, - ) - - auth_controller = providers.Factory( - AuthController, - AuthService, - ) + # controllers + auth_controller = providers.Factory(AuthController, auth_service, user_service) diff --git a/app/main.py b/app/main.py index 7dc630a..95ae22b 100644 --- a/app/main.py +++ b/app/main.py @@ -17,6 +17,8 @@ def createApp() -> Flask: if mongo is not None: container.mongo.override(mongo) + container.wire(modules=["blueprints.auth"]) + # Register Blueprints app.register_blueprint(default_blueprint) app.register_blueprint(auth_blueprint, url_prefix="/api") diff --git a/app/services/user_service.py b/app/services/user_service.py index bd5d5e2..8da1b75 100644 --- a/app/services/user_service.py +++ b/app/services/user_service.py @@ -2,8 +2,8 @@ from repositories import UserRepository class UserService: - def __init__(self): - self.user_repository = UserRepository() + def __init__(self, user_repository: UserRepository): + self.user_repository = user_repository def get_all_users(self): return self.user_repository.get_all_users()