This commit is contained in:
2024-04-28 04:55:47 +03:00
parent 4e7626d2e6
commit c8a62b4952
10 changed files with 156 additions and 56 deletions

View File

@@ -8,6 +8,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from starlette import status
import backend.config
import constants
from backend.session import get_session
from models import User
from schemas.auth import *
@@ -46,6 +47,9 @@ class AuthService(BaseService):
return jwt.encode(payload, backend.config.SECRET_KEY, algorithm=algorithm)
async def authenticate(self, request: AuthLoginRequest):
if request.id not in constants.allowed_telegram_ids:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail='Invalid credentials')
user: Union[User, None] = await self.session.scalar(select(User).where(User.telegram_id == request.id))
if not user:
user = User(telegram_id=request.id,