48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
from lapp import create_app
|
|
import sqlalchemy as sa
|
|
from models import db, User, ListOfItems, Shared, Item, Group
|
|
from secrets_config import load_secrets
|
|
|
|
if __name__ == "__main__":
|
|
app = create_app()
|
|
app.app_context().push()
|
|
query = sa.select(User)
|
|
users = db.session.scalars(query).all()
|
|
if len(users) == 0:
|
|
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)
|
|
db.session.add(g)
|
|
g = Group(secret=user_group_secret)
|
|
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)
|
|
db.session.add(admin)
|
|
user1 = User(name="ignace", group_id=2, is_admin=False, is_approved=True)
|
|
user1.set_password(user_password)
|
|
db.session.add(user1)
|
|
db.session.commit()
|
|
|
|
print("Created initial credentials from instance/secrets.yaml")
|
|
|
|
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()
|