yuvabe-dev / src /auth /feed_db_script.py
Hp137's picture
chore:merge leave and assets in profile
20d48af
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="[email protected]",
password=hash_password("Yuvabe"),
user_name="ragul",
dob=date(2001, 5, 21),
address="Chennai",
profile_picture="ragul.png",
),
Users(
email_id="[email protected]",
password=hash_password("Yuvabe"),
user_name="Shri",
dob=date(1999, 3, 14),
address="Chennai",
profile_picture="shri.png",
),
Users(
email_id="[email protected]",
password=hash_password("Yuvabe"),
user_name="Sathish",
dob=date(1998, 7, 10),
address="Chennai",
profile_picture="Sathish.png",
),
Users(
email_id="[email protected]",
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()