From 0887e641d175b47b926350c76ea15c10eb37fcf7 Mon Sep 17 00:00:00 2001 From: Jonnie Spratley Date: Wed, 2 Mar 2016 11:21:45 -0800 Subject: [PATCH] fix: updated users plugin --- .../users-middleware-plugin/index-spec.js | 14 +++++++------- .../plugins/users-middleware-plugin/index.js | 18 +++++++----------- .../users-middleware-plugin/user-model.js | 8 +++++--- .../users-controller.js | 2 +- .../users-middleware-plugin/users-service.js | 15 ++------------- .../users-middleware-plugin/index-spec.ts | 12 ++++++------ src/plugins/users-middleware-plugin/index.ts | 17 ++++------------- .../users-middleware-plugin/user-model.ts | 7 +++++-- .../users-controller.ts | 1 - .../users-middleware-plugin/users-service.ts | 13 +------------ 10 files changed, 38 insertions(+), 69 deletions(-) diff --git a/release/js/plugins/users-middleware-plugin/index-spec.js b/release/js/plugins/users-middleware-plugin/index-spec.js index aade1b3..15a7335 100644 --- a/release/js/plugins/users-middleware-plugin/index-spec.js +++ b/release/js/plugins/users-middleware-plugin/index-spec.js @@ -4,10 +4,10 @@ var path = require('path'); var fs = require('fs-extra'); var express = require('express'); var request = require('supertest'); -var UsersPlugin = require(path.resolve(__dirname, './index.js')).Users; -var Router = require(path.resolve(__dirname, './users-router.js')); -var UserModel = require(path.resolve(__dirname, './users-service.js')).UserModel; -var UsersService = require(path.resolve(__dirname, './users-service.js')).UsersService; +var UsersPlugin = require(path.resolve(__dirname, './index')).default; +var Router = require(path.resolve(__dirname, './users-router')); +var UserModel = require(path.resolve(__dirname, './user-model')).default; +var UsersService = require(path.resolve(__dirname, './users-service')).UsersService; var service = null; var instance = null; var app = express(); @@ -17,10 +17,10 @@ describe('UsersPlugin', function () { done(); }); it('should create new instance', function (done) { - instance = new UsersPlugin(); + instance = new UsersPlugin(app); done(); }); - it('should mount to express app', function (done) { + xit('should mount to express app', function (done) { app.use('/', Router.default()); done(); }); @@ -183,4 +183,4 @@ describe('UsersPlugin', function () { }); }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vaW5kZXgtc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFDYixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakMsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMvQixJQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkMsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXJDLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN6RSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ25GLElBQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQ3pGLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztBQUNuQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFFcEIsSUFBSSxHQUFHLEdBQUcsT0FBTyxFQUFFLENBQUM7QUFHcEIsUUFBUSxDQUFDLGFBQWEsRUFBRTtJQUVwQixFQUFFLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxJQUFJO1FBQ2xDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwQixJ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QUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFHSCxFQUFFLENBQUMsMEJBQTBCLEVBQUU7WUFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJO2dCQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUc7Z0JBQ2xCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDWixJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0JBQXdCLEVBQUU7WUFDekIsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDVixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBRVAsQ0FBQyxDQUFDLENBQUM7QUFFUCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJwbHVnaW5zL3VzZXJzLW1pZGRsZXdhcmUtcGx1Z2luL2luZGV4LXNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5jb25zdCBhc3NlcnQgPSByZXF1aXJlKCdhc3NlcnQnKTtcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5jb25zdCBmcyA9IHJlcXVpcmUoJ2ZzLWV4dHJhJyk7XG5jb25zdCBleHByZXNzID0gcmVxdWlyZSgnZXhwcmVzcycpO1xuY29uc3QgcmVxdWVzdCA9IHJlcXVpcmUoJ3N1cGVydGVzdCcpO1xuXG5jb25zdCBVc2Vyc1BsdWdpbiA9IHJlcXVpcmUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vaW5kZXguanMnKSkuVXNlcnM7XG5jb25zdCBSb3V0ZXIgPSByZXF1aXJlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3VzZXJzLXJvdXRlci5qcycpKTtcbmNvbnN0IFVzZXJNb2RlbCA9IHJlcXVpcmUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vdXNlcnMtc2VydmljZS5qcycpKS5Vc2VyTW9kZWw7XG5jb25zdCBVc2Vyc1NlcnZpY2UgPSByZXF1aXJlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3VzZXJzLXNlcnZpY2UuanMnKSkuVXNlcnNTZXJ2aWNlO1xudmFyIHNlcnZpY2UgPSBudWxsO1xudmFyIGluc3RhbmNlID0gbnVsbDtcblxudmFyIGFwcCA9IGV4cHJlc3MoKTtcblxuXG5kZXNjcmliZSgnVXNlcnNQbHVnaW4nLCBmdW5jdGlvbiAoKSB7XG5cbiAgICBpdCgnc2hvdWxkIGJlIGRlZmluZWQnLCBmdW5jdGlvbiAoZG9uZSkge1xuICAgICAgICBhc3NlcnQoVXNlcnNQbHVnaW4pO1xuICAgICAgICBkb25lKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBuZXcgaW5zdGFuY2UnLCBmdW5jdGlvbiAoZG9uZSkge1xuICAgICAgICBpbnN0YW5jZSA9IG5ldyBVc2Vyc1BsdWdpbigpO1xuICAgICAgICBkb25lKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1vdW50IHRvIGV4cHJlc3MgYXBwJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgYXBwLnVzZSgnLycsIFJvdXRlci5kZWZhdWx0KCkpO1xuICAgICAgICBkb25lKCk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnVXNlcnMgUm91dGVyJywgZnVuY3Rpb24gKCkge1xuXG4gICAgICAgIGl0KCdHRVQgLSAvdXNlcnMgLSBzaG91bGQgcmV0dXJuIDIwMCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICByZXF1ZXN0KGFwcClcbiAgICAgICAgICAgICAgICAuZ2V0KCcvdXNlcnMnKVxuICAgICAgICAgICAgICAgIC5leHBlY3QoMjAwLCBkb25lKTtcbiAgICAgICAgfSk7XG5cblxuICAgICAgICBpdCgnR0VUIC0gL3VzZXJzLzppZCAtIHNob3VsZCByZXR1cm4gMjAwJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIHJlcXVlc3QoYXBwKVxuICAgICAgICAgICAgICAgIC5nZXQoJy91c2Vycy8xJylcbiAgICAgICAgICAgICAgICAuZXhwZWN0KDIwMCwgZG9uZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdQT1NUIC0gL3VzZXJzIC0gc2hvdWxkIHJldHVybiAyMDAnLCBmdW5jdGlvbiAoZG9uZSkge1xuICAgICAgICAgICAgcmVxdWVzdChhcHApXG4gICAgICAgICAgICAgICAgLnBvc3QoJy91c2VycycpXG4gICAgICAgICAgICAgICAgLnNlbmQoe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGVzdC11c2VyJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmV4cGVjdCgyMDAsIGRvbmUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdCgnUE9TVCAtIC91c2VycyAtIHNob3VsZCByZXR1cm4gMjAwJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIHJlcXVlc3QoYXBwKVxuICAgICAgICAgICAgICAgIC5wb3N0KCcvdXNlcnMnKVxuICAgICAgICAgICAgICAgIC5zZW5kKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rlc3QtdXNlcidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5leHBlY3QoMjAwLCBkb25lKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ1BVVCAtIC91c2Vycy86aWQgLSBzaG91bGQgcmV0dXJuIDIwMCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICByZXF1ZXN0KGFwcClcbiAgICAgICAgICAgICAgICAucHV0KCcvdXNlcnMvMScpXG4gICAgICAgICAgICAgICAgLnNlbmQoe1xuICAgICAgICAgICAgICAgICAgICBpZDogMSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VwZGF0ZWQtdXNlcidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5leHBlY3QoMjAwLCBkb25lKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ0RFTEVURSAtIC91c2Vycy86aWQgLSBzaG91bGQgcmV0dXJuIDIwMCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICByZXF1ZXN0KGFwcClcbiAgICAgICAgICAgICAgICAuZGVsZXRlKCcvdXNlcnMvMycpXG4gICAgICAgICAgICAgICAgLmV4cGVjdCgyMDAsIGRvbmUpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdVc2VycyBDb250cm9sbGVyJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAvL1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1VzZXJzIE1vZGVsJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBpdCgnc2hvdWxkIHJldHVybiBtb2RlbCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICB2YXIgdSA9IG5ldyBVc2VyTW9kZWwoe2lkOiAndGVzdCd9KTtcbiAgICAgICAgICAgIGFzc2VydCh1KTtcbiAgICAgICAgICAgIGFzc2VydCh1LmlkLCAnaGFzIHBhc3NlZCBwcm9wZXJ0eScpO1xuXG4gICAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1VzZXJzU2VydmljZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHRlc3RJZCA9ICcnO1xuICAgICAgICB2YXIgdGVzdFVzZXIgPSBuZXcgVXNlck1vZGVsKHtcbiAgICAgICAgICAgIGlkOiAndXNlci10ZXN0JyxcbiAgICAgICAgICAgIHVzZXJuYW1lOiAndGVzdCcsXG4gICAgICAgICAgICBlbWFpbDogJ3Rlc3RAZ21haWwuY29tJ1xuICAgICAgICB9KTtcblxuICAgICAgICBiZWZvcmUoZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSBuZXcgVXNlcnNTZXJ2aWNlKCk7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUobmV3IFVzZXJNb2RlbCh7bmFtZTogJ3Rlc3QnfSkpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICB0ZXN0SWQgPSByZXNwO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3ApO1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzaG91bGQgaGF2ZSBhbiBpbnN0YW5jZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGFzc2VydChzZXJ2aWNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2ZpbmQoKSAtIHNob3VsZCBnZXQgYWxsIHVzZXJzIGZyb20gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLmZpbmQodGVzdFVzZXIuaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwKTtcbiAgICAgICAgICAgICAgICBhc3NlcnQocmVzcCk7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIGFzc2VydC5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzYXZlKCkgLSBzaG91bGQgc2F2ZSBhIHVzZXIgdG8gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUodGVzdFVzZXIpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwKTtcbiAgICAgICAgICAgICAgICBhc3NlcnQocmVzcCk7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIGFzc2VydC5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzYXZlKCkgc2hvdWxkIHVwZGF0ZSBhIHVzZXIgaW4gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUoe1xuICAgICAgICAgICAgICAgIGlkOiAndXNlci10ZXN0JyxcbiAgICAgICAgICAgICAgICBlbWFpbDogJ3VwZGF0ZWRAZ21haWwuY29tJ1xuICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3ApO1xuICAgICAgICAgICAgICAgIGFzc2VydChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0LmZhaWwoZXJyKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3NhdmUoKSAtIHNob3VsZCByZWplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUoe30pLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG5cbiAgICAgICAgaXQoJ2dldCgpIC0gc2hvdWxkIGdldCBhIHVzZXIgZnJvbSBkYXRhIHN0b3JlJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIGFzc2VydCh0ZXN0SWQpXG4gICAgICAgICAgICBzZXJ2aWNlLmdldCh0ZXN0SWQpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQocmVzcCk7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIGFzc2VydC5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdnZXQoKSAtIHNob3VsZCByZWplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLmdldCgndW5rbm93bicpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdyZW1vdmUoKSAtIHNob3VsZCByZW1vdmUgYSB1c2VyIGZyb20gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBhc3NlcnQodGVzdElkKVxuICAgICAgICAgICAgc2VydmljZS5yZW1vdmUodGVzdElkKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KHJlc3ApO1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChlcnIpO1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuXG4gICAgICAgIGl0KCdyZW1vdmUoKSAtIHNob3VsZCByZWplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnJlbW92ZSgndW5rbm93bicpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdyZW1vdmUoKSAtIHRocm93IGVycm9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXNzZXJ0LnRocm93cyhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgc2VydmljZS5yZW1vdmUobnVsbCk7XG4gICAgICAgICAgICB9LCBFcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgfSk7XG5cbn0pOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vaW5kZXgtc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFDYixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakMsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMvQixJQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkMsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXJDLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN4RSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUMzRSxJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUN0RixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDbkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRXBCLElBQUksR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO0FBR3BCLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFFcEIsRUFBRSxDQUFDLG1CQUFtQixFQUFFLFVBQVUsSUFBSTtRQUNsQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEIsSUFB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LENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUdILEVBQUUsQ0FBQywwQkFBMEIsRUFBRTtZQUMzQixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUk7Z0JBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xCLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRztnQkFDbEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNaLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx3QkFBd0IsRUFBRTtZQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDLENBQUMsQ0FBQztBQUVQLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vaW5kZXgtc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IGZzID0gcmVxdWlyZSgnZnMtZXh0cmEnKTtcbmNvbnN0IGV4cHJlc3MgPSByZXF1aXJlKCdleHByZXNzJyk7XG5jb25zdCByZXF1ZXN0ID0gcmVxdWlyZSgnc3VwZXJ0ZXN0Jyk7XG5cbmNvbnN0IFVzZXJzUGx1Z2luID0gcmVxdWlyZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9pbmRleCcpKS5kZWZhdWx0O1xuY29uc3QgUm91dGVyID0gcmVxdWlyZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi91c2Vycy1yb3V0ZXInKSk7XG5jb25zdCBVc2VyTW9kZWwgPSByZXF1aXJlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3VzZXItbW9kZWwnKSkuZGVmYXVsdDtcbmNvbnN0IFVzZXJzU2VydmljZSA9IHJlcXVpcmUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4vdXNlcnMtc2VydmljZScpKS5Vc2Vyc1NlcnZpY2U7XG52YXIgc2VydmljZSA9IG51bGw7XG52YXIgaW5zdGFuY2UgPSBudWxsO1xuXG52YXIgYXBwID0gZXhwcmVzcygpO1xuXG5cbmRlc2NyaWJlKCdVc2Vyc1BsdWdpbicsIGZ1bmN0aW9uICgpIHtcblxuICAgIGl0KCdzaG91bGQgYmUgZGVmaW5lZCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgIGFzc2VydChVc2Vyc1BsdWdpbik7XG4gICAgICAgIGRvbmUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY3JlYXRlIG5ldyBpbnN0YW5jZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgIGluc3RhbmNlID0gbmV3IFVzZXJzUGx1Z2luKGFwcCk7XG4gICAgICAgIGRvbmUoKTtcbiAgICB9KTtcblxuICAgIHhpdCgnc2hvdWxkIG1vdW50IHRvIGV4cHJlc3MgYXBwJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgYXBwLnVzZSgnLycsIFJvdXRlci5kZWZhdWx0KCkpO1xuICAgICAgICBkb25lKCk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnVXNlcnMgUm91dGVyJywgZnVuY3Rpb24gKCkge1xuXG4gICAgICAgIGl0KCdHRVQgLSAvdXNlcnMgLSBzaG91bGQgcmV0dXJuIDIwMCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICByZXF1ZXN0KGFwcClcbiAgICAgICAgICAgICAgICAuZ2V0KCcvdXNlcnMnKVxuICAgICAgICAgICAgICAgIC5leHBlY3QoMjAwLCBkb25lKTtcbiAgICAgICAgfSk7XG5cblxuICAgICAgICBpdCgnR0VUIC0gL3VzZXJzLzppZCAtIHNob3VsZCByZXR1cm4gMjAwJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIHJlcXVlc3QoYXBwKVxuICAgICAgICAgICAgICAgIC5nZXQoJy91c2Vycy8xJylcbiAgICAgICAgICAgICAgICAuZXhwZWN0KDIwMCwgZG9uZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdQT1NUIC0gL3VzZXJzIC0gc2hvdWxkIHJldHVybiAyMDAnLCBmdW5jdGlvbiAoZG9uZSkge1xuICAgICAgICAgICAgcmVxdWVzdChhcHApXG4gICAgICAgICAgICAgICAgLnBvc3QoJy91c2VycycpXG4gICAgICAgICAgICAgICAgLnNlbmQoe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAndGVzdC11c2VyJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmV4cGVjdCgyMDAsIGRvbmUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdCgnUE9TVCAtIC91c2VycyAtIHNob3VsZCByZXR1cm4gMjAwJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIHJlcXVlc3QoYXBwKVxuICAgICAgICAgICAgICAgIC5wb3N0KCcvdXNlcnMnKVxuICAgICAgICAgICAgICAgIC5zZW5kKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Rlc3QtdXNlcidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5leHBlY3QoMjAwLCBkb25lKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ1BVVCAtIC91c2Vycy86aWQgLSBzaG91bGQgcmV0dXJuIDIwMCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICByZXF1ZXN0KGFwcClcbiAgICAgICAgICAgICAgICAucHV0KCcvdXNlcnMvMScpXG4gICAgICAgICAgICAgICAgLnNlbmQoe1xuICAgICAgICAgICAgICAgICAgICBpZDogMSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3VwZGF0ZWQtdXNlcidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5leHBlY3QoMjAwLCBkb25lKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ0RFTEVURSAtIC91c2Vycy86aWQgLSBzaG91bGQgcmV0dXJuIDIwMCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICByZXF1ZXN0KGFwcClcbiAgICAgICAgICAgICAgICAuZGVsZXRlKCcvdXNlcnMvMycpXG4gICAgICAgICAgICAgICAgLmV4cGVjdCgyMDAsIGRvbmUpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdVc2VycyBDb250cm9sbGVyJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAvL1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1VzZXJzIE1vZGVsJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBpdCgnc2hvdWxkIHJldHVybiBtb2RlbCcsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICB2YXIgdSA9IG5ldyBVc2VyTW9kZWwoe2lkOiAndGVzdCd9KTtcbiAgICAgICAgICAgIGFzc2VydCh1KTtcbiAgICAgICAgICAgIGFzc2VydCh1LmlkLCAnaGFzIHBhc3NlZCBwcm9wZXJ0eScpO1xuXG4gICAgICAgICAgICBkb25lKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1VzZXJzU2VydmljZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHRlc3RJZCA9ICcnO1xuICAgICAgICB2YXIgdGVzdFVzZXIgPSBuZXcgVXNlck1vZGVsKHtcbiAgICAgICAgICAgIGlkOiAndXNlci10ZXN0JyxcbiAgICAgICAgICAgIHVzZXJuYW1lOiAndGVzdCcsXG4gICAgICAgICAgICBlbWFpbDogJ3Rlc3RAZ21haWwuY29tJ1xuICAgICAgICB9KTtcblxuICAgICAgICBiZWZvcmUoZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIHNlcnZpY2UgPSBuZXcgVXNlcnNTZXJ2aWNlKCk7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUobmV3IFVzZXJNb2RlbCh7bmFtZTogJ3Rlc3QnfSkpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICB0ZXN0SWQgPSByZXNwO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3ApO1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzaG91bGQgaGF2ZSBhbiBpbnN0YW5jZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGFzc2VydChzZXJ2aWNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2ZpbmQoKSAtIHNob3VsZCBnZXQgYWxsIHVzZXJzIGZyb20gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLmZpbmQodGVzdFVzZXIuaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwKTtcbiAgICAgICAgICAgICAgICBhc3NlcnQocmVzcCk7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIGFzc2VydC5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzYXZlKCkgLSBzaG91bGQgc2F2ZSBhIHVzZXIgdG8gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUodGVzdFVzZXIpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwKTtcbiAgICAgICAgICAgICAgICBhc3NlcnQocmVzcCk7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIGFzc2VydC5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzYXZlKCkgc2hvdWxkIHVwZGF0ZSBhIHVzZXIgaW4gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUoe1xuICAgICAgICAgICAgICAgIGlkOiAndXNlci10ZXN0JyxcbiAgICAgICAgICAgICAgICBlbWFpbDogJ3VwZGF0ZWRAZ21haWwuY29tJ1xuICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzcCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3ApO1xuICAgICAgICAgICAgICAgIGFzc2VydChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0LmZhaWwoZXJyKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3NhdmUoKSAtIHNob3VsZCByZWplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNhdmUoe30pLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG5cbiAgICAgICAgaXQoJ2dldCgpIC0gc2hvdWxkIGdldCBhIHVzZXIgZnJvbSBkYXRhIHN0b3JlJywgZnVuY3Rpb24gKGRvbmUpIHtcbiAgICAgICAgICAgIGFzc2VydCh0ZXN0SWQpXG4gICAgICAgICAgICBzZXJ2aWNlLmdldCh0ZXN0SWQpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQocmVzcCk7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgIGFzc2VydC5mYWlsKGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdnZXQoKSAtIHNob3VsZCByZWplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLmdldCgndW5rbm93bicpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdyZW1vdmUoKSAtIHNob3VsZCByZW1vdmUgYSB1c2VyIGZyb20gZGF0YSBzdG9yZScsIGZ1bmN0aW9uIChkb25lKSB7XG4gICAgICAgICAgICBhc3NlcnQodGVzdElkKVxuICAgICAgICAgICAgc2VydmljZS5yZW1vdmUodGVzdElkKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KHJlc3ApO1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChlcnIpO1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuXG4gICAgICAgIGl0KCdyZW1vdmUoKSAtIHNob3VsZCByZWplY3QnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzZXJ2aWNlLnJlbW92ZSgndW5rbm93bicpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHtcbiAgICAgICAgICAgICAgICBhc3NlcnQuZmFpbChyZXNwKTtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXNzZXJ0KGVycik7XG4gICAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdyZW1vdmUoKSAtIHRocm93IGVycm9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXNzZXJ0LnRocm93cyhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgc2VydmljZS5yZW1vdmUobnVsbCk7XG4gICAgICAgICAgICB9LCBFcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgfSk7XG5cbn0pOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/release/js/plugins/users-middleware-plugin/index.js b/release/js/plugins/users-middleware-plugin/index.js index a74b069..539ca94 100644 --- a/release/js/plugins/users-middleware-plugin/index.js +++ b/release/js/plugins/users-middleware-plugin/index.js @@ -8,15 +8,11 @@ var UsersRouter = require('./users-router').default; * @constructor * */ -var Users = (function () { - //controller: UsersController; - function Users(app) { - console.log('Plugin Constructor'); - // this.router = new UsersRouter(app); - return this; - } - return Users; -}()); -exports.Users = Users; +function UsersPlugin(app) { + console.log('Plugin Constructor'); + this.router = new UsersRouter(app); + app.use('/', this.router); +} +exports["default"] = UsersPlugin; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IseURBQXlEO0FBQ3pELG1EQUFtRDtBQUNuRCxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFHdEQ7Ozs7O0dBS0c7QUFDSDtJQUtJLDhCQUE4QjtJQUU5QixlQUFZLEdBQVc7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2xDLHNDQUFzQztRQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTCxZQUFDO0FBQUQsQ0FiQSxBQWFDLElBQUE7QUFiWSxhQUFLLFFBYWpCLENBQUEiLCJmaWxlIjoicGx1Z2lucy91c2Vycy1taWRkbGV3YXJlLXBsdWdpbi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmltcG9ydCBleHByZXNzID0gcmVxdWlyZSgnZXhwcmVzcycpO1xuXG4vL2ltcG9ydCBVc2Vyc0NvbnRyb2xsZXIgPSByZXF1aXJlKCcuL3VzZXJzLWNvbnRyb2xsZXInKTtcbi8vaW1wb3J0IFVzZXJzU2VydmljZSA9IHJlcXVpcmUoJy4vdXNlcnMtc2VydmljZScpO1xuY29uc3QgVXNlcnNSb3V0ZXIgPSByZXF1aXJlKCcuL3VzZXJzLXJvdXRlcicpLmRlZmF1bHQ7XG5cblxuLyoqXG4gKiBAY2xhc3MgICAgICAgICBVc2Vyc1xuICogQG1vZHVsZSAgICAgICAgVXNlcnNcbiAqIEBjb25zdHJ1Y3RvclxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJzIHtcbiAgICBuYW1lOnN0cmluZztcbiAgICBvcHRpb25zOm9iamVjdDtcbiAgICAvLyAgc2VydmljZTogVXNlcnNTZXJ2aWNlO1xuICAgIHJvdXRlcjpVc2Vyc1JvdXRlcjtcbiAgICAvL2NvbnRyb2xsZXI6IFVzZXJzQ29udHJvbGxlcjtcblxuICAgIGNvbnN0cnVjdG9yKGFwcDpleHByZXNzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdQbHVnaW4gQ29uc3RydWN0b3InKTtcbiAgICAgICAgLy8gdGhpcy5yb3V0ZXIgPSBuZXcgVXNlcnNSb3V0ZXIoYXBwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IseURBQXlEO0FBQ3pELG1EQUFtRDtBQUNuRCxJQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFHdEQ7Ozs7O0dBS0c7QUFDSCxxQkFBb0MsR0FBRztJQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUpELGdDQUlDLENBQUEiLCJmaWxlIjoicGx1Z2lucy91c2Vycy1taWRkbGV3YXJlLXBsdWdpbi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmltcG9ydCBleHByZXNzID0gcmVxdWlyZSgnZXhwcmVzcycpO1xuXG4vL2ltcG9ydCBVc2Vyc0NvbnRyb2xsZXIgPSByZXF1aXJlKCcuL3VzZXJzLWNvbnRyb2xsZXInKTtcbi8vaW1wb3J0IFVzZXJzU2VydmljZSA9IHJlcXVpcmUoJy4vdXNlcnMtc2VydmljZScpO1xuY29uc3QgVXNlcnNSb3V0ZXIgPSByZXF1aXJlKCcuL3VzZXJzLXJvdXRlcicpLmRlZmF1bHQ7XG5cblxuLyoqXG4gKiBAY2xhc3MgICAgICAgICBVc2Vyc1xuICogQG1vZHVsZSAgICAgICAgVXNlcnNcbiAqIEBjb25zdHJ1Y3RvclxuICpcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVXNlcnNQbHVnaW4oYXBwKSB7XG4gICAgY29uc29sZS5sb2coJ1BsdWdpbiBDb25zdHJ1Y3RvcicpO1xuICAgIHRoaXMucm91dGVyID0gbmV3IFVzZXJzUm91dGVyKGFwcCk7XG4gICAgYXBwLnVzZSgnLycsIHRoaXMucm91dGVyKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/release/js/plugins/users-middleware-plugin/user-model.js b/release/js/plugins/users-middleware-plugin/user-model.js index 0e364c3..3a1eac8 100644 --- a/release/js/plugins/users-middleware-plugin/user-model.js +++ b/release/js/plugins/users-middleware-plugin/user-model.js @@ -2,12 +2,14 @@ * Created by 212400520 on 2/18/16. */ 'use strict'; +var _ = require('lodash'); function UserModel(obj) { for (var prop in obj) { this[prop] = obj[prop]; - console.log('adding', prop); + console.log('UserModel', prop, '=', obj[prop]); } + this.id = obj.id || _.uniqueId('user-'); } -exports.UserModel = UserModel; +exports["default"] = UserModel; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vdXNlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILFlBQVksQ0FBQztBQUNiLG1CQUEwQixHQUFPO0lBQzdCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0FBQ0wsQ0FBQztBQUxlLGlCQUFTLFlBS3hCLENBQUEiLCJmaWxlIjoicGx1Z2lucy91c2Vycy1taWRkbGV3YXJlLXBsdWdpbi91c2VyLW1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVkIGJ5IDIxMjQwMDUyMCBvbiAyLzE4LzE2LlxuICovXG4ndXNlIHN0cmljdCc7XG5leHBvcnQgZnVuY3Rpb24gVXNlck1vZGVsKG9iajphbnkpIHtcbiAgICBmb3IgKGxldCBwcm9wIGluIG9iaikge1xuICAgICAgICB0aGlzW3Byb3BdID0gb2JqW3Byb3BdO1xuICAgICAgICBjb25zb2xlLmxvZygnYWRkaW5nJywgcHJvcCk7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vdXNlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7R0FFRztBQUNILFlBQVksQ0FBQztBQUNiLElBQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1QixtQkFBa0MsR0FBTztJQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQU5ELDhCQU1DLENBQUEiLCJmaWxlIjoicGx1Z2lucy91c2Vycy1taWRkbGV3YXJlLXBsdWdpbi91c2VyLW1vZGVsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKipcbiAqIENyZWF0ZWQgYnkgMjEyNDAwNTIwIG9uIDIvMTgvMTYuXG4gKi9cbid1c2Ugc3RyaWN0JztcbmNvbnN0IF8gPSByZXF1aXJlKCdsb2Rhc2gnKTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFVzZXJNb2RlbChvYmo6YW55KSB7XG4gICAgZm9yIChsZXQgcHJvcCBpbiBvYmopIHtcbiAgICAgICAgdGhpc1twcm9wXSA9IG9ialtwcm9wXTtcbiAgICAgICAgY29uc29sZS5sb2coJ1VzZXJNb2RlbCcsIHByb3AsICc9Jywgb2JqW3Byb3BdKTtcbiAgICB9XG4gICAgdGhpcy5pZCA9IG9iai5pZCB8fCBfLnVuaXF1ZUlkKCd1c2VyLScpO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/release/js/plugins/users-middleware-plugin/users-controller.js b/release/js/plugins/users-middleware-plugin/users-controller.js index 749d821..73178be 100644 --- a/release/js/plugins/users-middleware-plugin/users-controller.js +++ b/release/js/plugins/users-middleware-plugin/users-controller.js @@ -75,4 +75,4 @@ var UsersController = (function () { }()); exports.UsersController = UsersController; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vdXNlcnMtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFFYixJQUFPLFlBQVksV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXBEO0lBQ0ksbUJBQVksR0FBTztRQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDTCxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQVBBLEFBT0MsSUFBQTtBQVBZLGlCQUFTLFlBT3JCLENBQUE7QUFFRCxJQUFJLEtBQUssR0FBRztJQUNSLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDO0lBQ3RGLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDO0NBQzVGLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSDtJQUdJLHlCQUFZLE9BQU87UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBR0QsNkJBQUcsR0FBSCxVQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxH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QyxLQUFLLEVBQUUsMkJBQTJCLEVBQUMsQ0FBQyxDQUFBO1FBQzlELENBQUM7UUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUNMLHNCQUFDO0FBQUQsQ0E5REEsQUE4REMsSUFBQTtBQTlEWSx1QkFBZSxrQkE4RDNCLENBQUEiLCJmaWxlIjoicGx1Z2lucy91c2Vycy1taWRkbGV3YXJlLXBsdWdpbi91c2Vycy1jb250cm9sbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuaW1wb3J0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5pbXBvcnQgVXNlcnNTZXJ2aWNlID0gcmVxdWlyZSgnLi91c2Vycy1zZXJ2aWNlLmpzJyk7XG5cbmV4cG9ydCBjbGFzcyBVc2VyTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKG9iajphbnkpIHtcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBvYmopIHtcbiAgICAgICAgICAgIHRoaXNbcHJvcF0gPSBvYmpbcHJvcF07XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnVXNlck1vZGVsJywgcHJvcCwgJz0nLCBvYmpbcHJvcF0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgdXNlcnMgPSBbXG4gICAge2lkOiAxLCBuYW1lOiAnd2F0Y2gnLCBkZXNjcmlwdGlvbjogJ1RlbGwgdGltZSB3aXRoIHRoaXMgYW1hemluZyB3YXRjaCcsIHByaWNlOiAzMC4wMH0sXG4gICAge2lkOiAyLCBuYW1lOiAnc2FuZGFscycsIGRlc2NyaXB0aW9uOiAnV2FsayBpbiBjb21mb3J0IHdpdGggdGhlc2Ugc2FuZGFscycsIHByaWNlOiAxMC4wMH1cbl07XG5cbi8qKlxuICogVE9ETyAtIERlc2NyaWJlIHdoYXQgeW91ciBjb250cm9sbGVyIGRvZXMuXG4gKlxuICogQGNsYXNzICAgICAgICAgVXNlcnMuTW9kZWxcbiAqIEBtb2R1bGUgICAgICAgIFVzZXJzXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJzQ29udHJvbGxlciB7XG4gICAgdXNlcnM6YW55O1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLnVzZXJzID0gbmV3IFVzZXJzU2VydmljZS5Vc2Vyc1NlcnZpY2UoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbnRyb2xsZXIgQ29uc3RydWN0b3InKTtcbiAgICB9XG5cblxuICAgIHVzZShyZXEsIHJlcywgbmV4dCkge1xuICAgICAgICBjb25zb2xlLmxvZygnVGltZTogJywgRGF0ZS5ub3coKSk7XG4gICAgICAgIGNvbnNvbGUubG9nKCd1c2Vycy1jb250cm9sbGVyLnVzZScsIHJlcS5tZXRob2QsIHJlcS51cmwpO1xuICAgICAgICBuZXh0KCk7XG4gICAgfVxuXG4gICAgYWxsKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgIGlmIChyZXEucGFyYW1zLmlkKSB7XG4gICAgICAgICAgICByZXEuaWQgPSByZXEucGFyYW1zLmlkO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0dvdCB1c2VyIGlkJywgcmVxLmlkKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZygndXNlcnMtY29udHJvbGxlci5hbGwnLCByZXEubWV0aG9kLCByZXEudXJsKTtcbiAgICAgICAgbmV4dCgpO1xuICAgIH1cblxuICAgIGluZGV4KHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgIG5leHQoKTtcbiAgICB9XG5cbiAgICBnZXRfcm91dGUocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgaWYgKHJlcS5wYXJhbXMuaWQgPiAodXNlcnMubGVuZ3RoIC0gMSkgfHwgcmVxLnBhcmFtcy5pZCA8IDApIHtcbiAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgICAgcmVzLmVuZCgnTm90IEZvdW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzLmpzb24odXNlcnNbcmVxLnBhcmFtcy5pZF0pO1xuICAgIH1cblxuICAgIHBvc3Rfcm91dGUocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgdmFyIG1vZGVsID0gbmV3IFVzZXJNb2RlbChyZXEuYm9keSk7XG4gICAgICAgIG1vZGVsLmlkID0gdXNlcnMubGVuZ3RoICsgMTtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAnY3JlYXRpbmcnLCBtb2RlbFxuICAgICAgICApO1xuICAgICAgICB1c2Vycy5wdXNoKG1vZGVsKTtcbiAgICAgICAgcmVzLmpzb24obW9kZWwpO1xuICAgIH1cblxuICAgIHB1dF9yb3V0ZShyZXEsIHJlcywgbmV4dCkge1xuICAgICAgICBpZiAocmVxLnBhcmFtcy5pZCA+ICh1c2Vycy5sZW5ndGggLSAxKSB8fCByZXEucGFyYW1zLmlkIDwgMCkge1xuICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICByZXMuZW5kKCdObyBwcm9kdWN0IGZvdW5kIGZvciB0aGF0IElEJyk7XG4gICAgICAgIH1cbiAgICAgICAgdXNlcnNbcmVxLnBhcmFtcy5pZF0gPSByZXEuYm9keTtcbiAgICAgICAgcmVzLmpzb24ocmVxLmJvZHkpO1xuICAgIH1cblxuICAgIGRlbGV0ZV9yb3V0ZShyZXEsIHJlcywgbmV4dCkge1xuICAgICAgICBpZiAoIXJlcS5wYXJhbXMuaWQpIHtcbiAgICAgICAgICAgIHJlcS5zdGF0dXMoNDA0KS5qc29uKHtlcnJvcjogJ05vIHVzZXIgZm91bmQgZm9yIHRoYXQgSUQnfSlcbiAgICAgICAgfVxuICAgICAgICB1c2Vycy5zcGxpY2UocmVxLnBhcmFtLmlkLCAxKTtcbiAgICAgICAgcmVzLmpzb24odXNlcnMpO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vdXNlcnMtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFFYixJQUFPLFlBQVksV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXBEO0lBQ0ksbUJBQVksR0FBTztRQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDTCxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQVBBLEFBT0MsSUFBQTtBQVBZLGlCQUFTLFlBT3JCLENBQUE7QUFFRCxJQUFJLEtBQUssR0FBRztJQUNSLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDO0lBQ3RGLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDO0NBQzVGLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSDtJQUdJLHlCQUFZLE9BQU87UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsNkJBQUcsR0FBSCxVQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSTtRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxH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QyxLQUFLLEVBQUUsMkJBQTJCLEVBQUMsQ0FBQyxDQUFBO1FBQzlELENBQUM7UUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUNMLHNCQUFDO0FBQUQsQ0E3REEsQUE2REMsSUFBQTtBQTdEWSx1QkFBZSxrQkE2RDNCLENBQUEiLCJmaWxlIjoicGx1Z2lucy91c2Vycy1taWRkbGV3YXJlLXBsdWdpbi91c2Vycy1jb250cm9sbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuaW1wb3J0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5pbXBvcnQgVXNlcnNTZXJ2aWNlID0gcmVxdWlyZSgnLi91c2Vycy1zZXJ2aWNlLmpzJyk7XG5cbmV4cG9ydCBjbGFzcyBVc2VyTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKG9iajphbnkpIHtcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiBvYmopIHtcbiAgICAgICAgICAgIHRoaXNbcHJvcF0gPSBvYmpbcHJvcF07XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnVXNlck1vZGVsJywgcHJvcCwgJz0nLCBvYmpbcHJvcF0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgdXNlcnMgPSBbXG4gICAge2lkOiAxLCBuYW1lOiAnd2F0Y2gnLCBkZXNjcmlwdGlvbjogJ1RlbGwgdGltZSB3aXRoIHRoaXMgYW1hemluZyB3YXRjaCcsIHByaWNlOiAzMC4wMH0sXG4gICAge2lkOiAyLCBuYW1lOiAnc2FuZGFscycsIGRlc2NyaXB0aW9uOiAnV2FsayBpbiBjb21mb3J0IHdpdGggdGhlc2Ugc2FuZGFscycsIHByaWNlOiAxMC4wMH1cbl07XG5cbi8qKlxuICogVE9ETyAtIERlc2NyaWJlIHdoYXQgeW91ciBjb250cm9sbGVyIGRvZXMuXG4gKlxuICogQGNsYXNzICAgICAgICAgVXNlcnMuTW9kZWxcbiAqIEBtb2R1bGUgICAgICAgIFVzZXJzXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuZXhwb3J0IGNsYXNzIFVzZXJzQ29udHJvbGxlciB7XG4gICAgdXNlcnM6YW55O1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLnVzZXJzID0gbmV3IFVzZXJzU2VydmljZS5Vc2Vyc1NlcnZpY2UoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbnRyb2xsZXIgQ29uc3RydWN0b3InKTtcbiAgICB9XG5cbiAgICB1c2UocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1RpbWU6ICcsIERhdGUubm93KCkpO1xuICAgICAgICBjb25zb2xlLmxvZygndXNlcnMtY29udHJvbGxlci51c2UnLCByZXEubWV0aG9kLCByZXEudXJsKTtcbiAgICAgICAgbmV4dCgpO1xuICAgIH1cblxuICAgIGFsbChyZXEsIHJlcywgbmV4dCkge1xuICAgICAgICBpZiAocmVxLnBhcmFtcy5pZCkge1xuICAgICAgICAgICAgcmVxLmlkID0gcmVxLnBhcmFtcy5pZDtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdHb3QgdXNlciBpZCcsIHJlcS5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coJ3VzZXJzLWNvbnRyb2xsZXIuYWxsJywgcmVxLm1ldGhvZCwgcmVxLnVybCk7XG4gICAgICAgIG5leHQoKTtcbiAgICB9XG5cbiAgICBpbmRleChyZXEsIHJlcywgbmV4dCkge1xuICAgICAgICBuZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0X3JvdXRlKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgIGlmIChyZXEucGFyYW1zLmlkID4gKHVzZXJzLmxlbmd0aCAtIDEpIHx8IHJlcS5wYXJhbXMuaWQgPCAwKSB7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICAgIHJlcy5lbmQoJ05vdCBGb3VuZCcpO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5qc29uKHVzZXJzW3JlcS5wYXJhbXMuaWRdKTtcbiAgICB9XG5cbiAgICBwb3N0X3JvdXRlKHJlcSwgcmVzLCBuZXh0KSB7XG4gICAgICAgIHZhciBtb2RlbCA9IG5ldyBVc2VyTW9kZWwocmVxLmJvZHkpO1xuICAgICAgICBtb2RlbC5pZCA9IHVzZXJzLmxlbmd0aCArIDE7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgJ2NyZWF0aW5nJywgbW9kZWxcbiAgICAgICAgKTtcbiAgICAgICAgdXNlcnMucHVzaChtb2RlbCk7XG4gICAgICAgIHJlcy5qc29uKG1vZGVsKTtcbiAgICB9XG5cbiAgICBwdXRfcm91dGUocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgaWYgKHJlcS5wYXJhbXMuaWQgPiAodXNlcnMubGVuZ3RoIC0gMSkgfHwgcmVxLnBhcmFtcy5pZCA8IDApIHtcbiAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgICAgcmVzLmVuZCgnTm8gcHJvZHVjdCBmb3VuZCBmb3IgdGhhdCBJRCcpO1xuICAgICAgICB9XG4gICAgICAgIHVzZXJzW3JlcS5wYXJhbXMuaWRdID0gcmVxLmJvZHk7XG4gICAgICAgIHJlcy5qc29uKHJlcS5ib2R5KTtcbiAgICB9XG5cbiAgICBkZWxldGVfcm91dGUocmVxLCByZXMsIG5leHQpIHtcbiAgICAgICAgaWYgKCFyZXEucGFyYW1zLmlkKSB7XG4gICAgICAgICAgICByZXEuc3RhdHVzKDQwNCkuanNvbih7ZXJyb3I6ICdObyB1c2VyIGZvdW5kIGZvciB0aGF0IElEJ30pXG4gICAgICAgIH1cbiAgICAgICAgdXNlcnMuc3BsaWNlKHJlcS5wYXJhbS5pZCwgMSk7XG4gICAgICAgIHJlcy5qc29uKHVzZXJzKTtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/release/js/plugins/users-middleware-plugin/users-service.js b/release/js/plugins/users-middleware-plugin/users-service.js index bee3b05..a8194de 100644 --- a/release/js/plugins/users-middleware-plugin/users-service.js +++ b/release/js/plugins/users-middleware-plugin/users-service.js @@ -1,18 +1,7 @@ 'use strict'; -var _ = require('lodash'); //const db = require('../db-plugin')('db'); var Store = require('jfs'); -var UserModel = (function () { - function UserModel(obj) { - for (var prop in obj) { - this[prop] = obj[prop]; - console.log('UserModel', prop, '=', obj[prop]); - } - this.id = obj.id || _.uniqueId('user-'); - } - return UserModel; -}()); -exports.UserModel = UserModel; +var UserModel = require('./user-model').default; var users = [ { id: 1, name: 'watch', description: 'Tell time with this amazing watch', price: 30.00 }, { id: 2, name: 'sandals', description: 'Walk in comfort with these sandals', price: 10.00 } @@ -97,4 +86,4 @@ var UsersService = (function () { }()); exports.UsersService = UsersService; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vdXNlcnMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFDYixJQUFPLENBQUMsV0FBVyxRQUFRLENBQUMsQ0FBQztBQUU3QiwyQ0FBMkM7QUFDM0MsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRzdCO0lBRUksbUJBQVksR0FBTztRQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQVRBLEFBU0MsSUFBQTtBQVRZLGlCQUFTLFlBU3JCLENBQUE7QUFFRCxJQUFJLEtBQUssR0FBRztJQUNSLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDO0lBQ3RGLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDO0NBQzVGLENBQUM7QUFHRjs7OztHQUlHO0FBQ0g7SUFNSTtRQUNJLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN6QixrQkFBa0I7WUFD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QUUsQ0FBQyxHQUFHLENBQUMsVUFBQyxHQUFHLEVBQUUsSUFBSTtnQkFDbEIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDTixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sb0JBQU8sR0FBZDtRQUNJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNMLG1CQUFDO0FBQUQsQ0E5RUEsQUE4RUMsSUFBQTtBQTlFWSxvQkFBWSxlQThFeEIsQ0FBQSIsImZpbGUiOiJwbHVnaW5zL3VzZXJzLW1pZGRsZXdhcmUtcGx1Z2luL3VzZXJzLXNlcnZpY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5pbXBvcnQgXyA9IHJlcXVpcmUoJ2xvZGFzaCcpO1xuaW1wb3J0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG4vL2NvbnN0IGRiID0gcmVxdWlyZSgnLi4vZGItcGx1Z2luJykoJ2RiJyk7XG5jb25zdCBTdG9yZSA9IHJlcXVpcmUoJ2pmcycpO1xuXG5cbmV4cG9ydCBjbGFzcyBVc2VyTW9kZWwge1xuICAgIGlkOnN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihvYmo6YW55KSB7XG4gICAgICAgIGZvciAobGV0IHByb3AgaW4gb2JqKSB7XG4gICAgICAgICAgICB0aGlzW3Byb3BdID0gb2JqW3Byb3BdO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1VzZXJNb2RlbCcsIHByb3AsICc9Jywgb2JqW3Byb3BdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlkID0gb2JqLmlkIHx8IF8udW5pcXVlSWQoJ3VzZXItJyk7XG4gICAgfVxufVxuXG5sZXQgdXNlcnMgPSBbXG4gICAge2lkOiAxLCBuYW1lOiAnd2F0Y2gnLCBkZXNjcmlwdGlvbjogJ1RlbGwgdGltZSB3aXRoIHRoaXMgYW1hemluZyB3YXRjaCcsIHByaWNlOiAzMC4wMH0sXG4gICAge2lkOiAyLCBuYW1lOiAnc2FuZGFscycsIGRlc2NyaXB0aW9uOiAnV2FsayBpbiBjb21mb3J0IHdpdGggdGhlc2Ugc2FuZGFscycsIHByaWNlOiAxMC4wMH1cbl07XG5cblxuLyoqXG4gKiBAY2xhc3MgICAgICAgICBVc2Vyc1xuICogQG1vZHVsZSAgICAgICAgVXNlcnNcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgY2xhc3MgVXNlcnNTZXJ2aWNlIHtcbiAgICBuYW1lOnN0cmluZztcbiAgICBvcHRpb25zOm9iamVjdDtcbiAgICB1c2Vyczphbnk7XG4gICAgZGI6YW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vdGhpcy51c2VycyA9IGRiLnN1YmxldmVsKCd1c2VycycpO1xuICAgICAgICB0aGlzLmRiID0gbmV3IFN0b3JlKCdkYXRhJywge1xuICAgICAgICAgICAvLyB0eXBlOiAnc2luZ2xlJyxcbiAgICAgICAgICAvLyAgc2F2ZUlkOiAnX2lkJyxcbiAgICAgICAgICAgIHByZXR0eTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc29sZS5sb2coJ1NlcnZpY2UgQ29uc3RydWN0b3InKTtcbiAgICB9XG5cbiAgICBnZXRBc3luYyhpZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYi5nZXRBc3luYyhpZCk7XG4gICAgfVxuXG4gICAgZ2V0KGlkOmFueSkge1xuICAgICAgICBsZXQgc2VsZiA9IHRoaXM7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdnZXQnLCBpZCk7XG4gICAgICAgICAgICB0aGlzLmRiLmdldChpZCwgKGVyciwgcmVzcCk9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2dldCcsIGVyciwgcmVzcCk7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmUoaWQ6YW55KSB7XG4gICAgICAgIGlmKCFpZCl7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJvcnIoJ011c3QgcHJvdmlkZSBpZCEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygncmVtb3ZlJywgaWQpO1xuICAgICAgICAgICAgdGhpcy5kYi5kZWxldGUoaWQsIChlcnIsIHJlc3ApPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdmUnLCBlcnIsIHJlc3ApO1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2F2ZShvYmo6YW55KSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdzYXZlJywgb2JqKTtcbiAgICAgICAgICAgIHRoaXMuZGIuc2F2ZShvYmouaWQsIG9iaiwgKGVyciwgcmVzcCk9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3NhdmUnLCBlcnIsIHJlc3ApO1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmluZChwYXJhbXM6YW55KSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdmaW5kJywgcGFyYW1zKTtcbiAgICAgICAgICAgIHRoaXMuZGIuYWxsKChlcnIsIHJlc3ApPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIG1ldGhvZDIoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdtZXRob2QyJyk7XG4gICAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdWdpbnMvdXNlcnMtbWlkZGxld2FyZS1wbHVnaW4vdXNlcnMtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7QUFHYiwyQ0FBMkM7QUFDM0MsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdCLElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFFbEQsSUFBSSxLQUFLLEdBQUc7SUFDUixFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUNBQW1DLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQztJQUN0RixFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQztDQUM1RixDQUFDO0FBR0Y7Ozs7R0FJRztBQUNIO0lBTUk7UUFDSSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDekIsa0JBQWtCO1lBQ25CLGtCQUFrQjtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsK0JBQVEsR0FBUixVQUFTLEVBQUU7UUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDBCQUFHLEdBQUgsVUFBSSxFQUFNO1FBQVYsaUJBWUM7UUFYRyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFB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aWRkbGV3YXJlLXBsdWdpbi91c2Vycy1zZXJ2aWNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuaW1wb3J0IF8gPSByZXF1aXJlKCdsb2Rhc2gnKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuLy9jb25zdCBkYiA9IHJlcXVpcmUoJy4uL2RiLXBsdWdpbicpKCdkYicpO1xuY29uc3QgU3RvcmUgPSByZXF1aXJlKCdqZnMnKTtcbmNvbnN0IFVzZXJNb2RlbCA9IHJlcXVpcmUoJy4vdXNlci1tb2RlbCcpLmRlZmF1bHQ7XG5cbmxldCB1c2VycyA9IFtcbiAgICB7aWQ6IDEsIG5hbWU6ICd3YXRjaCcsIGRlc2NyaXB0aW9uOiAnVGVsbCB0aW1lIHdpdGggdGhpcyBhbWF6aW5nIHdhdGNoJywgcHJpY2U6IDMwLjAwfSxcbiAgICB7aWQ6IDIsIG5hbWU6ICdzYW5kYWxzJywgZGVzY3JpcHRpb246ICdXYWxrIGluIGNvbWZvcnQgd2l0aCB0aGVzZSBzYW5kYWxzJywgcHJpY2U6IDEwLjAwfVxuXTtcblxuXG4vKipcbiAqIEBjbGFzcyAgICAgICAgIFVzZXJzXG4gKiBAbW9kdWxlICAgICAgICBVc2Vyc1xuICogQGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBVc2Vyc1NlcnZpY2Uge1xuICAgIG5hbWU6c3RyaW5nO1xuICAgIG9wdGlvbnM6b2JqZWN0O1xuICAgIHVzZXJzOmFueTtcbiAgICBkYjphbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy90aGlzLnVzZXJzID0gZGIuc3VibGV2ZWwoJ3VzZXJzJyk7XG4gICAgICAgIHRoaXMuZGIgPSBuZXcgU3RvcmUoJ2RhdGEnLCB7XG4gICAgICAgICAgIC8vIHR5cGU6ICdzaW5nbGUnLFxuICAgICAgICAgIC8vICBzYXZlSWQ6ICdfaWQnLFxuICAgICAgICAgICAgcHJldHR5OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLmxvZygnU2VydmljZSBDb25zdHJ1Y3RvcicpO1xuICAgIH1cblxuICAgIGdldEFzeW5jKGlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRiLmdldEFzeW5jKGlkKTtcbiAgICB9XG5cbiAgICBnZXQoaWQ6YW55KSB7XG4gICAgICAgIGxldCBzZWxmID0gdGhpcztcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2dldCcsIGlkKTtcbiAgICAgICAgICAgIHRoaXMuZGIuZ2V0KGlkLCAoZXJyLCByZXNwKT0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZ2V0JywgZXJyLCByZXNwKTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3ApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZShpZDphbnkpIHtcbiAgICAgICAgaWYoIWlkKXtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcm9ycignTXVzdCBwcm92aWRlIGlkIScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdmUnLCBpZCk7XG4gICAgICAgICAgICB0aGlzLmRiLmRlbGV0ZShpZCwgKGVyciwgcmVzcCk9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlbW92ZScsIGVyciwgcmVzcCk7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzYXZlKG9iajphbnkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ3NhdmUnLCBvYmopO1xuICAgICAgICAgICAgdGhpcy5kYi5zYXZlKG9iai5pZCwgb2JqLCAoZXJyLCByZXNwKT0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2F2ZScsIGVyciwgcmVzcCk7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmaW5kKHBhcmFtczphbnkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2ZpbmQnLCBwYXJhbXMpO1xuICAgICAgICAgICAgdGhpcy5kYi5hbGwoKGVyciwgcmVzcCk9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbWV0aG9kMigpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ21ldGhvZDInKTtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/src/plugins/users-middleware-plugin/index-spec.ts b/src/plugins/users-middleware-plugin/index-spec.ts index d43e76e..29617bd 100644 --- a/src/plugins/users-middleware-plugin/index-spec.ts +++ b/src/plugins/users-middleware-plugin/index-spec.ts @@ -5,10 +5,10 @@ const fs = require('fs-extra'); const express = require('express'); const request = require('supertest'); -const UsersPlugin = require(path.resolve(__dirname, './index.js')).Users; -const Router = require(path.resolve(__dirname, './users-router.js')); -const UserModel = require(path.resolve(__dirname, './users-service.js')).UserModel; -const UsersService = require(path.resolve(__dirname, './users-service.js')).UsersService; +const UsersPlugin = require(path.resolve(__dirname, './index')).default; +const Router = require(path.resolve(__dirname, './users-router')); +const UserModel = require(path.resolve(__dirname, './user-model')).default; +const UsersService = require(path.resolve(__dirname, './users-service')).UsersService; var service = null; var instance = null; @@ -23,11 +23,11 @@ describe('UsersPlugin', function () { }); it('should create new instance', function (done) { - instance = new UsersPlugin(); + instance = new UsersPlugin(app); done(); }); - it('should mount to express app', function (done) { + xit('should mount to express app', function (done) { app.use('/', Router.default()); done(); }); diff --git a/src/plugins/users-middleware-plugin/index.ts b/src/plugins/users-middleware-plugin/index.ts index 0de570a..203d38c 100644 --- a/src/plugins/users-middleware-plugin/index.ts +++ b/src/plugins/users-middleware-plugin/index.ts @@ -12,17 +12,8 @@ const UsersRouter = require('./users-router').default; * @constructor * */ -export class Users { - name:string; - options:object; - // service: UsersService; - router:UsersRouter; - //controller: UsersController; - - constructor(app:express) { - console.log('Plugin Constructor'); - // this.router = new UsersRouter(app); - return this; - } - +export default function UsersPlugin(app) { + console.log('Plugin Constructor'); + this.router = new UsersRouter(app); + app.use('/', this.router); } diff --git a/src/plugins/users-middleware-plugin/user-model.ts b/src/plugins/users-middleware-plugin/user-model.ts index 5088ebf..79a97b2 100644 --- a/src/plugins/users-middleware-plugin/user-model.ts +++ b/src/plugins/users-middleware-plugin/user-model.ts @@ -1,10 +1,13 @@ + /** * Created by 212400520 on 2/18/16. */ 'use strict'; -export function UserModel(obj:any) { +const _ = require('lodash'); +export default function UserModel(obj:any) { for (let prop in obj) { this[prop] = obj[prop]; - console.log('adding', prop); + console.log('UserModel', prop, '=', obj[prop]); } + this.id = obj.id || _.uniqueId('user-'); } \ No newline at end of file diff --git a/src/plugins/users-middleware-plugin/users-controller.ts b/src/plugins/users-middleware-plugin/users-controller.ts index 9b09969..123ca07 100644 --- a/src/plugins/users-middleware-plugin/users-controller.ts +++ b/src/plugins/users-middleware-plugin/users-controller.ts @@ -31,7 +31,6 @@ export class UsersController { console.log('Controller Constructor'); } - use(req, res, next) { console.log('Time: ', Date.now()); console.log('users-controller.use', req.method, req.url); diff --git a/src/plugins/users-middleware-plugin/users-service.ts b/src/plugins/users-middleware-plugin/users-service.ts index b97bf8f..d4000b7 100644 --- a/src/plugins/users-middleware-plugin/users-service.ts +++ b/src/plugins/users-middleware-plugin/users-service.ts @@ -3,18 +3,7 @@ import _ = require('lodash'); import path = require('path'); //const db = require('../db-plugin')('db'); const Store = require('jfs'); - - -export class UserModel { - id:string; - constructor(obj:any) { - for (let prop in obj) { - this[prop] = obj[prop]; - console.log('UserModel', prop, '=', obj[prop]); - } - this.id = obj.id || _.uniqueId('user-'); - } -} +const UserModel = require('./user-model').default; let users = [ {id: 1, name: 'watch', description: 'Tell time with this amazing watch', price: 30.00},