47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
from server.backend.schema.pydantic import settings
|
|
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__":
|
|
uvicorn.run(
|
|
"server.backend.endpoints.endpoints:api",
|
|
host="0.0.0.0",
|
|
port=settings.PORT,
|
|
reload=True,
|
|
log_level=log_level,
|
|
access_log=True
|
|
)
|
|
import argparse
|
|
parser = argparse.ArgumentParser(description="logging and admin creation")
|
|
parser.add_argument(
|
|
"--mode",
|
|
choices=["debug","info"],
|
|
default="info",
|
|
help="Режим логирования (по умолчанию: info)"
|
|
)
|
|
parser.add_argument(
|
|
"--user_name",
|
|
type=str,
|
|
required=True,
|
|
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()
|
|
label = any(u.admin for u in users)
|
|
if not label:
|
|
await create_user(UserCreate(**admin_user))
|
|
match args.mode:
|
|
case "debug" | "info":
|
|
print("Режим:", args.mode)
|
|
start(args.mode)
|
|
asyncio.run(arguments(args))
|