41e10425e49556f98174e77a0e816734a145d24b
[motion2.git] / server / api / license / license.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x46ed=['mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','count','offset','set','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','model','License','rawAttributes','query','keys','filters','intersection','attributes','fields','length','merge','getLicense','find','params','get','body','key','demo','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird'];(function(_0x4367b2,_0x374141){var _0x182b3b=function(_0x417dd0){while(--_0x417dd0){_0x4367b2['push'](_0x4367b2['shift']());}};_0x182b3b(++_0x374141);}(_0x46ed,0x168));var _0xd46e=function(_0x46e363,_0x45d7e2){_0x46e363=_0x46e363-0x0;var _0x3fb059=_0x46ed[_0x46e363];return _0x3fb059;};'use strict';var pdf=require(_0xd46e('0x0'));var emlformat=require(_0xd46e('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xd46e('0x2'));var jsonpatch=require(_0xd46e('0x3'));var rp=require(_0xd46e('0x4'));var moment=require('moment');var BPromise=require(_0xd46e('0x5'));var Mustache=require(_0xd46e('0x6'));var util=require('util');var path=require(_0xd46e('0x7'));var sox=require(_0xd46e('0x8'));var csv=require(_0xd46e('0x9'));var ejs=require(_0xd46e('0xa'));var fs=require('fs');var _=require(_0xd46e('0xb'));var squel=require(_0xd46e('0xc'));var crypto=require(_0xd46e('0xd'));var jsforce=require(_0xd46e('0xe'));var deskjs=require(_0xd46e('0xf'));var toCsv=require(_0xd46e('0x9'));var querystring=require(_0xd46e('0x10'));var Papa=require('papaparse');var Redis=require(_0xd46e('0x11'));var authService=require(_0xd46e('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xd46e('0x13'));var hardwareService=require(_0xd46e('0x14'));var logger=require(_0xd46e('0x15'))(_0xd46e('0x16'));var utils=require(_0xd46e('0x17'));var config=require(_0xd46e('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xd46e('0x19'))['db'];function respondWithStatusCode(_0x5bc1da,_0x48550b){_0x48550b=_0x48550b||0xcc;return function(_0xf3048c){if(_0xf3048c){return _0x5bc1da[_0xd46e('0x1a')](_0x48550b);}return _0x5bc1da['status'](_0x48550b)['end']();};}function respondWithResult(_0xacd799,_0x4688ae){_0x4688ae=_0x4688ae||0xc8;return function(_0x1e9aae){if(_0x1e9aae){return _0xacd799[_0xd46e('0x1b')](_0x4688ae)['json'](_0x1e9aae);}};}function respondWithFilteredResult(_0x3b6d25,_0x44a620){return function(_0x417402){if(_0x417402){var _0x3d72ce=_0x417402[_0xd46e('0x1c')],_0x36a317=_0x44a620[_0xd46e('0x1d')],_0x47fa8f=_0x44a620['offset']+_0x44a620['limit'],_0x1d50a5;if(_0x47fa8f>=_0x3d72ce){_0x47fa8f=_0x3d72ce;_0x1d50a5=0xc8;}else{_0x1d50a5=0xce;}_0x3b6d25[_0xd46e('0x1b')](_0x1d50a5);return _0x3b6d25[_0xd46e('0x1e')]('Content-Range',_0x36a317+'-'+_0x47fa8f+'/'+_0x3d72ce)['json'](_0x417402);}return null;};}function patchUpdates(_0x2d6f2c){return function(_0x2f2571){try{jsonpatch[_0xd46e('0x1f')](_0x2f2571,_0x2d6f2c,!![]);}catch(_0x2273c5){return BPromise[_0xd46e('0x20')](_0x2273c5);}return _0x2f2571[_0xd46e('0x21')]();};}function saveUpdates(_0x3b5fa4,_0x327b7e){return function(_0xb4940){if(_0xb4940){return _0xb4940[_0xd46e('0x22')](_0x3b5fa4)[_0xd46e('0x23')](function(_0x5ba94d){return _0x5ba94d;});}return null;};}function removeEntity(_0x259072,_0x1c83fa){return function(_0x79aa51){if(_0x79aa51){return _0x79aa51[_0xd46e('0x24')]()[_0xd46e('0x23')](function(){_0x259072[_0xd46e('0x1b')](0xcc)[_0xd46e('0x25')]();});}};}function handleEntityNotFound(_0x8a1be,_0x62dea5){return function(_0x4cf899){if(!_0x4cf899){_0x8a1be[_0xd46e('0x1a')](0x194);}return _0x4cf899;};}function handleError(_0x5424e5,_0x4b8f6a){_0x4b8f6a=_0x4b8f6a||0x1f4;return function(_0x371054){logger[_0xd46e('0x26')](_0x371054[_0xd46e('0x27')]);if(_0x371054[_0xd46e('0x28')]){delete _0x371054[_0xd46e('0x28')];}_0x5424e5[_0xd46e('0x1b')](_0x4b8f6a)[_0xd46e('0x29')](_0x371054);};}var utilLicense=require('../../config/license/util');exports[_0xd46e('0x2a')]=function(_0x3c301a,_0xddbce9){var _0x17db79={'raw':!![],'where':{'id':0x1}},_0x96f15c={};_0x96f15c[_0xd46e('0x2b')]=_['keys'](db[_0xd46e('0x2c')][_0xd46e('0x2d')]);_0x96f15c[_0xd46e('0x2e')]=_[_0xd46e('0x2f')](_0x3c301a[_0xd46e('0x2e')]);_0x96f15c[_0xd46e('0x30')]=_[_0xd46e('0x31')](_0x96f15c[_0xd46e('0x2b')],_0x96f15c[_0xd46e('0x2e')]);_0x17db79[_0xd46e('0x32')]=_[_0xd46e('0x31')](_0x96f15c[_0xd46e('0x2b')],qs[_0xd46e('0x33')](_0x3c301a['query'][_0xd46e('0x33')]));_0x17db79[_0xd46e('0x32')]=_0x17db79[_0xd46e('0x32')][_0xd46e('0x34')]?_0x17db79['attributes']:_0x96f15c[_0xd46e('0x2b')];_0x17db79=_[_0xd46e('0x35')]({},_0x17db79,_0x3c301a['options']);return utilLicense[_0xd46e('0x36')](_0x17db79)[_0xd46e('0x23')](respondWithResult(_0xddbce9,null))['catch'](handleError(_0xddbce9,null));};exports[_0xd46e('0x22')]=function(_0x1c15c9,_0x1016e2){if(_0x1c15c9['body']['id']){delete _0x1c15c9['body']['id'];}return db[_0xd46e('0x2c')][_0xd46e('0x37')]({'where':{'id':_0x1c15c9[_0xd46e('0x38')]['id']}})[_0xd46e('0x23')](handleEntityNotFound(_0x1016e2,null))[_0xd46e('0x23')](function(_0x423de9){var _0xa34f09=_0x423de9[_0xd46e('0x39')]({'plain':!![]});return utilLicense['checkLicense'](_0xa34f09,_0x1c15c9[_0xd46e('0x3a')][_0xd46e('0x3b')]);})[_0xd46e('0x23')](function(_0x83aec1){if(!_0x83aec1[_0xd46e('0x3c')]){return saveUpdates(_0x1c15c9[_0xd46e('0x3a')],null);}return _0x83aec1;})[_0xd46e('0x23')](respondWithResult(_0x1016e2,null))['catch'](handleError(_0x1016e2,null));};