Spaces:
Sleeping
Sleeping
| from trauma.api.account.dto import AccessToken | |
| from trauma.api.account.model import AccountModel | |
| from trauma.api.security import security_router | |
| from trauma.api.security.db_requests import authenticate_account, register_account | |
| from trauma.api.security.schemas import (LoginAccountResponse, | |
| LoginAccountWrapper, | |
| LoginAccountRequest, RegisterAccountRequest) | |
| from trauma.core.security import create_access_token | |
| from trauma.core.wrappers import TraumaResponseWrapper | |
| async def login(data: LoginAccountRequest) -> LoginAccountWrapper: | |
| account = await authenticate_account(data) | |
| access_token = create_access_token(account.email, str(account.id)) | |
| response = LoginAccountResponse( | |
| accessToken=AccessToken(value=access_token), | |
| account=account, | |
| ) | |
| return LoginAccountWrapper(data=response) | |
| async def register(data: RegisterAccountRequest) -> TraumaResponseWrapper[AccountModel]: | |
| account = await register_account(data) | |
| return TraumaResponseWrapper(data=account) | |