@viewdo/dxp-story-cli
Version:
DXP Story Management CLI
44 lines (34 loc) • 1.19 kB
JavaScript
;
const _ = require('lodash');
const namespace = (process.env.NAMESPACE || 'local').replace('-functions', '');
const requires = (instance, name) => {
if (instance == undefined || instance == null)
throw new Error(`Missing ${name} in request payload.`)
}
const doWork = async (experience) => {
requires(experience.story, 'experience.story');
requires(experience.organization, 'experience.organization');
const { story, organization, user } = experience;
// Insert action code here.
// Response should include name-value pairs we want stored in
// analytics
let response = {
success: true,
externalId: 'fake-response-id'
};
return Promise.resolve(response);
}
module.exports = {
main: (event, context) => {
requires(event, 'event');
requires(event.extensions, 'event.extensions');
requires(event.extensions.request, 'event.extensions.request');
// quick access validation
if (event.extensions.request.method === "GET")
return { success: true }
requires(event.data, 'event.data');
requires(event.data.experience, 'experience');
const { experience } = event.data;
return doWork(experience);
}
};