module.exports = Self => { Self.remoteMethodCtx('executeFunc', { description: 'Return result of function', accessType: 'EXECUTE', accepts: [ { arg: 'routine', type: 'string', description: 'The routine name', required: true, http: {source: 'path'} }, { arg: 'schema', type: 'string', description: 'The routine schema', required: true, }, { arg: 'params', type: ['any'], description: 'The params array', }, ], returns: { type: 'any', root: true }, http: { path: `/:routine/execute-func`, verb: 'POST' } }); Self.executeFunc = async(ctx, routine, schema, params, options) => { const query = `SELECT ${schema}.${routine}`; const response = await Self.execute(ctx, 'FUNCTION', query, params, options); return Object.values(response)[0]; }; };