run remake
This commit is contained in:
51
run.py
51
run.py
@@ -1,10 +1,24 @@
|
||||
from server.backend.schema.pydantic import settings
|
||||
from server.backend.schema.pydantic import settings, UserCreate
|
||||
from server.backend.database.db import create_user, list_users
|
||||
from server.backend.schema.pydantic import UserCreate
|
||||
import asyncio
|
||||
import uvicorn
|
||||
def start(log_level:str):
|
||||
if __name__ == "__main__":
|
||||
import asyncio
|
||||
import argparse
|
||||
|
||||
async def init_admin(user_name: str):
|
||||
admin_user = {
|
||||
"code": "123456",
|
||||
"name": user_name,
|
||||
"surname": user_name,
|
||||
"admin": True
|
||||
}
|
||||
|
||||
users = await list_users() or []
|
||||
label = any(u.admin for u in users)
|
||||
|
||||
if not label:
|
||||
await create_user(UserCreate(**admin_user))
|
||||
|
||||
def start(log_level: str):
|
||||
uvicorn.run(
|
||||
"server.backend.endpoints.endpoints:api",
|
||||
host="0.0.0.0",
|
||||
@@ -13,34 +27,25 @@ def start(log_level:str):
|
||||
log_level=log_level,
|
||||
access_log=True
|
||||
)
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description="logging and admin creation")
|
||||
parser.add_argument(
|
||||
"--mode",
|
||||
choices=["debug","info"],
|
||||
choices=["debug", "info"],
|
||||
default="info",
|
||||
help="Режим логирования (по умолчанию: info)"
|
||||
help="Режим логирования"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--user_name",
|
||||
type=str,
|
||||
required=True,
|
||||
help="Создание первого пользователя)"
|
||||
help="Создание первого пользователя"
|
||||
)
|
||||
args = parser.parse_args()
|
||||
async def arguments(args):
|
||||
admin_user = {
|
||||
"code": "123456",
|
||||
"name": args.user_name,
|
||||
"surname": args.user_name,
|
||||
"admin": True
|
||||
}
|
||||
users = await list_users() or []
|
||||
label = any(u.admin for u in users)
|
||||
if not label:
|
||||
await create_user(UserCreate(**admin_user))
|
||||
match args.mode:
|
||||
case "debug" | "info":
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(init_admin(args.user_name))
|
||||
|
||||
print("Режим:", args.mode)
|
||||
|
||||
start(args.mode)
|
||||
asyncio.run(arguments(args))
|
||||
|
||||
Reference in New Issue
Block a user