This commit is contained in:
Iliyan Angelov
2025-12-01 15:34:45 +02:00
parent 49181cf48c
commit f7d6f24e49
28 changed files with 2121 additions and 832 deletions

View File

@@ -0,0 +1,59 @@
#!/usr/bin/env python3
"""
Script to add the 'housekeeping' role to the database.
Run this script once to create the housekeeping role if it doesn't exist.
"""
import sys
import os
from pathlib import Path
# Add the Backend directory to the path
backend_dir = Path(__file__).parent.parent
sys.path.insert(0, str(backend_dir))
from src.shared.config.database import SessionLocal
from src.models import Role # Use the models __init__ which handles all imports
def add_housekeeping_role():
"""Add the housekeeping role to the database if it doesn't exist."""
db = SessionLocal()
try:
# Check if housekeeping role already exists
existing_role = db.query(Role).filter(Role.name == 'housekeeping').first()
if existing_role:
print("✓ Housekeeping role already exists in the database.")
print(f" Role ID: {existing_role.id}")
print(f" Role Name: {existing_role.name}")
return
# Create the housekeeping role
housekeeping_role = Role(
name='housekeeping',
description='Housekeeping staff role with access to room cleaning tasks and status updates'
)
db.add(housekeeping_role)
db.commit()
db.refresh(housekeeping_role)
print("✓ Housekeeping role created successfully!")
print(f" Role ID: {housekeeping_role.id}")
print(f" Role Name: {housekeeping_role.name}")
print(f" Description: {housekeeping_role.description}")
except Exception as e:
db.rollback()
print(f"✗ Error creating housekeeping role: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
finally:
db.close()
if __name__ == '__main__':
print("Adding housekeeping role to the database...")
print("=" * 60)
add_housekeeping_role()
print("=" * 60)
print("Done!")