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")))
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)
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)
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"})