UNPKG

@viewdo/dxp-story-cli

Version:

DXP Story Management CLI

44 lines (34 loc) 1.19 kB
'use strict'; 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); } };