-
Notifications
You must be signed in to change notification settings - Fork 6
/
createsuperuser.py
49 lines (38 loc) · 1.79 KB
/
createsuperuser.py
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
37
38
39
40
41
42
43
44
45
46
47
48
49
import asyncio
from typer import Option, Typer
from commands.createuser.createadminrepository import create_user
from commands.createuser.registeradmindto import CLICreateAdminDTO
from src.apps.user.entity import UserEntity
app = Typer()
@app.command()
def hello(name: str):
print(f"Hello {name}")
@app.command(help="Create a new admin user")
def createsuperuser(
name: str = Option(default="Roma", help="Имя пользователя"),
surname: str = Option(default="Zhopa", help="Фамилия пользователя"),
email: str = Option(..., help="Email адрес пользователя"),
password: str = Option(..., prompt="Пароль пользователя", hide_input=True),
name_telegram: str = Option(default="@Romazhopa", help="Имя пользователя в Telegram"),
nick_telegram: str = Option(default="Andrey228", help="Никнейм пользователя в Telegram"),
nick_google_meet: str = Option(default="kotenokV1", help="Никнейм пользователя в Google Meet"),
nick_gitlab: str = Option(default="GitLabAdmin", help="Никнейм пользователя в GitLab"),
nick_github: str = Option(default="GitHubAdmin", help="Никнейм пользователя в GitHub"),
):
dto = CLICreateAdminDTO(
name=name,
surname=surname,
email=email,
password=password,
name_telegram=name_telegram,
nick_telegram=nick_telegram,
nick_google_meet=nick_google_meet,
nick_gitlab=nick_gitlab,
nick_github=nick_github,
)
registration_data = dto.model_dump()
registration_data["is_admin"] = True
user_entity = UserEntity(**registration_data)
asyncio.run(create_user(user_data=user_entity))
if __name__ == "__main__":
app()