Spaces:
Sleeping
Sleeping
| from src.auth.utils import hash_password | |
| from datetime import date | |
| from sqlmodel import Session | |
| from src.core.database import engine | |
| from src.core.models import Users, Teams, Roles, UserTeamsRole | |
| # ------------------------ | |
| # 1. Seed Users | |
| # ------------------------ | |
| def seed_users(session: Session): | |
| users = [ | |
| Users( | |
| email_id="ragul@yuvabe.com", | |
| password=hash_password("Yuvabe"), | |
| user_name="ragul", | |
| dob=date(2001, 5, 21), | |
| address="Chennai", | |
| profile_picture="ragul.png", | |
| ), | |
| Users( | |
| email_id="shri@yuvabe.com", | |
| password=hash_password("Yuvabe"), | |
| user_name="Shri", | |
| dob=date(1999, 3, 14), | |
| address="Chennai", | |
| profile_picture="shri.png", | |
| ), | |
| Users( | |
| email_id="hryuva@yuvabe.com", | |
| password=hash_password("Yuvabe"), | |
| user_name="Sathish", | |
| dob=date(1998, 7, 10), | |
| address="Chennai", | |
| profile_picture="Sathish.png", | |
| ), | |
| Users( | |
| email_id="hr2@yuvabe.com", | |
| password=hash_password("Yuvabe"), | |
| user_name="Deepika", | |
| dob=date(1997, 2, 5), | |
| address="Chennai", | |
| profile_picture="deepika.png", | |
| ), | |
| ] | |
| session.add_all(users) | |
| session.commit() | |
| print("Users added.") | |
| return users | |
| # ------------------------ | |
| # 2. Seed Teams | |
| # ------------------------ | |
| def seed_teams(session: Session): | |
| teams = [ | |
| Teams(name="Tech Team"), | |
| Teams(name="HR Team"), | |
| ] | |
| session.add_all(teams) | |
| session.commit() | |
| print("Teams added.") | |
| return teams | |
| # ------------------------ | |
| # 3. Seed Roles | |
| # ------------------------ | |
| def seed_roles(session: Session): | |
| roles = [ | |
| Roles(name="Developer"), | |
| Roles(name="Team Lead"), | |
| Roles(name="HR Manager"), | |
| ] | |
| session.add_all(roles) | |
| session.commit() | |
| print("Roles added.") | |
| return roles | |
| # ------------------------ | |
| # 4. Map Users → Teams → Roles | |
| # ------------------------ | |
| def seed_user_teams_roles(session: Session, users, teams, roles): | |
| mappings = [ | |
| # Hari → Tech Team → Developer | |
| UserTeamsRole( | |
| user_id=users[0].id, # Hari | |
| team_id=teams[0].id, # Tech Team | |
| role_id=roles[0].id, # Developer | |
| ), | |
| # Shri → Tech Team → Team Lead | |
| UserTeamsRole( | |
| user_id=users[1].id, # Shri | |
| team_id=teams[0].id, # Tech Team | |
| role_id=roles[1].id, # Team Lead | |
| ), | |
| # HR Keerthana | |
| UserTeamsRole( | |
| user_id=users[2].id, # Keerthana | |
| team_id=teams[1].id, # HR Team | |
| role_id=roles[2].id, # HR Manager | |
| ), | |
| # HR Deepika | |
| UserTeamsRole( | |
| user_id=users[3].id, # Deepika | |
| team_id=teams[1].id, # HR Team | |
| role_id=roles[2].id, # HR Manager | |
| ), | |
| ] | |
| session.add_all(mappings) | |
| session.commit() | |
| print("User-Team-Role mappings added.") | |
| # ------------------------ | |
| # 5. Master Runner | |
| # ------------------------ | |
| def run_all_seeds(): | |
| with Session(engine) as session: | |
| users = seed_users(session) | |
| teams = seed_teams(session) | |
| roles = seed_roles(session) | |
| seed_user_teams_roles(session, users, teams, roles) | |
| print("All data seeded successfully!") | |
| if __name__ == "__main__": | |
| run_all_seeds() | |