Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/common/constants/permission_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -895,7 +895,7 @@ class PermissionConstants(Enum):
APPLICATION_CHAT_USER_READ = Permission(group=Group.APPLICATION_CHAT_USER, operate=Operate.READ,
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANGE],
resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW],
)
APPLICATION_CHAT_USER_EDIT = Permission(group=Group.APPLICATION_CHAT_USER, operate=Operate.EDIT,
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
Expand All @@ -917,7 +917,7 @@ class PermissionConstants(Enum):
APPLICATION_CHAT_LOG_READ = Permission(group=Group.APPLICATION_CHAT_LOG, operate=Operate.READ,
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
resource_permission_group_list=[ResourcePermissionConst.APPLICATION_MANGE],
resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW],
)

APPLICATION_CHAT_LOG_ANNOTATION = Permission(group=Group.APPLICATION_CHAT_LOG, operate=Operate.ANNOTATION,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current code snippet is mostly correct, but here are a few potential improvements:

  1. Consistency in Resource Permissions: The resource_permission_group_list for both application_chat_log_read and application_chat_log_annotation contain [ResourcePermissionConst.APPLICATION_MANGE], which might not be suitable based on how permissions work internally within your application.

  2. Documentation of Group/Operate/Roles: Adding comments to describe the group (e.g., what type of chat log it affects), operate (e.g., read, edit, etc.), and roles should help clarify their purpose.

Here's an updated version with some minor adjustments:

class PermissionConstants(Enum):
    # Define permissions related to application chat users

    APPLICATION_CHAT_USER_READ = Permission(
        group=Group.APPLICATION_CHAT_USER,
        operate=Operate.READ,
        role_list=[RoleConstants.ADMIN, RoleConstants.USER],
        parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
        resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW],  # Adjusted to view instead of manage
    )

    APPLICATION_CHAT_USER_EDIT = Permission(
        group=Group.APPLICATION_CHAT_USER,
        operate=Operate.EDIT,
        role_list=[RoleConstants.ADMIN, RoleConstants.USER],
        parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
        resource_permission_group_list=[ResourcePermissionConst.APPLICATION_UPDATE],  # Updated to update if necessary
    )

    # Define permissions related to application chat logs

    APPLICATION_CHAT_LOG_READ = Permission(
        group=Group.APPLICATION_CHAT_LOG,
        operate=Operate.READ,
        role_list=[RoleConstants.ADMIN, RoleConstants.USER],
        parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
        resource_permission_group_list=[ResourcePermissionConst.APPLICATION_VIEW],  # Adjusted to view instead of manage
    )

    APPLICATION_CHAT_LOG_ANNOTATION = Permission(
        group=Group.APPLICATION_CHAT_LOG,
        operate=Operate.ANNOTATE,
        role_list=[RoleConstants.ADMIN, RoleConstants.USER],
        parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
        resource_permission_group_list=[ResourcePermissionConst.APPLICATION_COMMENT],  # Adjusted to comment if necessary
    )

Make sure to adjust the resource_permission_group_list according to your actual business logic and permission structure.

Expand Down
Loading