Calendar + NLP modules implemented

This commit is contained in:
c-d-p
2025-04-17 11:25:21 +02:00
parent 18ddb2f332
commit 4f3946d1c3
36 changed files with 366 additions and 23 deletions

View File

@@ -13,7 +13,7 @@ from datetime import timedelta
from core.config import settings # Assuming settings is defined in core.config
from core.exceptions import unauthorized_exception
router = APIRouter()
router = APIRouter(prefix="/auth", tags=["auth"])
@router.post("/register", response_model=UserResponse, status_code=status.HTTP_201_CREATED)
def register(user: UserCreate, db: Annotated[Session, Depends(get_db)]):

View File

@@ -11,7 +11,7 @@ class RoleChecker:
def __call__(self, user: User = Depends(get_current_user)):
if user.role not in self.allowed_roles:
forbidden_exception("You do not have permission to perform this action.")
raise forbidden_exception("You do not have permission to perform this action.")
return user
admin_only = RoleChecker([UserRole.ADMIN])

View File

@@ -1,6 +1,7 @@
# modules/auth/models.py
from core.database import Base
from sqlalchemy import CheckConstraint, Column, Integer, String, Enum, DateTime
from sqlalchemy import Column, Integer, String, Enum, DateTime
from sqlalchemy.orm import relationship
from enum import Enum as PyEnum
class UserRole(str, PyEnum):
@@ -12,10 +13,11 @@ class User(Base):
id = Column(Integer, primary_key=True)
uuid = Column(String, unique=True)
username = Column(String, unique=True)
hashed_password = Column(String)
role = Column(Enum(UserRole), nullable=False, default=UserRole.USER)
name = Column(String)
role = Column(Enum(UserRole), nullable=False, default=UserRole.USER)
hashed_password = Column(String)
calendar_events = relationship("CalendarEvent", back_populates="user")
class TokenBlacklist(Base):
__tablename__ = "token_blacklist"