초기 커밋

This commit is contained in:
2026-03-01 07:44:19 +09:00
commit 09359f30be
146 changed files with 6120 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
"""Create a superuser account."""
from __future__ import annotations
import asyncio
import sys
from app.core.constants import Role
from app.core.security import hash_password
from app.db.mariadb import AsyncSessionLocal, async_engine
from app.models.mariadb.user import User, UserProfile
async def create_superuser(email: str, password: str, full_name: str = "Super Admin") -> None:
async with AsyncSessionLocal() as session:
user = User(
email=email,
hashed_password=hash_password(password),
role=Role.SUPERADMIN,
is_active=True,
is_verified=True,
)
session.add(user)
await session.flush()
profile = UserProfile(
user_id=user.id,
full_name=full_name,
)
session.add(profile)
await session.commit()
await async_engine.dispose()
print(f"Superuser '{email}' created successfully!")
if __name__ == "__main__":
if len(sys.argv) < 3:
print("Usage: python -m scripts.create_superuser <email> <password> [full_name]")
sys.exit(1)
email = sys.argv[1]
password = sys.argv[2]
name = sys.argv[3] if len(sys.argv) > 3 else "Super Admin"
asyncio.run(create_superuser(email, password, name))