Spaces:
Sleeping
Sleeping
File size: 3,497 Bytes
66536b4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
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()
|