Skip to content

Commit 565af33

Browse files
wing328a-wallen
andauthored
Make it easier to specify triggers for Zapier (#19645)
* chore: add triggers * update samples --------- Co-authored-by: Stephen (Alex) Wallen <wallenstephen@outlook.com>
1 parent b42027d commit 565af33

File tree

6 files changed

+32
-6
lines changed

6 files changed

+32
-6
lines changed

modules/openapi-generator/src/main/resources/zapier/actions.mustache

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const {{classname}} = require('../{{apiPackage}}/{{classname}}');
44
{{/apis}}
55
{{/apiInfo}}
6-
const { searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils');
6+
const { triggerMiddleware, isTrigger, searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils');
77

88
const actions = {
99
{{#apiInfo}}
@@ -20,4 +20,5 @@ const actions = {
2020
module.exports = {
2121
searchActions: () => Object.entries(actions).reduce((actions, [key, value]) => isSearchAction(key) && hasSearchRequisites(value) ? {...actions, [key]: searchMiddleware(value)} : actions, {}),
2222
createActions: () => Object.entries(actions).reduce((actions, [key, value]) => !isSearchAction(key) ? {...actions, [key]: value} : actions, {}),
23-
}
23+
triggers: () => Object.entries(actions).reduce((actions, [key, value]) => isTrigger(key) ? {...actions, [key]: triggerMiddleware(value)} : actions, {}),
24+
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
const authentication = require('./authentication');
2-
const { searchActions, createActions } = require('./operations/actions');
2+
const { searchActions, createActions, triggers } = require('./operations/actions');
33

44
module.exports = {
55
version: require('./package.json').version,
66
platformVersion: require('zapier-platform-core').version,
77
authentication: authentication,
88
searches: searchActions(),
99
creates: createActions(),
10+
triggers: triggers(),
1011
};

modules/openapi-generator/src/main/resources/zapier/utils.mustache

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ const requestOptionsMiddleware = (z, bundle, requestOptions) => {
3030
return requestOptions
3131
}
3232

33+
const isTrigger = (key) => {
34+
// TODO: custom logic
35+
return false
36+
}
37+
38+
const triggerMiddleware = (action) => {
39+
return action
40+
}
41+
3342
module.exports = {
3443
replacePathParameters: replacePathParameters,
3544
childMapping: childMapping,
@@ -39,4 +48,6 @@ module.exports = {
3948
isSearchAction: isSearchAction,
4049
searchMiddleware: searchMiddleware,
4150
requestOptionsMiddleware: requestOptionsMiddleware,
51+
isTrigger: isTrigger,
52+
triggerMiddleware: triggerMiddleware,
4253
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
const authentication = require('./authentication');
2-
const { searchActions, createActions } = require('./operations/actions');
2+
const { searchActions, createActions, triggers } = require('./operations/actions');
33

44
module.exports = {
55
version: require('./package.json').version,
66
platformVersion: require('zapier-platform-core').version,
77
authentication: authentication,
88
searches: searchActions(),
99
creates: createActions(),
10+
triggers: triggers(),
1011
};

samples/client/petstore/zapier/operations/actions.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const PetApi = require('../apis/PetApi');
22
const StoreApi = require('../apis/StoreApi');
33
const UserApi = require('../apis/UserApi');
4-
const { searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils');
4+
const { triggerMiddleware, isTrigger, searchMiddleware, hasSearchRequisites, isSearchAction } = require('../utils/utils');
55

66
const actions = {
77
[PetApi.addPet.key]: PetApi.addPet,
@@ -29,4 +29,5 @@ const actions = {
2929
module.exports = {
3030
searchActions: () => Object.entries(actions).reduce((actions, [key, value]) => isSearchAction(key) && hasSearchRequisites(value) ? {...actions, [key]: searchMiddleware(value)} : actions, {}),
3131
createActions: () => Object.entries(actions).reduce((actions, [key, value]) => !isSearchAction(key) ? {...actions, [key]: value} : actions, {}),
32-
}
32+
triggers: () => Object.entries(actions).reduce((actions, [key, value]) => isTrigger(key) ? {...actions, [key]: triggerMiddleware(value)} : actions, {}),
33+
}

samples/client/petstore/zapier/utils/utils.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ const requestOptionsMiddleware = (z, bundle, requestOptions) => {
3030
return requestOptions
3131
}
3232

33+
const isTrigger = (key) => {
34+
// TODO: custom logic
35+
return false
36+
}
37+
38+
const triggerMiddleware = (action) => {
39+
return action
40+
}
41+
3342
module.exports = {
3443
replacePathParameters: replacePathParameters,
3544
childMapping: childMapping,
@@ -39,4 +48,6 @@ module.exports = {
3948
isSearchAction: isSearchAction,
4049
searchMiddleware: searchMiddleware,
4150
requestOptionsMiddleware: requestOptionsMiddleware,
51+
isTrigger: isTrigger,
52+
triggerMiddleware: triggerMiddleware,
4253
}

0 commit comments

Comments
 (0)