c3cc78eb3c0238cdad61c0e2c888d9df60f27be9
[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 _0x1802=['api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','limit','count','offset','set','Content-Range','reject','save','then','error','name','send','index','model','License','query','keys','filters','intersection','attributes','fields','length','merge','options','getLicense','catch','update','body','find','checkLicense','demo','downloadLogFile','license-info.log','setHeader','Content-disposition','attachment;\x20filename=','text/plain','download','eml-format','zip-dir','request-promise','moment','mustache','util','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x295e84,_0x482105){var _0x49fcee=function(_0x480283){while(--_0x480283){_0x295e84['push'](_0x295e84['shift']());}};_0x49fcee(++_0x482105);}(_0x1802,0x125));var _0x2180=function(_0x205926,_0xcb0e7a){_0x205926=_0x205926-0x0;var _0x32a372=_0x1802[_0x205926];return _0x32a372;};'use strict';var emlformat=require(_0x2180('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2180('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2180('0x2'));var moment=require(_0x2180('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x2180('0x4'));var util=require(_0x2180('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x2180('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2180('0x7'));var _=require(_0x2180('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x2180('0x9'));var deskjs=require(_0x2180('0xa'));var toCsv=require('to-csv');var querystring=require(_0x2180('0xb'));var Papa=require('papaparse');var Redis=require(_0x2180('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x2180('0xd'));var as=require(_0x2180('0xe'));var hardwareService=require(_0x2180('0xf'));var logger=require(_0x2180('0x10'))(_0x2180('0x11'));var utils=require('../../config/utils');var config=require(_0x2180('0x12'));var licenseUtil=require(_0x2180('0x13'));var db=require(_0x2180('0x14'))['db'];function respondWithStatusCode(_0x5cbc7d,_0x168598){_0x168598=_0x168598||0xcc;return function(_0x382139){if(_0x382139){return _0x5cbc7d[_0x2180('0x15')](_0x168598);}return _0x5cbc7d['status'](_0x168598)[_0x2180('0x16')]();};}function respondWithResult(_0x1653ce,_0x575845){_0x575845=_0x575845||0xc8;return function(_0x41db7d){if(_0x41db7d){return _0x1653ce[_0x2180('0x17')](_0x575845)[_0x2180('0x18')](_0x41db7d);}};}function respondWithFilteredResult(_0x16f9cb,_0x49f5c8){return function(_0x276e4e){if(_0x276e4e){var _0x3ad768=typeof _0x49f5c8['offset']==='undefined'&&typeof _0x49f5c8[_0x2180('0x19')]==='undefined';var _0x4d99b1=_0x276e4e['count'];var _0x260406=_0x3ad768?0x0:_0x49f5c8['offset'];var _0x11f97d=_0x3ad768?_0x276e4e[_0x2180('0x1a')]:_0x49f5c8[_0x2180('0x1b')]+_0x49f5c8[_0x2180('0x19')];var _0x1e74c9;if(_0x11f97d>=_0x4d99b1){_0x11f97d=_0x4d99b1;_0x1e74c9=0xc8;}else{_0x1e74c9=0xce;}_0x16f9cb[_0x2180('0x17')](_0x1e74c9);return _0x16f9cb[_0x2180('0x1c')](_0x2180('0x1d'),_0x260406+'-'+_0x11f97d+'/'+_0x4d99b1)[_0x2180('0x18')](_0x276e4e);}return null;};}function patchUpdates(_0x5c2841){return function(_0x4fff48){try{jsonpatch['apply'](_0x4fff48,_0x5c2841,!![]);}catch(_0x448862){return BPromise[_0x2180('0x1e')](_0x448862);}return _0x4fff48[_0x2180('0x1f')]();};}function saveUpdates(_0x3d51a6,_0x137ba9){return function(_0x3e3c63){if(_0x3e3c63){return _0x3e3c63['update'](_0x3d51a6)[_0x2180('0x20')](function(_0x3406b3){return _0x3406b3;});}return null;};}function removeEntity(_0x2aa8b7,_0x31875a){return function(_0x258fee){if(_0x258fee){return _0x258fee['destroy']()['then'](function(){_0x2aa8b7['status'](0xcc)[_0x2180('0x16')]();});}};}function handleEntityNotFound(_0x484875,_0x5677f6){return function(_0x29e3a2){if(!_0x29e3a2){_0x484875[_0x2180('0x15')](0x194);}return _0x29e3a2;};}function handleError(_0x21cf57,_0x5314be){_0x5314be=_0x5314be||0x1f4;return function(_0x4ec448){logger[_0x2180('0x21')](_0x4ec448['stack']);if(_0x4ec448[_0x2180('0x22')]){delete _0x4ec448[_0x2180('0x22')];}_0x21cf57[_0x2180('0x17')](_0x5314be)[_0x2180('0x23')](_0x4ec448);};}var utilLicense=require(_0x2180('0x13'));exports[_0x2180('0x24')]=function(_0x19a597,_0x500b7a){var _0x212666={'raw':!![],'where':{'id':0x1}},_0x4f3b1e={};_0x4f3b1e[_0x2180('0x25')]=_['keys'](db[_0x2180('0x26')]['rawAttributes']);_0x4f3b1e[_0x2180('0x27')]=_[_0x2180('0x28')](_0x19a597[_0x2180('0x27')]);_0x4f3b1e[_0x2180('0x29')]=_[_0x2180('0x2a')](_0x4f3b1e[_0x2180('0x25')],_0x4f3b1e['query']);_0x212666[_0x2180('0x2b')]=_[_0x2180('0x2a')](_0x4f3b1e['model'],qs[_0x2180('0x2c')](_0x19a597['query'][_0x2180('0x2c')]));_0x212666['attributes']=_0x212666['attributes'][_0x2180('0x2d')]?_0x212666[_0x2180('0x2b')]:_0x4f3b1e[_0x2180('0x25')];_0x212666=_[_0x2180('0x2e')]({},_0x212666,_0x19a597[_0x2180('0x2f')]);return utilLicense[_0x2180('0x30')](_0x212666)[_0x2180('0x20')](respondWithResult(_0x500b7a,null))[_0x2180('0x31')](handleError(_0x500b7a,null));};exports[_0x2180('0x32')]=function(_0x454116,_0x1c57ed){if(_0x454116[_0x2180('0x33')]['id']){delete _0x454116[_0x2180('0x33')]['id'];}return db[_0x2180('0x26')][_0x2180('0x34')]({'where':{'id':_0x454116['params']['id']}})[_0x2180('0x20')](handleEntityNotFound(_0x1c57ed,null))[_0x2180('0x20')](function(_0x97d433){var _0x175ead=_0x97d433['get']({'plain':!![]});return utilLicense[_0x2180('0x35')](_0x175ead,_0x454116[_0x2180('0x33')]['key']);})[_0x2180('0x20')](function(_0x358c01){if(!_0x358c01[_0x2180('0x36')]){return saveUpdates(_0x454116[_0x2180('0x33')],null);}return _0x358c01;})[_0x2180('0x20')](respondWithResult(_0x1c57ed,null))[_0x2180('0x31')](handleError(_0x1c57ed,null));};exports[_0x2180('0x37')]=function(_0x3f83aa,_0x34b5d7){var _0x33ec12=_0x2180('0x38');var _0xb5a9bd=path['join']('/var','log','xcally',_0x33ec12);_0x34b5d7[_0x2180('0x39')](_0x2180('0x3a'),_0x2180('0x3b')+_0x33ec12);_0x34b5d7[_0x2180('0x1c')]('Content-Type',_0x2180('0x3c'));_0x34b5d7[_0x2180('0x3d')](_0xb5a9bd);};