1
0
Fork 0
forked from sr2/cloud-api

minor: iam schema nomenclature

This commit is contained in:
Chris Milne 2026-05-28 13:37:32 +01:00
parent 7a0f43d34f
commit 9a1975c389
2 changed files with 27 additions and 27 deletions

View file

@ -2,7 +2,7 @@
Pydantic models for the IAM module
Models follow the nomenclature of:
- Sub-models: "<Resource>Response"
- Sub-models: "<Resource><Opt:>Schema"
- Mixins: "<Attribute>Mixin"
- Models: "<Module><Method><Resource><Opt:Resource><Direction>" ie "IAMGetGroupPermissionsResponse"
"""
@ -15,20 +15,20 @@ from src.schemas import CustomBaseModel
from user.schemas import UserIDMixin
class UserResponse(CustomBaseModel):
class UserSchema(CustomBaseModel):
id: int
first_name: str
last_name: str
email: EmailStr
class PermissionResponse(CustomBaseModel):
class PermissionSchema(CustomBaseModel):
model_config = ConfigDict(from_attributes=True, extra="ignore")
service_name: str
resource: str
action: str
class GroupResponse(CustomBaseModel):
class GroupSchema(CustomBaseModel):
id: int
name: str
@ -39,47 +39,47 @@ class PermIDMixin(CustomBaseModel):
permission_id: int
class IAMGetGroupPermissionsResponse(CustomBaseModel):
permissions: list[PermissionResponse]
permissions: list[PermissionSchema]
class IAMGetGroupUsersResponse(CustomBaseModel):
users : list[UserResponse]
users : list[UserSchema]
class IAMPostGroupRequest(OrgIDMixin):
name: str
class IAMPostGroupResponse(CustomBaseModel):
group: GroupResponse
group: GroupSchema
class IAMPutGroupPermissionRequest(GroupIDMixin, PermIDMixin):
pass
class IAMPutGroupPermissionResponse(CustomBaseModel):
group: GroupResponse
permissions: list[PermissionResponse]
group: GroupSchema
permissions: list[PermissionSchema]
class IAMPutGroupUserRequest(GroupIDMixin, UserIDMixin):
pass
class IAMPutGroupUserResponse(CustomBaseModel):
group: GroupResponse
users: list[UserResponse]
group: GroupSchema
users: list[UserSchema]
class IAMDeleteGroupPermissionRequest(GroupIDMixin, PermIDMixin):
pass
class IAMDeleteGroupPermissionResponse(CustomBaseModel):
group: GroupResponse
permissions: list[PermissionResponse]
group: GroupSchema
permissions: list[PermissionSchema]
class IAMDeleteGroupUserRequest(GroupIDMixin, UserIDMixin):
pass
class IAMDeleteGroupUserResponse(CustomBaseModel):
group: GroupResponse
users: list[UserResponse]
group: GroupSchema
users: list[UserSchema]
class IAMGetPermissionsResponse(CustomBaseModel):
permissions: list[PermissionResponse]
permissions: list[PermissionSchema]
class IAMPostPermissionRequest(CustomBaseModel):
service_id: int
@ -87,7 +87,7 @@ class IAMPostPermissionRequest(CustomBaseModel):
action: str
class IAMPostPermissionResponse(CustomBaseModel):
permission: PermissionResponse
permission: PermissionSchema
class IAMDeletePermissionRequest(PermIDMixin):
pass
@ -98,4 +98,4 @@ class IAMGetPermissionsSearchRequest(CustomBaseModel):
action: Optional[str] = None
class IAMGetPermissionsSearchResponse(CustomBaseModel):
permissions: list[PermissionResponse]
permissions: list[PermissionSchema]