SumakaClone / backend /scripts /bootstrap_admin.py
raghava0450's picture
Deploy SumakaClone Space configuration
92d8b0d verified
Raw
History Blame Contribute Delete
1.03 kB
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())