1
0
Fork 0
forked from sr2/cloud-api

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

@ -3,7 +3,6 @@ Pydantic models for the IAM module
Models follow the nomenclature of:
- Sub-models: "<Resource><Opt:>Schema"
- Mixins: "<Attribute>Mixin"
- Models: "<Module><Method><Resource><Opt:Resource><Direction>" ie "IAMGetGroupPermissionsResponse"
"""
@ -11,10 +10,14 @@ from typing import Optional, Annotated
from pydantic import EmailStr, ConfigDict, Field
from src.service.schemas import ServiceIDMixin
from src.organisation.schemas import OrgIDMixin
from src.schemas import CustomBaseModel
from src.user.schemas import UserIDMixin
from src.schemas import (
CustomBaseModel,
ServiceIDMixin,
OrgIDMixin,
UserIDMixin,
PermIDMixin,
GroupIDMixin,
)
class UserSchema(CustomBaseModel):
@ -39,14 +42,6 @@ class GroupSchema(CustomBaseModel):
name: str
class GroupIDMixin(CustomBaseModel):
group_id: int = Field(gt=0)
class PermIDMixin(CustomBaseModel):
permission_id: int = Field(gt=0)
class IAMGetGroupPermissionsResponse(CustomBaseModel):
permissions: list[PermissionSchema]