from app.factories.user_factory import UserFactory from app.models.user import User from app.models.user_profile import UserProfile from app.security import hash_password def seed_users(db, count: int = 5, tenant_ids: list[str] | None = None): result = [] for i in range(count): kwargs = {} if tenant_ids: kwargs["tenant_id"] = tenant_ids[i % len(tenant_ids)] user = UserFactory().create(db, **kwargs) profile = UserProfile( user_id=user.id, full_name="User Default", phone="081234567890", timezone="Asia/Jakarta", ) db.add(profile) result.append(user) admin = db.query(User).filter( (User.email == "project.pangestuyoga@gmail.com") | (User.username == "pangestu") ).first() if not admin: admin = User( email="project.pangestuyoga@gmail.com", username="pangestu", password=hash_password("Minimal8@"), status="ACTIVE", ) db.add(admin) db.flush() admin_profile = UserProfile( user_id=admin.id, full_name="Pangestu Yoga", phone="081234567890", timezone="Asia/Jakarta", ) db.add(admin_profile) else: admin.password = hash_password("Minimal8@") result.append(admin) return result