3528cce82fe304ff1c0d14190ceea6f9a7840ceb
[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 _0x0ddb=['set','Content-Range','apply','reject','then','destroy','error','name','index','model','rawAttributes','keys','query','filters','intersection','attributes','length','merge','options','getLicense','find','get','checkLicense','demo','catch','downloadLogFile','license-info.log','/var','log','setHeader','Content-Type','text/plain','download','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count'];(function(_0x39cf70,_0x3ec55b){var _0x580424=function(_0x580a4e){while(--_0x580a4e){_0x39cf70['push'](_0x39cf70['shift']());}};_0x580424(++_0x3ec55b);}(_0x0ddb,0xab));var _0xb0dd=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x0ddb[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require(_0xb0dd('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb0dd('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb0dd('0x2'));var moment=require(_0xb0dd('0x3'));var BPromise=require(_0xb0dd('0x4'));var Mustache=require(_0xb0dd('0x5'));var util=require(_0xb0dd('0x6'));var path=require(_0xb0dd('0x7'));var sox=require('sox');var csv=require(_0xb0dd('0x8'));var ejs=require(_0xb0dd('0x9'));var fs=require('fs');var fs_extra=require(_0xb0dd('0xa'));var _=require(_0xb0dd('0xb'));var squel=require(_0xb0dd('0xc'));var crypto=require(_0xb0dd('0xd'));var jsforce=require(_0xb0dd('0xe'));var deskjs=require(_0xb0dd('0xf'));var toCsv=require(_0xb0dd('0x8'));var querystring=require(_0xb0dd('0x10'));var Papa=require(_0xb0dd('0x11'));var Redis=require(_0xb0dd('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xb0dd('0x13'));var as=require(_0xb0dd('0x14'));var hardwareService=require(_0xb0dd('0x15'));var logger=require(_0xb0dd('0x16'))(_0xb0dd('0x17'));var utils=require(_0xb0dd('0x18'));var config=require(_0xb0dd('0x19'));var licenseUtil=require(_0xb0dd('0x1a'));var db=require(_0xb0dd('0x1b'))['db'];function respondWithStatusCode(_0x42a78a,_0x52c4f3){_0x52c4f3=_0x52c4f3||0xcc;return function(_0x9c5867){if(_0x9c5867){return _0x42a78a[_0xb0dd('0x1c')](_0x52c4f3);}return _0x42a78a[_0xb0dd('0x1d')](_0x52c4f3)[_0xb0dd('0x1e')]();};}function respondWithResult(_0x543e0b,_0x44d62c){_0x44d62c=_0x44d62c||0xc8;return function(_0xccf08b){if(_0xccf08b){return _0x543e0b['status'](_0x44d62c)[_0xb0dd('0x1f')](_0xccf08b);}};}function respondWithFilteredResult(_0x193ac7,_0x4c4cc4){return function(_0x13209b){if(_0x13209b){var _0x3f62a4=typeof _0x4c4cc4[_0xb0dd('0x20')]===_0xb0dd('0x21')&&typeof _0x4c4cc4[_0xb0dd('0x22')]===_0xb0dd('0x21');var _0x92df97=_0x13209b['count'];var _0x291892=_0x3f62a4?0x0:_0x4c4cc4[_0xb0dd('0x20')];var _0x2b9b5f=_0x3f62a4?_0x13209b[_0xb0dd('0x23')]:_0x4c4cc4[_0xb0dd('0x20')]+_0x4c4cc4['limit'];var _0x3cd82b;if(_0x2b9b5f>=_0x92df97){_0x2b9b5f=_0x92df97;_0x3cd82b=0xc8;}else{_0x3cd82b=0xce;}_0x193ac7[_0xb0dd('0x1d')](_0x3cd82b);return _0x193ac7[_0xb0dd('0x24')](_0xb0dd('0x25'),_0x291892+'-'+_0x2b9b5f+'/'+_0x92df97)['json'](_0x13209b);}return null;};}function patchUpdates(_0x2d8778){return function(_0x1d3bd3){try{jsonpatch[_0xb0dd('0x26')](_0x1d3bd3,_0x2d8778,!![]);}catch(_0x38a2c5){return BPromise[_0xb0dd('0x27')](_0x38a2c5);}return _0x1d3bd3['save']();};}function saveUpdates(_0xe935c4,_0x1c7285){return function(_0x5d1a2a){if(_0x5d1a2a){return _0x5d1a2a['update'](_0xe935c4)[_0xb0dd('0x28')](function(_0x34fb33){return _0x34fb33;});}return null;};}function removeEntity(_0x54c839,_0x1de1a8){return function(_0x57a0b8){if(_0x57a0b8){return _0x57a0b8[_0xb0dd('0x29')]()[_0xb0dd('0x28')](function(){_0x54c839[_0xb0dd('0x1d')](0xcc)[_0xb0dd('0x1e')]();});}};}function handleEntityNotFound(_0x2517f8,_0x313b51){return function(_0x32aa26){if(!_0x32aa26){_0x2517f8[_0xb0dd('0x1c')](0x194);}return _0x32aa26;};}function handleError(_0x5d8786,_0x34e3bc){_0x34e3bc=_0x34e3bc||0x1f4;return function(_0xd7529a){logger[_0xb0dd('0x2a')](_0xd7529a['stack']);if(_0xd7529a[_0xb0dd('0x2b')]){delete _0xd7529a[_0xb0dd('0x2b')];}_0x5d8786[_0xb0dd('0x1d')](_0x34e3bc)['send'](_0xd7529a);};}var utilLicense=require(_0xb0dd('0x1a'));exports[_0xb0dd('0x2c')]=function(_0x49934a,_0xe785ef){var _0x7d8176={'raw':!![],'where':{'id':0x1}},_0x4d2f33={};_0x4d2f33[_0xb0dd('0x2d')]=_['keys'](db['License'][_0xb0dd('0x2e')]);_0x4d2f33['query']=_[_0xb0dd('0x2f')](_0x49934a[_0xb0dd('0x30')]);_0x4d2f33[_0xb0dd('0x31')]=_[_0xb0dd('0x32')](_0x4d2f33[_0xb0dd('0x2d')],_0x4d2f33['query']);_0x7d8176['attributes']=_[_0xb0dd('0x32')](_0x4d2f33[_0xb0dd('0x2d')],qs['fields'](_0x49934a[_0xb0dd('0x30')]['fields']));_0x7d8176[_0xb0dd('0x33')]=_0x7d8176[_0xb0dd('0x33')][_0xb0dd('0x34')]?_0x7d8176[_0xb0dd('0x33')]:_0x4d2f33[_0xb0dd('0x2d')];_0x7d8176=_[_0xb0dd('0x35')]({},_0x7d8176,_0x49934a[_0xb0dd('0x36')]);return utilLicense[_0xb0dd('0x37')](_0x7d8176)[_0xb0dd('0x28')](respondWithResult(_0xe785ef,null))['catch'](handleError(_0xe785ef,null));};exports['update']=function(_0x517445,_0x33ac46){if(_0x517445['body']['id']){delete _0x517445['body']['id'];}return db['License'][_0xb0dd('0x38')]({'where':{'id':_0x517445['params']['id']}})[_0xb0dd('0x28')](handleEntityNotFound(_0x33ac46,null))[_0xb0dd('0x28')](function(_0x3d4506){var _0x512e56=_0x3d4506[_0xb0dd('0x39')]({'plain':!![]});return utilLicense[_0xb0dd('0x3a')](_0x512e56,_0x517445['body']['key']);})[_0xb0dd('0x28')](function(_0x539113){if(!_0x539113[_0xb0dd('0x3b')]){return saveUpdates(_0x517445['body'],null);}return _0x539113;})[_0xb0dd('0x28')](respondWithResult(_0x33ac46,null))[_0xb0dd('0x3c')](handleError(_0x33ac46,null));};exports[_0xb0dd('0x3d')]=function(_0x3ca704,_0x1d77c0){var _0x444c7c=_0xb0dd('0x3e');var _0x33e54b=path['join'](_0xb0dd('0x3f'),_0xb0dd('0x40'),'xcally',_0x444c7c);_0x1d77c0[_0xb0dd('0x41')]('Content-disposition','attachment;\x20filename='+_0x444c7c);_0x1d77c0['set'](_0xb0dd('0x42'),_0xb0dd('0x43'));_0x1d77c0[_0xb0dd('0x44')](_0x33e54b);};