File size: 3,862 Bytes
c0f9c82 |
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 134 135 136 137 138 139 140 141 142 143 144 145 |
from datetime import date
from sqlmodel import Session
from src.core.database import engine
from src.core.models import Assets, EmotionLogs, Roles, Teams, Users, UserTeamsRole
from src.feed.models import Comments, Likes, Posts
def seed_users(session: Session):
users = [
Users(
email_id="[email protected]",
password="hashed_pass1",
user_name="Tilak",
dob=date(2001, 5, 21),
address="Chennai",
profile_picture="tilak.png",
),
Users(
email_id="[email protected]",
password="hashed_pass2",
user_name="Arun",
dob=date(2000, 8, 15),
address="Bangalore",
profile_picture="arun.png",
),
]
session.add_all(users)
session.commit()
print("Users added.")
return users
def seed_teams(session: Session):
teams = [
Teams(name="Development"),
Teams(name="Marketing"),
Teams(name="Design"),
]
session.add_all(teams)
session.commit()
print("Teams added.")
return teams
def seed_roles(session: Session):
roles = [
Roles(name="Admin"),
Roles(name="Member"),
Roles(name="Lead"),
]
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[1].id, role_id=roles[1].id),
]
session.add_all(mappings)
session.commit()
print("User-Team-Role mappings added.")
def seed_assets(session: Session, users):
assets = [
Assets(user_id=users[0].id, name="MacBook Pro", type="Laptop"),
Assets(user_id=users[1].id, name="Dell Monitor", type="Monitor"),
]
session.add_all(assets)
session.commit()
print("Assets added.")
return assets
def seed_emotion_logs(session: Session, users):
logs = [
EmotionLogs(user_id=users[0].id, morning_emotion=8, evening_emotion=6),
EmotionLogs(user_id=users[1].id, morning_emotion=7, evening_emotion=8),
]
session.add_all(logs)
session.commit()
print("Emotion logs added.")
def seed_posts(session: Session, users):
posts = [
Posts(
user_id=users[0].id,
caption="New sprint kickoff!",
image="sprint.png",
),
Posts(
user_id=users[1].id,
caption="Design updates rolling out soon!",
image="design.png",
),
]
session.add_all(posts)
session.commit()
print("Posts added.")
return posts
def seed_likes(session: Session, users, posts):
likes = [
Likes(user_id=users[0].id, post_id=posts[1].id),
Likes(user_id=users[1].id, post_id=posts[0].id),
]
session.add_all(likes)
session.commit()
print("Likes added.")
def seed_comments(session: Session, users, posts):
comments = [
Comments(user_id=users[0].id, post_id=posts[1].id, comment="Looks great!"),
Comments(user_id=users[1].id, post_id=posts[0].id, comment="Can’t wait!"),
]
session.add_all(comments)
session.commit()
print("Comments 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)
seed_assets(session, users)
seed_emotion_logs(session, users)
posts = seed_posts(session, users)
seed_likes(session, users, posts)
seed_comments(session, users, posts)
print("All data seeded successfully!")
if __name__ == "__main__":
run_all_seeds()
|