Skip to main content

Manifest

The Manifest provides the description of all the nodes present in a module.

This is main entry point for the module itself and for the application to build each node based on the configuration settings provided in the manifest specification.

Manifest Declaration

const manifest = () => ({
name: "Sample",
specs: [
{
name: "Sample Middleware",
type: "Middleware",
inputs: [
{
name: "sampleText",
type: "String",
label: "Text",
},
],
controller: "sampleMiddleware", // controller referenced from package.json ecoModule object
},
],
});

module.exports = manifest;

Manifest Properties

ParameterTypeDescription
namestringThe name of the module.
specsManifestSpecs[]An array of Manifest Node Configuration objects.

Manifest Node Configuration

Node Configuration

ParameterTypeDescription
namestringThe name of the module node.
typeModuleTypesThe type of the module node.
[describtion]ModuleTypesThe description of the module node.
[inputs]ModuleSpecsInputs[]An array of input specifications for the module node.
[controller]ModuleTypesThe controller of the module node.

Node Types

Available types of node for the manifest specification are listed below.

  • Request: The entry point for the api routes endpoint.
  • Middleware: The middleware is responsible for computation of the request to provide some response.
  • Response: The exit point for the api routes endpoint.
  • Debug: The debug is responsible for displaying output of the previous node.

Node Inputs Specifications

ParameterTypeDescription
namestringThe name of the input.
labelstringThe label for the input.
typeModuleSpecsInputsTypesThe type of the input.
[hint]stringThe hint for the input type.
[required]booleanIndicates if the input is required.
[codeLanguage]stringThe programming language for the input.
[methods]API_METHODS[] | ((value?: {[key: string]: any;}) => API_METHODS[] | Promise<API_METHODS[]>)The methods for the input.
[radioValues]string | string[] | ((value?: { [key: string]: any; }) => string | string[] | Promise<string | string[]>)The values for radio buttons.
[pickerOptions]string[] | ModuleSpecsInputsTypeOptions[] | ((value?: { [key: string]: any; }) => string[] | ModuleSpecsInputsTypeOptions[] | Promise<string[] | ModuleSpecsInputsTypeOptions[]>)The options for a picker field.
[listBoxSorting]booleanIndicates if the list box should be sorted.
[defaultValue]string | number | boolean | Date | string[] | {start: number, end: number} | ((value?: { [key: string]: any;}) => string | number | boolean | Date | string[] | {start: number, end: number})The default value for the input field.

Node Inputs Type Specification

TypeDescription
RouteDefault value for Request Node Types.
DB_SelectorDefault value for DB Selectors.
MethodsRequest Node API Methods.
CodeCode Editor Input Type.
ToggleToggle Input Type.
DateDate Input Type.
TimeTime Input Type.
DateTimeDate Time Input Type.
NumberNumber Input Type.
StringText Input Type (DEFAULT VALUE).
HiddenStringPassword Input Type.
CheckPickerList Picker Input Type.
SelectPickerSelect Picker Input Type.
CheckboxCheckbox Input Type.
RadioRadio Input Type.
RangeRange or Slider Input Type.
ListBoxList Box Input Type.
tip

More descriptive description can be found here