, , "machine" ( sailsjs, sailsjs) "" .
:
$ cat api/types/define.js
const buildWithCustomUsage = require("machine").buildWithCustomUsage;
function validateWith(machine, inputs) {
machine(inputs).now();
return true;
}
module.exports = function (def) {
const machine = buildWithCustomUsage({
def,
extraArginsTactic: "doNotCheck"
});
return {
machine,
validate: validateWith.bind(null, machine)
};
};
:
$ cat api/types/QuoteRequest.js
module.exports = require("./define")({
description: "Quote request type definition",
inputs: {
input_currency_type: {
description: "Input currency type",
type: "string",
required: true
},
amount_requested: {
description: "Requested amount in input currency",
type: "string",
required: true
}
},
sync: true,
fn: function (inputs, exits) {
return exits.success();
}
});
, sync: true.
, :
inputs: {
request: {
type: "json",
required: true,
custom: require("../../types/QuoteRequest").validate
}
},
, !