Closes https://github.com/twentyhq/core-team-issues/issues/1217 We should only query and return the fields that are readable when using the rest api. This is behind a feature flag.
40 lines
882 B
TypeScript
40 lines
882 B
TypeScript
import gql from 'graphql-tag';
|
|
|
|
export const createUpsertFieldPermissionsOperation = (
|
|
roleId: string,
|
|
fieldPermissions: Array<{
|
|
objectMetadataId: string;
|
|
fieldMetadataId: string;
|
|
canReadFieldValue?: boolean | null;
|
|
canUpdateFieldValue?: boolean | null;
|
|
}>,
|
|
selectedFields: string[] = [
|
|
'id',
|
|
'roleId',
|
|
'objectMetadataId',
|
|
'fieldMetadataId',
|
|
'canReadFieldValue',
|
|
'canUpdateFieldValue',
|
|
],
|
|
) => ({
|
|
query: gql`
|
|
mutation UpsertFieldPermissions(
|
|
$roleId: String!
|
|
$fieldPermissions: [FieldPermissionInput!]!
|
|
) {
|
|
upsertFieldPermissions(
|
|
upsertFieldPermissionsInput: {
|
|
roleId: $roleId
|
|
fieldPermissions: $fieldPermissions
|
|
}
|
|
) {
|
|
${selectedFields.join('\n')}
|
|
}
|
|
}
|
|
`,
|
|
variables: {
|
|
roleId,
|
|
fieldPermissions,
|
|
},
|
|
});
|