Create a new permission.
Creates a permission linking a role to a collection with CRUD rules. Only superadmins can create permissions.
Args: request: Permission creation request. current_user: Authenticated superadmin user. session: Database session.
Returns: Created permission.
Request schema for creating a permission.
Attributes: role_id: ID of the role this permission applies to. collection: Collection name (* for all collections). rules: CRUD operation rules.
Schema for CRUD operation rules.
Each operation is optional - if None, that operation is not permitted.
Attributes: create: Rule for create operations. read: Rule for read operations. update: Rule for update operations. delete: Rule for delete operations.
Successful Response
Response schema for a permission.
Attributes: id: Permission ID. role_id: Role ID this permission applies to. collection: Collection name. rules: CRUD operation rules. created_at: Timestamp when created. updated_at: Timestamp when last updated.
Schema for CRUD operation rules.
Each operation is optional - if None, that operation is not permitted.
Attributes: create: Rule for create operations. read: Rule for read operations. update: Rule for update operations. delete: Rule for delete operations.