mirror of
https://github.com/Dolibarr/dolibarr
synced 2024-11-22 12:13:36 +00:00
94 lines
3.2 KiB
JavaScript
94 lines
3.2 KiB
JavaScript
/*jshint esversion: 6 */
|
|
const triggerAction = require('./triggers/action');
|
|
const triggerOrder = require('./triggers/order');
|
|
const triggerThirdparty = require('./triggers/thirdparty');
|
|
const triggerContact = require('./triggers/contact');
|
|
const triggerTicket = require('./triggers/ticket');
|
|
const triggerUser = require('./triggers/user');
|
|
const triggerMember = require('./triggers/member');
|
|
|
|
const searchThirdparty = require('./searches/thirdparty');
|
|
const searchContact = require('./searches/contact');
|
|
const searchMember = require('./searches/member');
|
|
|
|
const createThirdparty = require('./creates/thirdparty');
|
|
const createContact = require('./creates/contact');
|
|
const createMember = require('./creates/member');
|
|
|
|
const {
|
|
config: authentication,
|
|
befores = [],
|
|
afters = [],
|
|
} = require('./authentication');
|
|
|
|
// To include the session key header on all outbound requests, simply define a function here.
|
|
// It runs runs before each request is sent out, allowing you to make tweaks to the request in a centralized spot
|
|
// const includeSessionKeyHeader = (request, z, bundle) => {
|
|
// if (bundle.authData.sessionKey) {
|
|
// request.headers = request.headers || {};
|
|
// request.headers['DOLAPIKEY'] = bundle.authData.sessionKey;
|
|
// }
|
|
// return request;
|
|
// };
|
|
|
|
// If we get a response and it is a 401, we can raise a special error telling Zapier to retry this after another exchange.
|
|
// const sessionRefreshIf401 = (response, z, bundle) => {
|
|
// if (bundle.authData.sessionKey) {
|
|
// if (response.status === 401) {
|
|
// throw new z.errors.RefreshAuthError('Session apikey needs refreshing.');
|
|
// }
|
|
// }
|
|
// return response;
|
|
// };
|
|
|
|
// We can roll up all our behaviors in an App.
|
|
const App = {
|
|
// This is just shorthand to reference the installed dependencies you have. Zapier will
|
|
// need to know these before we can upload
|
|
version: require('./package.json').version,
|
|
platformVersion: require('zapier-platform-core').version,
|
|
|
|
authentication: authentication,
|
|
|
|
// beforeRequest & afterResponse are optional hooks into the provided HTTP client
|
|
beforeRequest: [
|
|
...befores
|
|
],
|
|
|
|
afterResponse: [
|
|
...afters
|
|
],
|
|
|
|
// If you want to define optional resources to simplify creation of triggers, searches, creates - do that here!
|
|
resources: {
|
|
},
|
|
|
|
// If you want your trigger to show up, you better include it here!
|
|
triggers: {
|
|
[triggerAction.key]: triggerAction,
|
|
[triggerOrder.key]: triggerOrder,
|
|
[triggerThirdparty.key]: triggerThirdparty,
|
|
[triggerContact.key]: triggerContact,
|
|
[triggerTicket.key]: triggerTicket,
|
|
[triggerUser.key]: triggerUser,
|
|
[triggerMember.key]: triggerMember,
|
|
},
|
|
|
|
// If you want your searches to show up, you better include it here!
|
|
searches: {
|
|
[searchThirdparty.key]: searchThirdparty,
|
|
[searchContact.key]: searchContact,
|
|
[searchMember.key]: searchMember,
|
|
},
|
|
|
|
// If you want your creates to show up, you better include it here!
|
|
creates: {
|
|
[createThirdparty.key]: createThirdparty,
|
|
[createContact.key]: createContact,
|
|
[createMember.key]: createMember,
|
|
}
|
|
};
|
|
|
|
// Finally, export the app.
|
|
module.exports = App;
|