var console = process.console; var app = require('../../server/server'); module.exports = function(Order) { var ds = app.dataSources.mongodb; var success = {"resultCode":20000,"resultDescription":"Success","data":{}}; var fail = {"resultCode":50000,"resultDescription":"Fail","data":{}}; Order.disableRemoteMethod("create", true);// post Order.AddOrder = function(ctx,cb){ console.log(ctx); findCustomer(ctx,cb,findItems) }; function findCustomer(ctx,cb,next){ console.tag('Input').log(ctx); var customer = ds.models.customer; customer.findOne({"where":{"id":ctx.customer_id}},function(err,result){ if(err){ console.tag('Err').log(err); } else{ if(result.length){ console.tag('Process/response').log(result); success.data = result; next ? next(ctx,cb) : cb(null,success); }else{ fail.data = ctx; fail.resultDescription = 'Customer ID not found'; cb(null,fail); console.tag('ERR').log(fail) } } }); } function findItems(ctx,cb,next){ console.tag('Input').log(ctx); var items = ds.models.item; items.findOne({"where":{"id":ctx.item_id}},function(err,result){ if(err){ console.tag('Err').log(err); } else{ if(result.length){ console.tag('Process/response').log(result); success.data = result; next ? next(ctx,cb) : cb(null,success); }else{ fail.data = ctx; fail.resultDescription = 'iTems ID not found'; cb(null,fail); console.tag('ERR').log(fail) } } }) } Order.remoteMethod('AddOrder',{ http:{path:'/customer/:customer_id/item/:item_id',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 = { "customer_id":req.params.customer_id, "item_id":req.params.item_id }; return params; } } , returns: {arg: 'data', type: 'object', root: true} }) };