UNPKG

actionhero

Version:

The reusable, scalable, and quick node.js API server for stateless and stateful applications

56 lines (47 loc) 1.2 kB
import { api, utils, Initializer } from "../index"; export interface ParamsApi { globalSafeParams?: Array<string>; postVariables: Array<string>; buildPostVariables?: Function; } /** * Collects and formats allowed params for this server. */ export class Params extends Initializer { constructor() { super(); this.name = "params"; this.loadPriority = 400; } async initialize() { api.params = { postVariables: [], }; // special params we will always accept api.params.globalSafeParams = [ "file", "apiVersion", "callback", "action", "messageId", ]; api.params.buildPostVariables = () => { const postVariables = []; let i; let j; api.params.globalSafeParams.forEach((p) => { postVariables.push(p); }); for (i in api.actions.actions) { for (j in api.actions.actions[i]) { const action = api.actions.actions[i][j]; for (const key in action.inputs) { postVariables.push(key); } } } api.params.postVariables = utils.arrayUnique(postVariables); return api.params.postVariables; }; } }