You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

25 lines
703 B

from flask import Flask
from monsun_backend import models
from ..container import get_initialize_container
def init_app(app: Flask):
app.before_first_request(make_admin_user)
def make_admin_user() -> models.User:
"""Makes the admin user if he does not exist
The admin is always the first user (id==1)
"""
container = get_initialize_container()
admin_user: models.User = models.user_datastore.get_user(identifier=1)
if admin_user is None:
admin_user = models.user_datastore.create_user(
email=container.config.admin_user_email(),
password=container.config.admin_user_password(),
)
admin_user.save()
return admin_user