diff --git a/modules/openapi-generator/src/main/resources/zapier/actions.mustache b/modules/openapi-generator/src/main/resources/zapier/actions.mustache index d398927b6d82..327518ec6728 100644 --- a/modules/openapi-generator/src/main/resources/zapier/actions.mustache +++ b/modules/openapi-generator/src/main/resources/zapier/actions.mustache @@ -3,9 +3,9 @@ const {{classname}} = require('../{{apiPackage}}/{{classname}}'); {{/apis}} {{/apiInfo}} -const { searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils'); +const { triggerMiddleware, isTrigger, searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils'); -const actions = { +const operations = { {{#apiInfo}} {{#apis}} {{#operations}} @@ -18,6 +18,7 @@ const actions = { } module.exports = { - searchActions: () => Object.entries(actions).reduce((actions, [key, value]) => isSearchAction(key) && hasSearchRequisites(value) ? {...actions, [key]: searchMiddleware(value)} : actions, {}), - createActions: () => Object.entries(actions).reduce((actions, [key, value]) => !isSearchAction(key) ? {...actions, [key]: value} : actions, {}), -} \ No newline at end of file + searchActions: () => Object.entries(operations).reduce((operations, [key, value]) => isSearchAction(key) && hasSearchRequisites(value) ? {...operations, [key]: searchMiddleware(value)} : operations, {}), + createActions: () => Object.entries(operations).reduce((operations, [key, value]) => !isSearchAction(key) ? {...operations, [key]: value} : operations, {}), + triggers: () => Object.entries(operations).reduce((operations, [key, value]) => isTrigger(key) ? {...operations, [key]: triggerMiddleware(value)} : operations, {}), +} diff --git a/modules/openapi-generator/src/main/resources/zapier/api.mustache b/modules/openapi-generator/src/main/resources/zapier/api.mustache index 1c512e665c98..69e462b8c1c1 100644 --- a/modules/openapi-generator/src/main/resources/zapier/api.mustache +++ b/modules/openapi-generator/src/main/resources/zapier/api.mustache @@ -25,6 +25,9 @@ module.exports = { inputFields: [ {{#allParams}} {{#isPrimitiveType}} + {{#isHeaderParam}} + {{/isHeaderParam}} + {{^isHeaderParam}} { key: '{{baseName}}', label: '{{description}}', @@ -40,6 +43,7 @@ module.exports = { ], {{/isEnum}} }, + {{/isHeaderParam}} {{/isPrimitiveType}} {{^isPrimitiveType}} {{#isArray}} diff --git a/modules/openapi-generator/src/main/resources/zapier/index.mustache b/modules/openapi-generator/src/main/resources/zapier/index.mustache index 8f60b0c7b1e6..2e98dba0e32c 100644 --- a/modules/openapi-generator/src/main/resources/zapier/index.mustache +++ b/modules/openapi-generator/src/main/resources/zapier/index.mustache @@ -1,5 +1,5 @@ const authentication = require('./authentication'); -const { searchActions, createActions } = require('./operations/actions'); +const { searchActions, createActions, triggers } = require('./operations/actions'); module.exports = { version: require('./package.json').version, @@ -7,4 +7,5 @@ module.exports = { authentication: authentication, searches: searchActions(), creates: createActions(), + triggers: triggers(), }; diff --git a/modules/openapi-generator/src/main/resources/zapier/utils.mustache b/modules/openapi-generator/src/main/resources/zapier/utils.mustache index b00174f3f7b0..07c4915aaae3 100644 --- a/modules/openapi-generator/src/main/resources/zapier/utils.mustache +++ b/modules/openapi-generator/src/main/resources/zapier/utils.mustache @@ -30,6 +30,15 @@ const requestOptionsMiddleware = (z, bundle, requestOptions) => { return requestOptions } +const isTrigger = (key) => { + // TODO: custom logic + return false +} + +const triggerMiddleware = (action) => { + return action +} + module.exports = { replacePathParameters: replacePathParameters, childMapping: childMapping, @@ -39,4 +48,6 @@ module.exports = { isSearchAction: isSearchAction, searchMiddleware: searchMiddleware, requestOptionsMiddleware: requestOptionsMiddleware, + isTrigger: isTrigger, + triggerMiddleware: triggerMiddleware, } diff --git a/samples/client/petstore/zapier/apis/PetApi.js b/samples/client/petstore/zapier/apis/PetApi.js index 98b42df84caa..06e35bbad391 100644 --- a/samples/client/petstore/zapier/apis/PetApi.js +++ b/samples/client/petstore/zapier/apis/PetApi.js @@ -61,11 +61,6 @@ module.exports = { type: 'number', required: true, }, - { - key: 'api_key', - label: '', - type: 'string', - }, ], outputFields: [ ], diff --git a/samples/client/petstore/zapier/index.js b/samples/client/petstore/zapier/index.js index 8f60b0c7b1e6..2e98dba0e32c 100644 --- a/samples/client/petstore/zapier/index.js +++ b/samples/client/petstore/zapier/index.js @@ -1,5 +1,5 @@ const authentication = require('./authentication'); -const { searchActions, createActions } = require('./operations/actions'); +const { searchActions, createActions, triggers } = require('./operations/actions'); module.exports = { version: require('./package.json').version, @@ -7,4 +7,5 @@ module.exports = { authentication: authentication, searches: searchActions(), creates: createActions(), + triggers: triggers(), }; diff --git a/samples/client/petstore/zapier/operations/actions.js b/samples/client/petstore/zapier/operations/actions.js index d9a6a9afbbab..b939e528ac28 100644 --- a/samples/client/petstore/zapier/operations/actions.js +++ b/samples/client/petstore/zapier/operations/actions.js @@ -1,9 +1,9 @@ const PetApi = require('../apis/PetApi'); const StoreApi = require('../apis/StoreApi'); const UserApi = require('../apis/UserApi'); -const { searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils'); +const { triggerMiddleware, isTrigger, searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils'); -const actions = { +const operations = { [PetApi.addPet.key]: PetApi.addPet, [PetApi.deletePet.key]: PetApi.deletePet, [PetApi.findPetsByStatus.key]: PetApi.findPetsByStatus, @@ -27,6 +27,7 @@ const actions = { } module.exports = { - searchActions: () => Object.entries(actions).reduce((actions, [key, value]) => isSearchAction(key) && hasSearchRequisites(value) ? {...actions, [key]: searchMiddleware(value)} : actions, {}), - createActions: () => Object.entries(actions).reduce((actions, [key, value]) => !isSearchAction(key) ? {...actions, [key]: value} : actions, {}), -} \ No newline at end of file + searchActions: () => Object.entries(operations).reduce((operations, [key, value]) => isSearchAction(key) && hasSearchRequisites(value) ? {...operations, [key]: searchMiddleware(value)} : operations, {}), + createActions: () => Object.entries(operations).reduce((operations, [key, value]) => !isSearchAction(key) ? {...operations, [key]: value} : operations, {}), + triggers: () => Object.entries(operations).reduce((operations, [key, value]) => isTrigger(key) ? {...operations, [key]: triggerMiddleware(value)} : operations, {}), +} diff --git a/samples/client/petstore/zapier/utils/utils.js b/samples/client/petstore/zapier/utils/utils.js index b00174f3f7b0..07c4915aaae3 100644 --- a/samples/client/petstore/zapier/utils/utils.js +++ b/samples/client/petstore/zapier/utils/utils.js @@ -30,6 +30,15 @@ const requestOptionsMiddleware = (z, bundle, requestOptions) => { return requestOptions } +const isTrigger = (key) => { + // TODO: custom logic + return false +} + +const triggerMiddleware = (action) => { + return action +} + module.exports = { replacePathParameters: replacePathParameters, childMapping: childMapping, @@ -39,4 +48,6 @@ module.exports = { isSearchAction: isSearchAction, searchMiddleware: searchMiddleware, requestOptionsMiddleware: requestOptionsMiddleware, + isTrigger: isTrigger, + triggerMiddleware: triggerMiddleware, }