84bea70f69ef8eea5d4522d7a456de40317197cb
[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 _0x6ecd=['fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','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','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','name','send','index','model','rawAttributes','query','filters','intersection','attributes','fields','options','getLicense','update','body','License','find','params','get','key','catch','downloadLogFile','join','/var','log','xcally','setHeader','Content-disposition','text/plain','download','eml-format','zip-dir'];(function(_0x5df3d9,_0x1fc227){var _0x5bc0ba=function(_0x1b35c5){while(--_0x1b35c5){_0x5df3d9['push'](_0x5df3d9['shift']());}};_0x5bc0ba(++_0x1fc227);}(_0x6ecd,0x8c));var _0xd6ec=function(_0x1fa7a6,_0x456fa0){_0x1fa7a6=_0x1fa7a6-0x0;var _0x2438e8=_0x6ecd[_0x1fa7a6];return _0x2438e8;};'use strict';var emlformat=require(_0xd6ec('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd6ec('0x1'));var jsonpatch=require(_0xd6ec('0x2'));var rp=require(_0xd6ec('0x3'));var moment=require(_0xd6ec('0x4'));var BPromise=require(_0xd6ec('0x5'));var Mustache=require(_0xd6ec('0x6'));var util=require('util');var path=require(_0xd6ec('0x7'));var sox=require(_0xd6ec('0x8'));var csv=require('to-csv');var ejs=require(_0xd6ec('0x9'));var fs=require('fs');var fs_extra=require(_0xd6ec('0xa'));var _=require(_0xd6ec('0xb'));var squel=require(_0xd6ec('0xc'));var crypto=require(_0xd6ec('0xd'));var jsforce=require(_0xd6ec('0xe'));var deskjs=require(_0xd6ec('0xf'));var toCsv=require('to-csv');var querystring=require(_0xd6ec('0x10'));var Papa=require(_0xd6ec('0x11'));var Redis=require(_0xd6ec('0x12'));var authService=require(_0xd6ec('0x13'));var qs=require(_0xd6ec('0x14'));var as=require(_0xd6ec('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd6ec('0x16'))('api');var utils=require(_0xd6ec('0x17'));var config=require(_0xd6ec('0x18'));var licenseUtil=require(_0xd6ec('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3aa01d,_0x5ae1fb){_0x5ae1fb=_0x5ae1fb||0xcc;return function(_0xf0b80f){if(_0xf0b80f){return _0x3aa01d[_0xd6ec('0x1a')](_0x5ae1fb);}return _0x3aa01d[_0xd6ec('0x1b')](_0x5ae1fb)[_0xd6ec('0x1c')]();};}function respondWithResult(_0x1b13eb,_0x3d5500){_0x3d5500=_0x3d5500||0xc8;return function(_0xd36041){if(_0xd36041){return _0x1b13eb[_0xd6ec('0x1b')](_0x3d5500)[_0xd6ec('0x1d')](_0xd36041);}};}function respondWithFilteredResult(_0x825321,_0x2e051c){return function(_0x119c96){if(_0x119c96){var _0x3466ef=typeof _0x2e051c[_0xd6ec('0x1e')]===_0xd6ec('0x1f')&&typeof _0x2e051c[_0xd6ec('0x20')]===_0xd6ec('0x1f');var _0x5cb877=_0x119c96[_0xd6ec('0x21')];var _0x1c1d08=_0x3466ef?0x0:_0x2e051c[_0xd6ec('0x1e')];var _0x2437fa=_0x3466ef?_0x119c96['count']:_0x2e051c['offset']+_0x2e051c[_0xd6ec('0x20')];var _0x2abcc3;if(_0x2437fa>=_0x5cb877){_0x2437fa=_0x5cb877;_0x2abcc3=0xc8;}else{_0x2abcc3=0xce;}_0x825321[_0xd6ec('0x1b')](_0x2abcc3);return _0x825321[_0xd6ec('0x22')](_0xd6ec('0x23'),_0x1c1d08+'-'+_0x2437fa+'/'+_0x5cb877)[_0xd6ec('0x1d')](_0x119c96);}return null;};}function patchUpdates(_0x2e78fa){return function(_0x4d24ef){try{jsonpatch[_0xd6ec('0x24')](_0x4d24ef,_0x2e78fa,!![]);}catch(_0x34795d){return BPromise[_0xd6ec('0x25')](_0x34795d);}return _0x4d24ef[_0xd6ec('0x26')]();};}function saveUpdates(_0x4e83c2,_0x287e4b){return function(_0x2bcf97){if(_0x2bcf97){return _0x2bcf97['update'](_0x4e83c2)[_0xd6ec('0x27')](function(_0x1e69e3){return _0x1e69e3;});}return null;};}function removeEntity(_0x3ada34,_0x1f0816){return function(_0x9d9f30){if(_0x9d9f30){return _0x9d9f30[_0xd6ec('0x28')]()[_0xd6ec('0x27')](function(){_0x3ada34['status'](0xcc)[_0xd6ec('0x1c')]();});}};}function handleEntityNotFound(_0x124443,_0x34c103){return function(_0x224cf9){if(!_0x224cf9){_0x124443[_0xd6ec('0x1a')](0x194);}return _0x224cf9;};}function handleError(_0x249f9a,_0x5b25d2){_0x5b25d2=_0x5b25d2||0x1f4;return function(_0x597b24){logger[_0xd6ec('0x29')](_0x597b24['stack']);if(_0x597b24['name']){delete _0x597b24[_0xd6ec('0x2a')];}_0x249f9a['status'](_0x5b25d2)[_0xd6ec('0x2b')](_0x597b24);};}var utilLicense=require(_0xd6ec('0x19'));exports[_0xd6ec('0x2c')]=function(_0x57aa74,_0x3a125a){var _0x33e298={'raw':!![],'where':{'id':0x1}},_0x5a84a6={};_0x5a84a6[_0xd6ec('0x2d')]=_['keys'](db['License'][_0xd6ec('0x2e')]);_0x5a84a6[_0xd6ec('0x2f')]=_['keys'](_0x57aa74[_0xd6ec('0x2f')]);_0x5a84a6[_0xd6ec('0x30')]=_[_0xd6ec('0x31')](_0x5a84a6[_0xd6ec('0x2d')],_0x5a84a6['query']);_0x33e298[_0xd6ec('0x32')]=_[_0xd6ec('0x31')](_0x5a84a6[_0xd6ec('0x2d')],qs[_0xd6ec('0x33')](_0x57aa74['query'][_0xd6ec('0x33')]));_0x33e298[_0xd6ec('0x32')]=_0x33e298['attributes']['length']?_0x33e298[_0xd6ec('0x32')]:_0x5a84a6['model'];_0x33e298=_['merge']({},_0x33e298,_0x57aa74[_0xd6ec('0x34')]);return utilLicense[_0xd6ec('0x35')](_0x33e298)[_0xd6ec('0x27')](respondWithResult(_0x3a125a,null))['catch'](handleError(_0x3a125a,null));};exports[_0xd6ec('0x36')]=function(_0x9f4f8a,_0x53d8ce){if(_0x9f4f8a[_0xd6ec('0x37')]['id']){delete _0x9f4f8a[_0xd6ec('0x37')]['id'];}return db[_0xd6ec('0x38')][_0xd6ec('0x39')]({'where':{'id':_0x9f4f8a[_0xd6ec('0x3a')]['id']}})[_0xd6ec('0x27')](handleEntityNotFound(_0x53d8ce,null))['then'](function(_0x3a7aac){var _0x4af79f=_0x3a7aac[_0xd6ec('0x3b')]({'plain':!![]});return utilLicense['checkLicense'](_0x4af79f,_0x9f4f8a[_0xd6ec('0x37')][_0xd6ec('0x3c')]);})['then'](function(_0x28b8c1){if(!_0x28b8c1['demo']){return saveUpdates(_0x9f4f8a[_0xd6ec('0x37')],null);}return _0x28b8c1;})[_0xd6ec('0x27')](respondWithResult(_0x53d8ce,null))[_0xd6ec('0x3d')](handleError(_0x53d8ce,null));};exports[_0xd6ec('0x3e')]=function(_0x5c39dd,_0x388fa1){var _0x4d766c='license-info.log';var _0x26b1c3=path[_0xd6ec('0x3f')](_0xd6ec('0x40'),_0xd6ec('0x41'),_0xd6ec('0x42'),_0x4d766c);_0x388fa1[_0xd6ec('0x43')](_0xd6ec('0x44'),'attachment;\x20filename='+_0x4d766c);_0x388fa1[_0xd6ec('0x22')]('Content-Type',_0xd6ec('0x45'));_0x388fa1[_0xd6ec('0x46')](_0x26b1c3);};