Spaces:
Paused
Paused
File size: 1,031 Bytes
92d8b0d | 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 | from __future__ import annotations
import argparse
import asyncio
from app.configs.settings import get_settings
from app.services.container import AppContainer
async def main() -> None:
parser = argparse.ArgumentParser(description="Create the first SumakaClone admin user.")
parser.add_argument("--username", required=True)
parser.add_argument("--password", required=True)
parser.add_argument("--email", required=False)
args = parser.parse_args()
settings = get_settings()
container = AppContainer(settings)
await container.startup()
try:
if container.services is None:
raise RuntimeError("Services not initialized.")
admin = await container.services.auth.create_admin_user(
username=args.username,
password=args.password,
email=args.email,
)
print(f"Created admin user {admin.username} with ID {admin.id}")
finally:
await container.shutdown()
if __name__ == "__main__":
asyncio.run(main())
|