80083051050b1d4c989753f350b4d105e1fbed80
[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 _0xc45f=['json','apply','reject','save','update','then','destroy','error','stack','name','send','index','rawAttributes','query','keys','intersection','attributes','fields','length','model','merge','options','catch','body','License','find','params','get','checkLicense','key','demo','downloadLogFile','/var','log','xcally','setHeader','Content-disposition','Content-Type','text/plain','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set'];(function(_0x103cd3,_0x2d7033){var _0x2255b8=function(_0x1fc254){while(--_0x1fc254){_0x103cd3['push'](_0x103cd3['shift']());}};_0x2255b8(++_0x2d7033);}(_0xc45f,0x14f));var _0xfc45=function(_0x4972a7,_0x426796){_0x4972a7=_0x4972a7-0x0;var _0x2a83e9=_0xc45f[_0x4972a7];return _0x2a83e9;};'use strict';var emlformat=require(_0xfc45('0x0'));var rimraf=require(_0xfc45('0x1'));var zipdir=require(_0xfc45('0x2'));var jsonpatch=require(_0xfc45('0x3'));var rp=require(_0xfc45('0x4'));var moment=require(_0xfc45('0x5'));var BPromise=require(_0xfc45('0x6'));var Mustache=require('mustache');var util=require(_0xfc45('0x7'));var path=require(_0xfc45('0x8'));var sox=require(_0xfc45('0x9'));var csv=require(_0xfc45('0xa'));var ejs=require(_0xfc45('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xfc45('0xc'));var crypto=require(_0xfc45('0xd'));var jsforce=require(_0xfc45('0xe'));var deskjs=require(_0xfc45('0xf'));var toCsv=require(_0xfc45('0xa'));var querystring=require(_0xfc45('0x10'));var Papa=require(_0xfc45('0x11'));var Redis=require(_0xfc45('0x12'));var authService=require(_0xfc45('0x13'));var qs=require(_0xfc45('0x14'));var as=require(_0xfc45('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfc45('0x16'))('api');var utils=require(_0xfc45('0x17'));var config=require(_0xfc45('0x18'));var licenseUtil=require(_0xfc45('0x19'));var db=require(_0xfc45('0x1a'))['db'];function respondWithStatusCode(_0x2dab05,_0x5e7c07){_0x5e7c07=_0x5e7c07||0xcc;return function(_0x1acefc){if(_0x1acefc){return _0x2dab05[_0xfc45('0x1b')](_0x5e7c07);}return _0x2dab05[_0xfc45('0x1c')](_0x5e7c07)[_0xfc45('0x1d')]();};}function respondWithResult(_0xa6fe80,_0x2e8ca){_0x2e8ca=_0x2e8ca||0xc8;return function(_0x5807de){if(_0x5807de){return _0xa6fe80[_0xfc45('0x1c')](_0x2e8ca)['json'](_0x5807de);}};}function respondWithFilteredResult(_0x5a3446,_0x55bb0e){return function(_0x1b9701){if(_0x1b9701){var _0x47357a=typeof _0x55bb0e[_0xfc45('0x1e')]===_0xfc45('0x1f')&&typeof _0x55bb0e['limit']==='undefined';var _0x58cc4f=_0x1b9701['count'];var _0x1493a0=_0x47357a?0x0:_0x55bb0e[_0xfc45('0x1e')];var _0x112ba6=_0x47357a?_0x1b9701[_0xfc45('0x20')]:_0x55bb0e['offset']+_0x55bb0e[_0xfc45('0x21')];var _0x24b79c;if(_0x112ba6>=_0x58cc4f){_0x112ba6=_0x58cc4f;_0x24b79c=0xc8;}else{_0x24b79c=0xce;}_0x5a3446['status'](_0x24b79c);return _0x5a3446[_0xfc45('0x22')]('Content-Range',_0x1493a0+'-'+_0x112ba6+'/'+_0x58cc4f)[_0xfc45('0x23')](_0x1b9701);}return null;};}function patchUpdates(_0x7aa151){return function(_0x28e701){try{jsonpatch[_0xfc45('0x24')](_0x28e701,_0x7aa151,!![]);}catch(_0x4f68d0){return BPromise[_0xfc45('0x25')](_0x4f68d0);}return _0x28e701[_0xfc45('0x26')]();};}function saveUpdates(_0xcf4ac2,_0x425650){return function(_0x1a2ab0){if(_0x1a2ab0){return _0x1a2ab0[_0xfc45('0x27')](_0xcf4ac2)[_0xfc45('0x28')](function(_0xfc4b16){return _0xfc4b16;});}return null;};}function removeEntity(_0x591dc8,_0x9fcd1d){return function(_0x523738){if(_0x523738){return _0x523738[_0xfc45('0x29')]()['then'](function(){_0x591dc8[_0xfc45('0x1c')](0xcc)[_0xfc45('0x1d')]();});}};}function handleEntityNotFound(_0x4affd4,_0x2d38a5){return function(_0x3ce44b){if(!_0x3ce44b){_0x4affd4[_0xfc45('0x1b')](0x194);}return _0x3ce44b;};}function handleError(_0x588f41,_0xec1705){_0xec1705=_0xec1705||0x1f4;return function(_0x47a476){logger[_0xfc45('0x2a')](_0x47a476[_0xfc45('0x2b')]);if(_0x47a476['name']){delete _0x47a476[_0xfc45('0x2c')];}_0x588f41['status'](_0xec1705)[_0xfc45('0x2d')](_0x47a476);};}var utilLicense=require(_0xfc45('0x19'));exports[_0xfc45('0x2e')]=function(_0x4f1e26,_0x29ac8e){var _0x300765={'raw':!![],'where':{'id':0x1}},_0xd14c00={};_0xd14c00['model']=_['keys'](db['License'][_0xfc45('0x2f')]);_0xd14c00[_0xfc45('0x30')]=_[_0xfc45('0x31')](_0x4f1e26['query']);_0xd14c00['filters']=_[_0xfc45('0x32')](_0xd14c00['model'],_0xd14c00[_0xfc45('0x30')]);_0x300765[_0xfc45('0x33')]=_[_0xfc45('0x32')](_0xd14c00['model'],qs[_0xfc45('0x34')](_0x4f1e26[_0xfc45('0x30')]['fields']));_0x300765[_0xfc45('0x33')]=_0x300765[_0xfc45('0x33')][_0xfc45('0x35')]?_0x300765[_0xfc45('0x33')]:_0xd14c00[_0xfc45('0x36')];_0x300765=_[_0xfc45('0x37')]({},_0x300765,_0x4f1e26[_0xfc45('0x38')]);return utilLicense['getLicense'](_0x300765)[_0xfc45('0x28')](respondWithResult(_0x29ac8e,null))[_0xfc45('0x39')](handleError(_0x29ac8e,null));};exports[_0xfc45('0x27')]=function(_0x278e1e,_0x1cc5ed){if(_0x278e1e[_0xfc45('0x3a')]['id']){delete _0x278e1e[_0xfc45('0x3a')]['id'];}return db[_0xfc45('0x3b')][_0xfc45('0x3c')]({'where':{'id':_0x278e1e[_0xfc45('0x3d')]['id']}})[_0xfc45('0x28')](handleEntityNotFound(_0x1cc5ed,null))[_0xfc45('0x28')](function(_0xcbaf1f){var _0x595b4f=_0xcbaf1f[_0xfc45('0x3e')]({'plain':!![]});return utilLicense[_0xfc45('0x3f')](_0x595b4f,_0x278e1e[_0xfc45('0x3a')][_0xfc45('0x40')]);})['then'](function(_0x224ca6){if(!_0x224ca6[_0xfc45('0x41')]){return saveUpdates(_0x278e1e['body'],null);}return _0x224ca6;})[_0xfc45('0x28')](respondWithResult(_0x1cc5ed,null))[_0xfc45('0x39')](handleError(_0x1cc5ed,null));};exports[_0xfc45('0x42')]=function(_0x163a38,_0x3253c0){var _0x3d82d8='license-info.log';var _0x2a1599=path['join'](_0xfc45('0x43'),_0xfc45('0x44'),_0xfc45('0x45'),_0x3d82d8);_0x3253c0[_0xfc45('0x46')](_0xfc45('0x47'),'attachment;\x20filename='+_0x3d82d8);_0x3253c0['set'](_0xfc45('0x48'),_0xfc45('0x49'));_0x3253c0['download'](_0x2a1599);};