mp_message/core/services/auth/services.py

20 lines
708 B
Python
Raw Normal View History

import datetime
from config import Config
from core.models.auth.responses import LoginResponse
from core.models.message.db import MPProfile
from core.storage import auth_storage
from core.errors.errors import incorrect_login
import jwt
class Service:
async def login_user(self, username: str) -> LoginResponse:
user = await auth_storage.get_user(external_id=int(username))
if not user:
incorrect_login()
token = jwt.encode({'user_id': user.id,
"exp": (datetime.datetime.now() + datetime.timedelta(minutes=Config.token_lifetime)).timestamp()},
Config.secret, algorithm='HS256')
return LoginResponse(access_token=token)