unirest.js 3.52 KB
var console = process.console;
var unirest = require('unirest');

module.exports = function(Unirest) {

    Unirest.disableRemoteMethod("create", true);
    Unirest.disableRemoteMethod("upsert", true);
    Unirest.disableRemoteMethod("updateAll", true);
    Unirest.disableRemoteMethod("updateAttributes", false);

    Unirest.disableRemoteMethod("find", true);
    Unirest.disableRemoteMethod("findById", true);
    Unirest.disableRemoteMethod("findOne", true);

    Unirest.disableRemoteMethod("deleteById", true);

    Unirest.disableRemoteMethod("confirm", true);
    Unirest.disableRemoteMethod("count", true);
    Unirest.disableRemoteMethod("exists", true);
    Unirest.disableRemoteMethod("resetPassword", true);

    Unirest.disableRemoteMethod('__count__accessTokens', false);
    Unirest.disableRemoteMethod('__create__accessTokens', false);
    Unirest.disableRemoteMethod('__delete__accessTokens', false);
    Unirest.disableRemoteMethod('__destroyById__accessTokens', false);
    Unirest.disableRemoteMethod('__findById__accessTokens', false);
    Unirest.disableRemoteMethod('__get__accessTokens', false);
    Unirest.disableRemoteMethod('__updateById__accessTokens', false);

    Unirest.disableRemoteMethod('create', true);                // Removes (POST) /products
    Unirest.disableRemoteMethod('upsert', true);                // Removes (PUT) /products
    Unirest.disableRemoteMethod('deleteById', true);            // Removes (DELETE) /products/:id
    Unirest.disableRemoteMethod("updateAll", true);               // Removes (POST) /products/update
    Unirest.disableRemoteMethod("updateAttributes", false);       // Removes (PUT) /products/:id
    Unirest.disableRemoteMethod('createChangeStream', true);    // removes (GET|POST) /products/change-stream


    Unirest.HttpPost = function (ctx,cb) {
        console.log(ctx);
        var success = {
            "resultCode": 20000,
            "resultDescription":"Success",
            "data":ctx
        };
        console.log(success);
        cb(null,success);
    };
    Unirest.remoteMethod('HttpPost',{
        http:{path:'/HttpPost',verb:'post'},
        accepts: { arg: 'ctx', type: 'object',http: { source: 'body' }},
        returns: {arg: 'data', type: 'object', root: true}
    });
    Unirest.HttpGet = function (ctx,cb) {
        // cb = callback;
        var data = {
            "data":ctx
        };
        unirest.post('http://localhost:3232/api/unirests/HttpPost')
            .send(data)
            .end(function (response) {
                response.body.data.docs = "http://unirest.io/nodejs.html";
                console.log(response.body);
                cb(null,response.body)
            });
    };
    Unirest.remoteMethod('HttpGet',{
        http:{path:'/unirest/:data',verb:'get'},
        accepts: { arg: 'ctx', type: 'string',  http: function(ctx) {
            // รับข้อมุลมาใส่ไว้ใน ctx
            // 1. รับข้อมูล object ที่ส่งมาโดยใช้ express
            var req = ctx.req;

            /* 2. Get ข้อมูลแบบ params
             * params คือค่าที่ส่งมากับ url ex http://localhost/Item/params1/params2
             * รับค่ามาตั้งแต่ http:{path:'/: ตัวแปรที่รับค่าเก็บไว้ /: ตัวแปรที่รับค่าเก็บไว้

             */
            return req.params.data;
        } } ,
        returns: {arg: 'data', type: 'object', root: true}
    });
};