|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def seed_user_teams_roles(session: Session, users, teams, roles): |
|
|
mappings = [ |
|
|
|
|
|
UserTeamsRole( |
|
|
user_id=users[0].id, |
|
|
team_id=teams[0].id, |
|
|
role_id=roles[0].id, |
|
|
), |
|
|
|
|
|
UserTeamsRole( |
|
|
user_id=users[1].id, |
|
|
team_id=teams[0].id, |
|
|
role_id=roles[1].id, |
|
|
), |
|
|
|
|
|
UserTeamsRole( |
|
|
user_id=users[2].id, |
|
|
team_id=teams[1].id, |
|
|
role_id=roles[2].id, |
|
|
), |
|
|
|
|
|
UserTeamsRole( |
|
|
user_id=users[3].id, |
|
|
team_id=teams[1].id, |
|
|
role_id=roles[2].id, |
|
|
), |
|
|
] |
|
|
|
|
|
session.add_all(mappings) |
|
|
session.commit() |
|
|
print("User-Team-Role mappings added.") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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() |
|
|
|