Fix create trigger called twice (#3243)
* Fix create trigger called twice * Add Zapier update action * Add Zapier delete action * Update description * Add dropDown for ids
This commit is contained in:
@ -12,7 +12,10 @@ type Infos = {
|
||||
required: string[];
|
||||
};
|
||||
|
||||
export const computeInputFields = (infos: Infos): object[] => {
|
||||
export const computeInputFields = (
|
||||
infos: Infos,
|
||||
idRequired = false,
|
||||
): object[] => {
|
||||
const result = [];
|
||||
|
||||
for (const fieldName of Object.keys(infos.properties)) {
|
||||
@ -38,17 +41,21 @@ export const computeInputFields = (infos: Infos): object[] => {
|
||||
result.push(field);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
default: {
|
||||
const field = {
|
||||
key: fieldName,
|
||||
label: labelling(fieldName),
|
||||
type: infos.properties[fieldName].type,
|
||||
required: false,
|
||||
};
|
||||
if (infos.required?.includes(fieldName)) {
|
||||
if (
|
||||
(idRequired && fieldName === 'id') ||
|
||||
(!idRequired && infos.required?.includes(fieldName))
|
||||
) {
|
||||
field.required = true;
|
||||
}
|
||||
result.push(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
15
packages/twenty-zapier/src/utils/creates/creates.utils.ts
Normal file
15
packages/twenty-zapier/src/utils/creates/creates.utils.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { Bundle, ZObject } from 'zapier-platform-core';
|
||||
|
||||
import { computeInputFields } from '../../utils/computeInputFields';
|
||||
import { requestSchema } from '../../utils/requestDb';
|
||||
|
||||
export const recordInputFields = async (
|
||||
z: ZObject,
|
||||
bundle: Bundle,
|
||||
idRequired = false,
|
||||
) => {
|
||||
const schema = await requestSchema(z, bundle);
|
||||
const infos = schema.components.schemas[bundle.inputData.nameSingular];
|
||||
|
||||
return computeInputFields(infos, idRequired);
|
||||
};
|
||||
@ -1,6 +1,7 @@
|
||||
import { Bundle, ZObject } from 'zapier-platform-core';
|
||||
import requestDb, { requestDbViaRestApi } from '../utils/requestDb';
|
||||
import handleQueryParams from '../utils/handleQueryParams';
|
||||
|
||||
import handleQueryParams from '../../utils/handleQueryParams';
|
||||
import requestDb, { requestDbViaRestApi } from '../../utils/requestDb';
|
||||
|
||||
export enum Operation {
|
||||
create = 'create',
|
||||
Reference in New Issue
Block a user