Role permissions tab should display object permissions from API result (#10344)

## Context
Role all-objects permissions were mocked. Now that the backend returns
it, we are using its values.

<img width="556" alt="Screenshot 2025-02-19 at 18 39 07"
src="https://github.com/user-attachments/assets/9a1c57fd-dc18-43ef-bc2d-be738d1716f5"
/>
This commit is contained in:
Weiko
2025-02-19 18:58:19 +01:00
committed by GitHub
parent 4a2a312efd
commit 65bd1d7775
3 changed files with 24 additions and 8 deletions

View File

@ -2321,7 +2321,7 @@ export type UpdateLabPublicFeatureFlagMutationVariables = Exact<{
export type UpdateLabPublicFeatureFlagMutation = { __typename?: 'Mutation', updateLabPublicFeatureFlag: { __typename?: 'FeatureFlag', id: any, key: FeatureFlagKey, value: boolean } }; export type UpdateLabPublicFeatureFlagMutation = { __typename?: 'Mutation', updateLabPublicFeatureFlag: { __typename?: 'FeatureFlag', id: any, key: FeatureFlagKey, value: boolean } };
export type RoleFragmentFragment = { __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean }; export type RoleFragmentFragment = { __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean };
export type UpdateWorkspaceMemberRoleMutationVariables = Exact<{ export type UpdateWorkspaceMemberRoleMutationVariables = Exact<{
workspaceMemberId: Scalars['String']; workspaceMemberId: Scalars['String'];
@ -2329,12 +2329,12 @@ export type UpdateWorkspaceMemberRoleMutationVariables = Exact<{
}>; }>;
export type UpdateWorkspaceMemberRoleMutation = { __typename?: 'Mutation', updateWorkspaceMemberRole: { __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, roles?: Array<{ __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean }> | null, name: { __typename?: 'FullName', firstName: string, lastName: string } } }; export type UpdateWorkspaceMemberRoleMutation = { __typename?: 'Mutation', updateWorkspaceMemberRole: { __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, roles?: Array<{ __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean }> | null, name: { __typename?: 'FullName', firstName: string, lastName: string } } };
export type GetRolesQueryVariables = Exact<{ [key: string]: never; }>; export type GetRolesQueryVariables = Exact<{ [key: string]: never; }>;
export type GetRolesQuery = { __typename?: 'Query', getRoles: Array<{ __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, workspaceMembers: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> }> }; export type GetRolesQuery = { __typename?: 'Query', getRoles: Array<{ __typename?: 'Role', id: string, label: string, description?: string | null, canUpdateAllSettings: boolean, isEditable: boolean, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean, workspaceMembers: Array<{ __typename?: 'WorkspaceMember', id: any, colorScheme: string, avatarUrl?: string | null, locale?: string | null, userEmail: string, timeZone?: string | null, dateFormat?: WorkspaceMemberDateFormatEnum | null, timeFormat?: WorkspaceMemberTimeFormatEnum | null, name: { __typename?: 'FullName', firstName: string, lastName: string } }> }> };
export type CreateOidcIdentityProviderMutationVariables = Exact<{ export type CreateOidcIdentityProviderMutationVariables = Exact<{
input: SetupOidcSsoInput; input: SetupOidcSsoInput;
@ -2616,6 +2616,10 @@ export const RoleFragmentFragmentDoc = gql`
description description
canUpdateAllSettings canUpdateAllSettings
isEditable isEditable
canReadAllObjectRecords
canUpdateAllObjectRecords
canSoftDeleteAllObjectRecords
canDestroyAllObjectRecords
} }
`; `;
export const WorkspaceMemberQueryFragmentFragmentDoc = gql` export const WorkspaceMemberQueryFragmentFragmentDoc = gql`

View File

@ -7,5 +7,9 @@ export const ROLE_FRAGMENT = gql`
description description
canUpdateAllSettings canUpdateAllSettings
isEditable isEditable
canReadAllObjectRecords
canUpdateAllObjectRecords
canSoftDeleteAllObjectRecords
canDestroyAllObjectRecords
} }
`; `;

View File

@ -22,7 +22,15 @@ const StyledRolePermissionsContainer = styled.div`
`; `;
type RolePermissionsProps = { type RolePermissionsProps = {
role: Pick<Role, 'id' | 'canUpdateAllSettings'>; role: Pick<
Role,
| 'id'
| 'canUpdateAllSettings'
| 'canReadAllObjectRecords'
| 'canUpdateAllObjectRecords'
| 'canSoftDeleteAllObjectRecords'
| 'canDestroyAllObjectRecords'
>;
}; };
export const RolePermissions = ({ role }: RolePermissionsProps) => { export const RolePermissions = ({ role }: RolePermissionsProps) => {
@ -31,25 +39,25 @@ export const RolePermissions = ({ role }: RolePermissionsProps) => {
key: 'seeRecords', key: 'seeRecords',
label: 'See Records on All Objects', label: 'See Records on All Objects',
icon: <IconEye size={14} />, icon: <IconEye size={14} />,
value: true, value: role.canReadAllObjectRecords,
}, },
{ {
key: 'editRecords', key: 'editRecords',
label: 'Edit Records on All Objects', label: 'Edit Records on All Objects',
icon: <IconPencil size={14} />, icon: <IconPencil size={14} />,
value: true, value: role.canUpdateAllObjectRecords,
}, },
{ {
key: 'deleteRecords', key: 'deleteRecords',
label: 'Delete Records on All Objects', label: 'Delete Records on All Objects',
icon: <IconTrash size={14} />, icon: <IconTrash size={14} />,
value: true, value: role.canSoftDeleteAllObjectRecords,
}, },
{ {
key: 'destroyRecords', key: 'destroyRecords',
label: 'Destroy Records on All Objects', label: 'Destroy Records on All Objects',
icon: <IconTrashX size={14} />, icon: <IconTrashX size={14} />,
value: true, value: role.canDestroyAllObjectRecords,
}, },
]; ];