feat: schema mixins moved to project level

Resolves circular dependency issues.
This commit is contained in:
Chris Milne 2026-06-09 13:17:31 +01:00
parent e9fe405e06
commit 4ff9edf6d1
6 changed files with 38 additions and 43 deletions

View file

@ -15,7 +15,7 @@ from src.user.models import User
from src.auth.service import claims_dependency
from src.database import db_dependency
from src.user.schemas import UserIDMixin
from src.schemas import UserIDMixin
async def get_user_model_claims(claims: claims_dependency, db: db_dependency):

View file

@ -3,13 +3,9 @@ Pydantic models for the user module
"""
from typing import Optional
from pydantic import Field, EmailStr
from pydantic import EmailStr
from src.schemas import CustomBaseModel
class UserIDMixin(CustomBaseModel):
user_id: int = Field(gt=0)
from src.schemas import CustomBaseModel, OrgIDMixin
class OIDCClaims(CustomBaseModel):
@ -52,13 +48,7 @@ class UserResponse(CustomBaseModel):
groups: Optional[dict[str, list[dict[str, str | int]]]] = None
class OrgResponse(CustomBaseModel):
org_id: int
name: str
class UserPostInvitationRequest(CustomBaseModel):
organisation_id: int
class UserPostInvitationRequest(OrgIDMixin):
user_email: EmailStr