示例#1
0
def login(
    email: str = Body(..., embed=True),
    password: str = Body(..., embed=True),
    account_service: AccountService = Depends(
        Provide[AppContainer.launcher.account_service]),
) -> PlainTextResponse:
    try:
        account_service.find(email=email, password=password)
        return PlainTextResponse(content=zlib.compress("OK".encode("utf8")))
    except NotFoundError:
        return PlainTextResponse(
            content=zlib.compress("FAILED".encode("utf8")))
示例#2
0
async def get_profile(
    email: str = Body(..., embed=True),
    password: str = Body(..., embed=True),
    account_service: AccountService = Depends(
        Provide[AppContainer.launcher.account_service]),
) -> Account:
    return account_service.find(email, password)
示例#3
0
def nickname_reserved(
    profile_id: str = Cookie(..., alias="PHPSESSID"),
    account_service: AccountService = Depends(
        Provide[AppContainer.launcher.account_service]),
) -> TarkovSuccessResponse[str]:
    account = account_service.get_account(profile_id)
    return TarkovSuccessResponse(data=account.nickname)
示例#4
0
def nickname_validate(
    nickname: str = Body(..., embed=True),
    account_service: AccountService = Depends(
        Provide[AppContainer.launcher.account_service]),
) -> Union[TarkovSuccessResponse, TarkovErrorResponse]:
    if len(nickname) < 3:
        return TarkovErrorResponse(errmsg="Nickname is too short", err=256)

    if account_service.is_nickname_taken(nickname):
        return TarkovErrorResponse(errmsg="Nickname is taken", err=255)

    return TarkovSuccessResponse(data={"status": "ok"})