Spaces:
Paused
Paused
| 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()) | |