MCPcopy Create free account
hub / github.com/xerrors/Yuxi / seed_initial_users

Function seed_initial_users

backend/scripts/seed_initial_users.py:61–123  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

59
60
61async def seed_initial_users() -> None:
62 from yuxi.utils.auth_utils import AuthUtils
63 from yuxi.storage.postgres.manager import pg_manager
64 from yuxi.storage.postgres.models_business import Department, User
65 from yuxi.utils.datetime_utils import utc_now_naive
66
67 try:
68 pg_manager.initialize()
69 await pg_manager.create_business_tables()
70 await pg_manager.ensure_business_schema()
71
72 async with pg_manager.get_async_session_context() as session:
73 await ensure_uninitialized(session)
74
75 departments: dict[str, Department] = {}
76 for department_seed in DEPARTMENTS:
77 department = Department(
78 name=department_seed["name"],
79 description=department_seed["description"],
80 )
81 session.add(department)
82 departments[department_seed["prefix"]] = department
83
84 await session.flush()
85
86 users = [
87 User(
88 username=SUPERADMIN_NAME,
89 uid=SUPERADMIN_UID,
90 phone_number=SUPERADMIN_PHONE_NUMBER,
91 password_hash=AuthUtils.hash_password(SUPERADMIN_PASSWORD),
92 role="superadmin",
93 department_id=departments["dev"].id,
94 last_login=utc_now_naive(),
95 )
96 ]
97
98 for department_seed in DEPARTMENTS:
99 department = departments[department_seed["prefix"]]
100 for index in range(1, 3):
101 users.append(
102 User(
103 username=f"{department_seed['name']}管理员{index}",
104 uid=f"{department_seed['prefix']}_admin_{index}",
105 password_hash=AuthUtils.hash_password(DEFAULT_USER_PASSWORD),
106 role="admin",
107 department_id=department.id,
108 )
109 )
110 for index in range(1, department_seed["normal_count"] + 1):
111 users.append(
112 User(
113 username=f"{department_seed['name']}用户{index}",
114 uid=f"{department_seed['prefix']}_user_{index:02d}",
115 password_hash=AuthUtils.hash_password(DEFAULT_USER_PASSWORD),
116 role="user",
117 department_id=department.id,
118 )

Callers 1

mainFunction · 0.85

Calls 13

DepartmentClass · 0.90
UserClass · 0.90
utc_now_naiveFunction · 0.90
ensure_uninitializedFunction · 0.85
hash_passwordMethod · 0.80
appendMethod · 0.80
initializeMethod · 0.45
addMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected