Create a routes constants file and a router for getting routes in app
This commit is contained in:
parent
790e0a1ce5
commit
5a4f9dc250
5 changed files with 93 additions and 10 deletions
15
src/main.py
15
src/main.py
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
from src.services.router import Router
|
||||
from src.services.notifications import NotificationService, get_notification_service
|
||||
from src.services.email import EmailService, get_email_service
|
||||
from src.services.auth import AuthService
|
||||
|
|
@ -23,6 +24,7 @@ class AppServices:
|
|||
auth: AuthService
|
||||
email: EmailService
|
||||
notifications: NotificationService
|
||||
router: Router
|
||||
|
||||
|
||||
class MyFlask(Flask):
|
||||
|
|
@ -31,19 +33,24 @@ class MyFlask(Flask):
|
|||
|
||||
def create_app(name: str, config: Config) -> Flask:
|
||||
logging.basicConfig(level=config.logging.level, format=('%(asctime)s %(levelname)s [%(name)s] %(message)s'))
|
||||
|
||||
app = MyFlask(name)
|
||||
|
||||
# Configure Services
|
||||
database = get_database(config.database)
|
||||
user_repo = UserRepoImpl(database)
|
||||
email_service = get_email_service(config.email)
|
||||
auth_service = AuthService(config.auth)
|
||||
router = Router(config.host, config.port)
|
||||
|
||||
app.services = AppServices(
|
||||
users=UserService(user_repo, email_service),
|
||||
auth=AuthService(config.auth),
|
||||
users=UserService(repo=user_repo, email_service=email_service, auth_service=auth_service, router=router),
|
||||
auth=auth_service,
|
||||
email=email_service,
|
||||
notifications=get_notification_service(email_service),
|
||||
router=router,
|
||||
)
|
||||
|
||||
if config.host:
|
||||
if config.host != '0.0.0.0':
|
||||
app.config['SERVER_NAME'] = config.host
|
||||
|
||||
return app
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue