Volaj akciu z vlastného kódu
ACTION(name, payload) vráti volajúceho, ktorý spustí akciu so všetkou jej validáciou, presne ako keby prišla z cesty. Druhý argument je payload (vstup). Reťaz .query() a .user() pre ďalšie dáta a ukonči cez .callback(function(err, response) {}) alebo .promise() (použi s await). Ak sú dáta neplatné, err je error builder namiesto výnimky.
NEWACTION('Math/add', {
name: 'Add two numbers',
input: '*a:Number, *b:Number',
action: function($, model) {
$.callback({ sum: model.a + model.b });
}
});exports.install = function() {
ROUTE('GET /sum/', sum);
ROUTE('GET /sum-promise/', sum_promise);
};
function sum($) {
ACTION('Math/add', { a: '2', b: '3' }).callback(function(err, response) {
if (err)
$.invalid(err);
else
$.json(response);
});
}
async function sum_promise($) {
try {
var response = await ACTION('Math/add', { a: 10, b: 5 }).promise();
$.json(response);
} catch (err) {
$.invalid(400);
}
}