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)