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:
martmull
2024-01-05 11:44:47 +01:00
committed by GitHub
parent 618d9678b5
commit f35b40c428
17 changed files with 358 additions and 41 deletions

View File

@ -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);
}
}
}

View 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);
};

View File

@ -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',