Migrate field permission to syncable entity (#18751)

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Abdul Rahman
2026-03-27 19:17:27 +05:30
committed by GitHub
parent c2b058a6a7
commit 5efe69f8d3
105 changed files with 2956 additions and 490 deletions
@@ -1,39 +0,0 @@
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: UUID!
$fieldPermissions: [FieldPermissionInput!]!
) {
upsertFieldPermissions(
upsertFieldPermissionsInput: {
roleId: $roleId
fieldPermissions: $fieldPermissions
}
) {
${selectedFields.join('\n')}
}
}
`,
variables: {
roleId,
fieldPermissions,
},
});
@@ -1,27 +1,14 @@
import { createUpsertFieldPermissionsOperation } from 'test/integration/graphql/utils/upsert-field-permissions-operation-factory.util';
import { upsertFieldPermissionsQueryFactory } from 'test/integration/metadata/suites/field-permission/utils/upsert-field-permissions-query-factory.util';
import { makeMetadataAPIRequest } from 'test/integration/metadata/suites/utils/make-metadata-api-request.util';
export const upsertFieldPermissions = async ({
roleId,
fieldPermissions,
selectedFields,
}: {
roleId: string;
fieldPermissions: Array<{
objectMetadataId: string;
fieldMetadataId: string;
canReadFieldValue?: boolean | null;
canUpdateFieldValue?: boolean | null;
}>;
selectedFields?: string[];
}) => {
const operation = createUpsertFieldPermissionsOperation(
roleId,
fieldPermissions,
selectedFields,
);
import { type UpsertFieldPermissionsInput } from 'src/engine/metadata-modules/object-permission/dtos/upsert-field-permissions.input';
const response = await makeMetadataAPIRequest(operation);
export const upsertFieldPermissions = async (
input: UpsertFieldPermissionsInput,
) => {
const graphqlOperation = upsertFieldPermissionsQueryFactory({ input });
const response = await makeMetadataAPIRequest(graphqlOperation);
return {
data: response.body.data,