edab8f219b8b921bb4d09b968c25ccde1372c754
[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 _0x4e41=['model','keys','License','rawAttributes','query','filters','intersection','attributes','fields','length','merge','options','getLicense','catch','body','find','get','checkLicense','key','license-info.log','join','log','xcally','Content-disposition','attachment;\x20filename=','Content-Type','text/plain','eml-format','rimraf','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','destroy','then','error','name','send','../../config/license/util','index'];(function(_0xcbd101,_0x2bd159){var _0x151767=function(_0xbfaf26){while(--_0xbfaf26){_0xcbd101['push'](_0xcbd101['shift']());}};_0x151767(++_0x2bd159);}(_0x4e41,0x12b));var _0x14e4=function(_0x46472e,_0x1cc71b){_0x46472e=_0x46472e-0x0;var _0x482bab=_0x4e41[_0x46472e];return _0x482bab;};'use strict';var emlformat=require(_0x14e4('0x0'));var rimraf=require(_0x14e4('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x14e4('0x2'));var util=require('util');var path=require(_0x14e4('0x3'));var sox=require('sox');var csv=require(_0x14e4('0x4'));var ejs=require(_0x14e4('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x14e4('0x6'));var squel=require(_0x14e4('0x7'));var crypto=require(_0x14e4('0x8'));var jsforce=require(_0x14e4('0x9'));var deskjs=require(_0x14e4('0xa'));var toCsv=require(_0x14e4('0x4'));var querystring=require(_0x14e4('0xb'));var Papa=require(_0x14e4('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x14e4('0xd'));var as=require(_0x14e4('0xe'));var hardwareService=require(_0x14e4('0xf'));var logger=require(_0x14e4('0x10'))(_0x14e4('0x11'));var utils=require(_0x14e4('0x12'));var config=require(_0x14e4('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x14e4('0x14'))['db'];function respondWithStatusCode(_0x42508a,_0xb56a41){_0xb56a41=_0xb56a41||0xcc;return function(_0x3acd7d){if(_0x3acd7d){return _0x42508a['sendStatus'](_0xb56a41);}return _0x42508a['status'](_0xb56a41)[_0x14e4('0x15')]();};}function respondWithResult(_0x439428,_0x158a53){_0x158a53=_0x158a53||0xc8;return function(_0x3e12e9){if(_0x3e12e9){return _0x439428['status'](_0x158a53)[_0x14e4('0x16')](_0x3e12e9);}};}function respondWithFilteredResult(_0x2daf78,_0x1f18a3){return function(_0x18c768){if(_0x18c768){var _0x107a2a=typeof _0x1f18a3[_0x14e4('0x17')]===_0x14e4('0x18')&&typeof _0x1f18a3[_0x14e4('0x19')]===_0x14e4('0x18');var _0x2cdeb1=_0x18c768[_0x14e4('0x1a')];var _0x555f61=_0x107a2a?0x0:_0x1f18a3[_0x14e4('0x17')];var _0x124a58=_0x107a2a?_0x18c768[_0x14e4('0x1a')]:_0x1f18a3[_0x14e4('0x17')]+_0x1f18a3[_0x14e4('0x19')];var _0x15e211;if(_0x124a58>=_0x2cdeb1){_0x124a58=_0x2cdeb1;_0x15e211=0xc8;}else{_0x15e211=0xce;}_0x2daf78[_0x14e4('0x1b')](_0x15e211);return _0x2daf78[_0x14e4('0x1c')](_0x14e4('0x1d'),_0x555f61+'-'+_0x124a58+'/'+_0x2cdeb1)['json'](_0x18c768);}return null;};}function patchUpdates(_0x3121f1){return function(_0x191b72){try{jsonpatch[_0x14e4('0x1e')](_0x191b72,_0x3121f1,!![]);}catch(_0x525579){return BPromise[_0x14e4('0x1f')](_0x525579);}return _0x191b72[_0x14e4('0x20')]();};}function saveUpdates(_0x27d0e6,_0x111e2d){return function(_0x5a0c5e){if(_0x5a0c5e){return _0x5a0c5e[_0x14e4('0x21')](_0x27d0e6)['then'](function(_0x575a09){return _0x575a09;});}return null;};}function removeEntity(_0x4aed0d,_0xbacac2){return function(_0x4570a3){if(_0x4570a3){return _0x4570a3[_0x14e4('0x22')]()[_0x14e4('0x23')](function(){_0x4aed0d[_0x14e4('0x1b')](0xcc)[_0x14e4('0x15')]();});}};}function handleEntityNotFound(_0x33d9d6,_0x4f2654){return function(_0x307bda){if(!_0x307bda){_0x33d9d6['sendStatus'](0x194);}return _0x307bda;};}function handleError(_0x5c39cd,_0x2d2b5d){_0x2d2b5d=_0x2d2b5d||0x1f4;return function(_0x534cc3){logger[_0x14e4('0x24')](_0x534cc3['stack']);if(_0x534cc3[_0x14e4('0x25')]){delete _0x534cc3[_0x14e4('0x25')];}_0x5c39cd['status'](_0x2d2b5d)[_0x14e4('0x26')](_0x534cc3);};}var utilLicense=require(_0x14e4('0x27'));exports[_0x14e4('0x28')]=function(_0x59a81f,_0x22cbba){var _0x1b0909={'raw':!![],'where':{'id':0x1}},_0x40333d={};_0x40333d[_0x14e4('0x29')]=_[_0x14e4('0x2a')](db[_0x14e4('0x2b')][_0x14e4('0x2c')]);_0x40333d['query']=_[_0x14e4('0x2a')](_0x59a81f[_0x14e4('0x2d')]);_0x40333d[_0x14e4('0x2e')]=_[_0x14e4('0x2f')](_0x40333d['model'],_0x40333d[_0x14e4('0x2d')]);_0x1b0909[_0x14e4('0x30')]=_[_0x14e4('0x2f')](_0x40333d[_0x14e4('0x29')],qs['fields'](_0x59a81f[_0x14e4('0x2d')][_0x14e4('0x31')]));_0x1b0909[_0x14e4('0x30')]=_0x1b0909[_0x14e4('0x30')][_0x14e4('0x32')]?_0x1b0909['attributes']:_0x40333d['model'];_0x1b0909=_[_0x14e4('0x33')]({},_0x1b0909,_0x59a81f[_0x14e4('0x34')]);return utilLicense[_0x14e4('0x35')](_0x1b0909)['then'](respondWithResult(_0x22cbba,null))[_0x14e4('0x36')](handleError(_0x22cbba,null));};exports[_0x14e4('0x21')]=function(_0xc7df1a,_0x687121){if(_0xc7df1a[_0x14e4('0x37')]['id']){delete _0xc7df1a[_0x14e4('0x37')]['id'];}return db[_0x14e4('0x2b')][_0x14e4('0x38')]({'where':{'id':_0xc7df1a['params']['id']}})[_0x14e4('0x23')](handleEntityNotFound(_0x687121,null))[_0x14e4('0x23')](function(_0x57ab1b){var _0x3aec82=_0x57ab1b[_0x14e4('0x39')]({'plain':!![]});return utilLicense[_0x14e4('0x3a')](_0x3aec82,_0xc7df1a[_0x14e4('0x37')][_0x14e4('0x3b')]);})[_0x14e4('0x23')](function(_0x46ea71){if(!_0x46ea71['demo']){return saveUpdates(_0xc7df1a[_0x14e4('0x37')],null);}return _0x46ea71;})['then'](respondWithResult(_0x687121,null))['catch'](handleError(_0x687121,null));};exports['downloadLogFile']=function(_0x35f6a6,_0x2b9751){var _0x2ecb7b=_0x14e4('0x3c');var _0x30b708=path[_0x14e4('0x3d')]('/var',_0x14e4('0x3e'),_0x14e4('0x3f'),_0x2ecb7b);_0x2b9751['setHeader'](_0x14e4('0x40'),_0x14e4('0x41')+_0x2ecb7b);_0x2b9751['set'](_0x14e4('0x42'),_0x14e4('0x43'));_0x2b9751['download'](_0x30b708);};