module.exports = function(Callback) { Callback.disableRemoteMethod("create", true); Callback.disableRemoteMethod("upsert", true); Callback.disableRemoteMethod("updateAll", true); Callback.disableRemoteMethod("updateAttributes", false); Callback.disableRemoteMethod("find", true); Callback.disableRemoteMethod("findById", true); Callback.disableRemoteMethod("findOne", true); Callback.disableRemoteMethod("deleteById", true); Callback.disableRemoteMethod("confirm", true); Callback.disableRemoteMethod("count", true); Callback.disableRemoteMethod("exists", true); Callback.disableRemoteMethod("resetPassword", true); Callback.disableRemoteMethod('__count__accessTokens', false); Callback.disableRemoteMethod('__create__accessTokens', false); Callback.disableRemoteMethod('__delete__accessTokens', false); Callback.disableRemoteMethod('__destroyById__accessTokens', false); Callback.disableRemoteMethod('__findById__accessTokens', false); Callback.disableRemoteMethod('__get__accessTokens', false); Callback.disableRemoteMethod('__updateById__accessTokens', false); Callback.disableRemoteMethod('create', true); // Removes (POST) /products Callback.disableRemoteMethod('upsert', true); // Removes (PUT) /products Callback.disableRemoteMethod('deleteById', true); // Removes (DELETE) /products/:id Callback.disableRemoteMethod("updateAll", true); // Removes (POST) /products/update Callback.disableRemoteMethod("updateAttributes", false); // Removes (PUT) /products/:id Callback.disableRemoteMethod('createChangeStream', true); // removes (GET|POST) /products/change-stream Callback.EmptryParams = function (cb) { // cb = callback; var success = { "resultCode": 20000, "resultDescription":"Success" }; cb(null,success); }; Callback.remoteMethod('EmptryParams',{ http:{path:'/EmptryParams',verb:'get'}, returns: {arg: 'data', type: 'object', root: true} }); Callback.HttpPost = function (ctx,cb) { // cb = callback; var success = { "resultCode": 20000, "resultDescription":"Success", "data":ctx }; cb(null,success); }; Callback.remoteMethod('HttpPost',{ http:{path:'/HttpPost',verb:'post'}, accepts: { arg: 'ctx', type: 'object', default: { "string": "string", "number": 12345, "array": ['string',1234], "object": { "string":"string", "number":1234 } },http: { source: 'body' }}, returns: {arg: 'data', type: 'object', root: true} }); Callback.HttpGet = function (ctx,cb) { // cb = callback; var success = { "resultCode": 20000, "resultDescription":"Success", "Try it on":"http://localhost:3232/api/callbacks/models1/5555/models2/6666", "data":ctx }; cb(null,success); }; Callback.remoteMethod('HttpGet',{ http:{path:'/models1/:params1/models2/:params2',verb:'get'}, accepts: { arg: 'ctx', type: 'object', http: function(ctx) { // รับข้อมุลมาใส่ไว้ใน ctx // 1. รับข้อมูล object ที่ส่งมาโดยใช้ express var req = ctx.req; /* 2. Get ข้อมูลแบบ params * params คือค่าที่ส่งมากับ url ex http://localhost/Item/params1/params2 * รับค่ามาตั้งแต่ http:{path:'/: ตัวแปรที่รับค่าเก็บไว้ /: ตัวแปรที่รับค่าเก็บไว้ */ var params = { "params1":req.params.params1, "params2":req.params.params2 }; return params; } } , returns: {arg: 'data', type: 'object', root: true} }); };