minor: iam schema nomenclature
This commit is contained in:
parent
7a0f43d34f
commit
9a1975c389
2 changed files with 27 additions and 27 deletions
|
|
@ -35,10 +35,10 @@ from src.iam.service import service_key_dependency
|
||||||
from src.iam.models import Permission as Perm, GroupPermissions as GPerms, Group, UserGroups
|
from src.iam.models import Permission as Perm, GroupPermissions as GPerms, Group, UserGroups
|
||||||
from src.iam.dependencies import group_model_query_dependency, group_model_body_dependency, perm_model_body_dependency
|
from src.iam.dependencies import group_model_query_dependency, group_model_body_dependency, perm_model_body_dependency
|
||||||
from src.iam.schemas import IAMGetGroupPermissionsResponse, IAMGetGroupUsersResponse, IAMPostGroupRequest, \
|
from src.iam.schemas import IAMGetGroupPermissionsResponse, IAMGetGroupUsersResponse, IAMPostGroupRequest, \
|
||||||
GroupResponse, IAMPostGroupResponse, IAMPutGroupPermissionRequest, IAMPutGroupPermissionResponse, \
|
GroupSchema, IAMPostGroupResponse, IAMPutGroupPermissionRequest, IAMPutGroupPermissionResponse, \
|
||||||
IAMPutGroupUserRequest, IAMPutGroupUserResponse, IAMDeleteGroupPermissionRequest, IAMDeleteGroupPermissionResponse, \
|
IAMPutGroupUserRequest, IAMPutGroupUserResponse, IAMDeleteGroupPermissionRequest, IAMDeleteGroupPermissionResponse, \
|
||||||
IAMDeleteGroupUserRequest, IAMDeleteGroupUserResponse, IAMGetPermissionsResponse, IAMPostPermissionRequest, \
|
IAMDeleteGroupUserRequest, IAMDeleteGroupUserResponse, IAMGetPermissionsResponse, IAMPostPermissionRequest, \
|
||||||
IAMPostPermissionResponse, PermissionResponse, IAMDeletePermissionRequest, IAMGetPermissionsSearchRequest, IAMGetPermissionsSearchResponse
|
IAMPostPermissionResponse, PermissionSchema, IAMDeletePermissionRequest, IAMGetPermissionsSearchRequest, IAMGetPermissionsSearchResponse
|
||||||
|
|
||||||
router = APIRouter(
|
router = APIRouter(
|
||||||
tags=["IAM"],
|
tags=["IAM"],
|
||||||
|
|
@ -101,7 +101,7 @@ async def create_group(db: db_dependency, org_model: org_model_root_claim_body_d
|
||||||
except IntegrityError as e:
|
except IntegrityError as e:
|
||||||
if isinstance(e.orig, errors.UniqueViolation):
|
if isinstance(e.orig, errors.UniqueViolation):
|
||||||
raise Conflict("Group with this name already exists")
|
raise Conflict("Group with this name already exists")
|
||||||
response = GroupResponse(**group_model.__dict__)
|
response = GroupSchema(**group_model.__dict__)
|
||||||
db.commit()
|
db.commit()
|
||||||
return {"group": response}
|
return {"group": response}
|
||||||
|
|
||||||
|
|
@ -117,7 +117,7 @@ async def add_group_permission(db: db_dependency, group_model: group_model_body_
|
||||||
group_model.permission_rel.append(perm_model)
|
group_model.permission_rel.append(perm_model)
|
||||||
|
|
||||||
db.flush()
|
db.flush()
|
||||||
response = IAMPutGroupPermissionResponse(group=GroupResponse(**group_model.__dict__), permissions=group_model.permission_rel)
|
response = IAMPutGroupPermissionResponse(group=GroupSchema(**group_model.__dict__), permissions=group_model.permission_rel)
|
||||||
db.commit()
|
db.commit()
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
@ -132,7 +132,7 @@ async def add_group_user(db: db_dependency, group_model: group_model_body_depend
|
||||||
|
|
||||||
group_model.user_rel.append(user_model)
|
group_model.user_rel.append(user_model)
|
||||||
db.flush()
|
db.flush()
|
||||||
response = IAMPutGroupUserResponse(group=GroupResponse(**group_model.__dict__), users=group_model.user_rel)
|
response = IAMPutGroupUserResponse(group=GroupSchema(**group_model.__dict__), users=group_model.user_rel)
|
||||||
db.commit()
|
db.commit()
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
@ -144,7 +144,7 @@ async def remove_group_permissions(db: db_dependency, group_model: group_model_b
|
||||||
|
|
||||||
group_model.permission_rel.remove(perm_model)
|
group_model.permission_rel.remove(perm_model)
|
||||||
db.flush()
|
db.flush()
|
||||||
response = IAMDeleteGroupPermissionResponse(group=GroupResponse(**group_model.__dict__),
|
response = IAMDeleteGroupPermissionResponse(group=GroupSchema(**group_model.__dict__),
|
||||||
permissions=group_model.permission_rel)
|
permissions=group_model.permission_rel)
|
||||||
db.commit()
|
db.commit()
|
||||||
return response
|
return response
|
||||||
|
|
@ -157,7 +157,7 @@ async def remove_group_user(db: db_dependency, group_model: group_model_body_dep
|
||||||
|
|
||||||
user_model.group_rel.remove(group_model)
|
user_model.group_rel.remove(group_model)
|
||||||
db.flush()
|
db.flush()
|
||||||
response = IAMDeleteGroupUserResponse(group=GroupResponse(**group_model.__dict__), users=group_model.user_rel)
|
response = IAMDeleteGroupUserResponse(group=GroupSchema(**group_model.__dict__), users=group_model.user_rel)
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
@ -179,7 +179,7 @@ async def create_new_permission(db: db_dependency, su: super_admin_dependency, r
|
||||||
if isinstance(e.orig, errors.UniqueViolation):
|
if isinstance(e.orig, errors.UniqueViolation):
|
||||||
raise Conflict(message="Permission already exists")
|
raise Conflict(message="Permission already exists")
|
||||||
db.flush()
|
db.flush()
|
||||||
response = IAMPostPermissionResponse(permission=PermissionResponse(**perm_model.__dict__))
|
response = IAMPostPermissionResponse(permission=PermissionSchema(**perm_model.__dict__))
|
||||||
db.commit()
|
db.commit()
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
Pydantic models for the IAM module
|
Pydantic models for the IAM module
|
||||||
|
|
||||||
Models follow the nomenclature of:
|
Models follow the nomenclature of:
|
||||||
- Sub-models: "<Resource>Response"
|
- Sub-models: "<Resource><Opt:>Schema"
|
||||||
- Mixins: "<Attribute>Mixin"
|
- Mixins: "<Attribute>Mixin"
|
||||||
- Models: "<Module><Method><Resource><Opt:Resource><Direction>" ie "IAMGetGroupPermissionsResponse"
|
- Models: "<Module><Method><Resource><Opt:Resource><Direction>" ie "IAMGetGroupPermissionsResponse"
|
||||||
"""
|
"""
|
||||||
|
|
@ -15,20 +15,20 @@ from src.schemas import CustomBaseModel
|
||||||
from user.schemas import UserIDMixin
|
from user.schemas import UserIDMixin
|
||||||
|
|
||||||
|
|
||||||
class UserResponse(CustomBaseModel):
|
class UserSchema(CustomBaseModel):
|
||||||
id: int
|
id: int
|
||||||
first_name: str
|
first_name: str
|
||||||
last_name: str
|
last_name: str
|
||||||
email: EmailStr
|
email: EmailStr
|
||||||
|
|
||||||
class PermissionResponse(CustomBaseModel):
|
class PermissionSchema(CustomBaseModel):
|
||||||
model_config = ConfigDict(from_attributes=True, extra="ignore")
|
model_config = ConfigDict(from_attributes=True, extra="ignore")
|
||||||
|
|
||||||
service_name: str
|
service_name: str
|
||||||
resource: str
|
resource: str
|
||||||
action: str
|
action: str
|
||||||
|
|
||||||
class GroupResponse(CustomBaseModel):
|
class GroupSchema(CustomBaseModel):
|
||||||
id: int
|
id: int
|
||||||
name: str
|
name: str
|
||||||
|
|
||||||
|
|
@ -39,47 +39,47 @@ class PermIDMixin(CustomBaseModel):
|
||||||
permission_id: int
|
permission_id: int
|
||||||
|
|
||||||
class IAMGetGroupPermissionsResponse(CustomBaseModel):
|
class IAMGetGroupPermissionsResponse(CustomBaseModel):
|
||||||
permissions: list[PermissionResponse]
|
permissions: list[PermissionSchema]
|
||||||
|
|
||||||
class IAMGetGroupUsersResponse(CustomBaseModel):
|
class IAMGetGroupUsersResponse(CustomBaseModel):
|
||||||
users : list[UserResponse]
|
users : list[UserSchema]
|
||||||
|
|
||||||
class IAMPostGroupRequest(OrgIDMixin):
|
class IAMPostGroupRequest(OrgIDMixin):
|
||||||
name: str
|
name: str
|
||||||
|
|
||||||
class IAMPostGroupResponse(CustomBaseModel):
|
class IAMPostGroupResponse(CustomBaseModel):
|
||||||
group: GroupResponse
|
group: GroupSchema
|
||||||
|
|
||||||
class IAMPutGroupPermissionRequest(GroupIDMixin, PermIDMixin):
|
class IAMPutGroupPermissionRequest(GroupIDMixin, PermIDMixin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class IAMPutGroupPermissionResponse(CustomBaseModel):
|
class IAMPutGroupPermissionResponse(CustomBaseModel):
|
||||||
group: GroupResponse
|
group: GroupSchema
|
||||||
permissions: list[PermissionResponse]
|
permissions: list[PermissionSchema]
|
||||||
|
|
||||||
class IAMPutGroupUserRequest(GroupIDMixin, UserIDMixin):
|
class IAMPutGroupUserRequest(GroupIDMixin, UserIDMixin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class IAMPutGroupUserResponse(CustomBaseModel):
|
class IAMPutGroupUserResponse(CustomBaseModel):
|
||||||
group: GroupResponse
|
group: GroupSchema
|
||||||
users: list[UserResponse]
|
users: list[UserSchema]
|
||||||
|
|
||||||
class IAMDeleteGroupPermissionRequest(GroupIDMixin, PermIDMixin):
|
class IAMDeleteGroupPermissionRequest(GroupIDMixin, PermIDMixin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class IAMDeleteGroupPermissionResponse(CustomBaseModel):
|
class IAMDeleteGroupPermissionResponse(CustomBaseModel):
|
||||||
group: GroupResponse
|
group: GroupSchema
|
||||||
permissions: list[PermissionResponse]
|
permissions: list[PermissionSchema]
|
||||||
|
|
||||||
class IAMDeleteGroupUserRequest(GroupIDMixin, UserIDMixin):
|
class IAMDeleteGroupUserRequest(GroupIDMixin, UserIDMixin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
class IAMDeleteGroupUserResponse(CustomBaseModel):
|
class IAMDeleteGroupUserResponse(CustomBaseModel):
|
||||||
group: GroupResponse
|
group: GroupSchema
|
||||||
users: list[UserResponse]
|
users: list[UserSchema]
|
||||||
|
|
||||||
class IAMGetPermissionsResponse(CustomBaseModel):
|
class IAMGetPermissionsResponse(CustomBaseModel):
|
||||||
permissions: list[PermissionResponse]
|
permissions: list[PermissionSchema]
|
||||||
|
|
||||||
class IAMPostPermissionRequest(CustomBaseModel):
|
class IAMPostPermissionRequest(CustomBaseModel):
|
||||||
service_id: int
|
service_id: int
|
||||||
|
|
@ -87,7 +87,7 @@ class IAMPostPermissionRequest(CustomBaseModel):
|
||||||
action: str
|
action: str
|
||||||
|
|
||||||
class IAMPostPermissionResponse(CustomBaseModel):
|
class IAMPostPermissionResponse(CustomBaseModel):
|
||||||
permission: PermissionResponse
|
permission: PermissionSchema
|
||||||
|
|
||||||
class IAMDeletePermissionRequest(PermIDMixin):
|
class IAMDeletePermissionRequest(PermIDMixin):
|
||||||
pass
|
pass
|
||||||
|
|
@ -98,4 +98,4 @@ class IAMGetPermissionsSearchRequest(CustomBaseModel):
|
||||||
action: Optional[str] = None
|
action: Optional[str] = None
|
||||||
|
|
||||||
class IAMGetPermissionsSearchResponse(CustomBaseModel):
|
class IAMGetPermissionsSearchResponse(CustomBaseModel):
|
||||||
permissions: list[PermissionResponse]
|
permissions: list[PermissionSchema]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue