Files
lapp/initialize_data.py
T

48 lines
1.9 KiB
Python
Raw Normal View History

2026-01-01 21:33:12 +01:00
from lapp import create_app
2026-01-01 21:07:34 +01:00
import sqlalchemy as sa
2026-05-14 20:51:01 +02:00
from models import db, User, ListOfItems, Shared, Item, Group
2026-07-19 09:58:27 +02:00
from secrets_config import load_secrets
2026-01-01 21:07:34 +01:00
if __name__ == "__main__":
app = create_app()
app.app_context().push()
query = sa.select(User)
users = db.session.scalars(query).all()
if len(users) == 0:
2026-07-19 09:58:27 +02:00
initial_data = load_secrets(app.instance_path)["initial_data"]
admin_group_secret = initial_data["admin_group"]
user_group_secret = initial_data["user_group"]
admin_password = initial_data["admin_password"]
user_password = initial_data["user_password"]
g = Group(secret=admin_group_secret)
2026-05-14 20:51:01 +02:00
db.session.add(g)
g = Group(secret=user_group_secret)
2026-05-14 20:51:01 +02:00
db.session.add(g)
admin = User(name="admin", group_id=1, is_admin=True, is_approved=True, is_private=True)
admin.set_password(admin_password)
2026-01-01 21:07:34 +01:00
db.session.add(admin)
2026-05-14 20:51:01 +02:00
user1 = User(name="ignace", group_id=2, is_admin=False, is_approved=True)
user1.set_password(user_password)
2026-01-01 21:07:34 +01:00
db.session.add(user1)
db.session.commit()
2026-07-19 09:58:27 +02:00
print("Created initial credentials from instance/secrets.yaml")
2026-01-01 21:07:34 +01:00
lol1 = ListOfItems(owner_user_id = user1.id, name="Supermarkt", is_active=True)
db.session.add(lol1)
lol2 = ListOfItems(owner_user_id = user1.id, name="Klusjes", is_active=True)
db.session.add(lol2)
db.session.commit()
item1 = Item(listofitems_id=lol1.id, label="Stokbrood")
item2 = Item(listofitems_id=lol1.id, label="Speltbroodje", category="Brood")
item3 = Item(listofitems_id=lol1.id, label="Boter", category="Zuivel", unit='x', quantity=1)
item4 = Item(listofitems_id=lol1.id, label="Notenbroodjes", is_checked=True)
db.session.add(item1)
db.session.add(item2)
db.session.add(item3)
db.session.add(item4)
db.session.commit()