Added admin page
This commit is contained in:
@@ -20,7 +20,52 @@ class UserInfo(BaseModel):
|
||||
full_name: Optional[str] = None
|
||||
db_user_id: Optional[int] = None # Database user ID (populated after login)
|
||||
role: Optional[str] = None # User role name
|
||||
role_id: Optional[int] = None # User role ID (1=admin, 2=auditor, 3=user, etc.)
|
||||
role_id: Optional[int] = None # User role ID (1=editor, 2=auditor, 3=admin)
|
||||
|
||||
|
||||
# Role schemas
|
||||
ROLE_DISPLAY_NAMES = {
|
||||
"editor": "Editor",
|
||||
"auditor": "Auditor",
|
||||
"admin": "Project Admin"
|
||||
}
|
||||
|
||||
|
||||
class RoleResponse(BaseModel):
|
||||
"""Response schema for a role."""
|
||||
id: int
|
||||
role_name: str
|
||||
display_name: str
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
@classmethod
|
||||
def from_role(cls, role) -> "RoleResponse":
|
||||
"""Create a RoleResponse from a Role model."""
|
||||
return cls(
|
||||
id=role.id,
|
||||
role_name=role.role_name,
|
||||
display_name=ROLE_DISPLAY_NAMES.get(role.role_name, role.role_name.title())
|
||||
)
|
||||
|
||||
|
||||
class ProjectMemberResponse(BaseModel):
|
||||
"""Response schema for a project member with role info."""
|
||||
id: int
|
||||
sub: str
|
||||
role_id: int
|
||||
role_name: str
|
||||
role_display_name: str
|
||||
created_at: Optional[datetime] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class UserRoleUpdateRequest(BaseModel):
|
||||
"""Request schema for updating a user's role."""
|
||||
role_id: int
|
||||
|
||||
|
||||
# Project schemas
|
||||
@@ -215,6 +260,13 @@ class RelationshipTypeCreateRequest(BaseModel):
|
||||
inverse_type_name: Optional[str] = None
|
||||
|
||||
|
||||
class RelationshipTypeUpdateRequest(BaseModel):
|
||||
"""Request schema for updating a relationship type."""
|
||||
type_name: Optional[str] = None
|
||||
type_description: Optional[str] = None
|
||||
inverse_type_name: Optional[str] = None
|
||||
|
||||
|
||||
# Requirement Link schemas
|
||||
class LinkedRequirementInfo(BaseModel):
|
||||
"""Brief info about a linked requirement."""
|
||||
|
||||
Reference in New Issue
Block a user