import { UpdateCompassComponent, UpdateComponentInput, } from '@atlassian/forge-graphql-types'; import generateMutationGql from '../generateMutationGql'; import { GqlSegment } from './types'; import { transformCustomFieldsToGql, transformFieldsToGql, } from '../transformFields'; export default function updateBaseComponentSegment( input: UpdateComponentInput, ): GqlSegment { const { id, name, description, slug, ownerId, fields, customFields } = input; const { mutationGql: mutation, params: parameters, inputId, } = generateMutationGql(UpdateCompassComponent, 'updateComponent'); const variables = {} as any; variables[inputId] = { id, name, description, slug, ownerId, fields: fields ? transformFieldsToGql(fields) : fields, ...(customFields ? { customFields: transformCustomFieldsToGql(customFields) } : {}), }; return { mutation, variables, parameters, }; }