from flask import Flask from fittrackee import db from fittrackee.application.utils import ( init_config, update_app_config_from_database, ) from fittrackee.users.models import User from fittrackee.workouts.models import Sport def init_database(app: Flask) -> None: """Init the database.""" admin = User( username='admin', email='admin@example.com', password='mpwoadmin' ) admin.admin = True admin.timezone = 'Europe/Paris' db.session.add(admin) sport = Sport(label='Cycling (Sport)') sport.img = '/img/sports/cycling-sport.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Cycling (Transport)') sport.img = '/img/sports/cycling-transport.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Hiking') sport.img = '/img/sports/hiking.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Mountain Biking') sport.img = '/img/sports/mountain-biking.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Mountain Biking (Electric)') sport.img = '/img/sports/electric-mountain-biking.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Running') sport.img = '/img/sports/running.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Trail') sport.img = '/img/sports/trail.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Walking') sport.img = '/img/sports/walking.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Skiing (Alpine)') sport.img = '/img/sports/alpine-skiing.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Skiing (Cross Country)') sport.img = '/img/sports/cross-country-skiing.png' sport.is_default = True db.session.add(sport) sport = Sport(label='Rowing') sport.img = '/img/sports/rowing.png' sport.is_default = True db.session.add(sport) db.session.commit() _, db_app_config = init_config() update_app_config_from_database(app, db_app_config) print('Initial data stored in database.')