Built motion from commit c738b9ac.|2.6.25
[motion2.git] / server / api / migration / migration.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 _0x0d42=['error','stack','name','send','map','Migration','rawAttributes','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','includeAll','include','findAll','rows','catch','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','update','then','destroy'];(function(_0x2325b3,_0x568544){var _0x148bb1=function(_0x1246d2){while(--_0x1246d2){_0x2325b3['push'](_0x2325b3['shift']());}};_0x148bb1(++_0x568544);}(_0x0d42,0x131));var _0x20d4=function(_0x320b8e,_0x1da3fe){_0x320b8e=_0x320b8e-0x0;var _0x55a10a=_0x0d42[_0x320b8e];return _0x55a10a;};'use strict';var emlformat=require(_0x20d4('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x20d4('0x1'));var jsonpatch=require(_0x20d4('0x2'));var rp=require(_0x20d4('0x3'));var moment=require(_0x20d4('0x4'));var BPromise=require(_0x20d4('0x5'));var Mustache=require(_0x20d4('0x6'));var util=require(_0x20d4('0x7'));var path=require(_0x20d4('0x8'));var sox=require(_0x20d4('0x9'));var csv=require('to-csv');var ejs=require(_0x20d4('0xa'));var fs=require('fs');var fs_extra=require(_0x20d4('0xb'));var _=require(_0x20d4('0xc'));var squel=require(_0x20d4('0xd'));var crypto=require(_0x20d4('0xe'));var jsforce=require(_0x20d4('0xf'));var deskjs=require(_0x20d4('0x10'));var toCsv=require(_0x20d4('0x11'));var querystring=require(_0x20d4('0x12'));var Papa=require(_0x20d4('0x13'));var Redis=require(_0x20d4('0x14'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x20d4('0x15'));var logger=require(_0x20d4('0x16'))(_0x20d4('0x17'));var utils=require('../../config/utils');var config=require(_0x20d4('0x18'));var licenseUtil=require(_0x20d4('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2c9f35,_0xf2e7c6){_0xf2e7c6=_0xf2e7c6||0xcc;return function(_0x1cf76c){if(_0x1cf76c){return _0x2c9f35[_0x20d4('0x1a')](_0xf2e7c6);}return _0x2c9f35[_0x20d4('0x1b')](_0xf2e7c6)[_0x20d4('0x1c')]();};}function respondWithResult(_0x1b9a6a,_0x55c4f4){_0x55c4f4=_0x55c4f4||0xc8;return function(_0x23e1ed){if(_0x23e1ed){return _0x1b9a6a['status'](_0x55c4f4)['json'](_0x23e1ed);}};}function respondWithFilteredResult(_0x4b4c86,_0x2bb3e3){return function(_0x20d849){if(_0x20d849){var _0x5b55fb=typeof _0x2bb3e3['offset']===_0x20d4('0x1d')&&typeof _0x2bb3e3[_0x20d4('0x1e')]==='undefined';var _0x57b154=_0x20d849[_0x20d4('0x1f')];var _0x2a4fb9=_0x5b55fb?0x0:_0x2bb3e3[_0x20d4('0x20')];var _0x2c6a62=_0x5b55fb?_0x20d849[_0x20d4('0x1f')]:_0x2bb3e3[_0x20d4('0x20')]+_0x2bb3e3[_0x20d4('0x1e')];var _0x34bbe9;if(_0x2c6a62>=_0x57b154){_0x2c6a62=_0x57b154;_0x34bbe9=0xc8;}else{_0x34bbe9=0xce;}_0x4b4c86[_0x20d4('0x1b')](_0x34bbe9);return _0x4b4c86[_0x20d4('0x21')](_0x20d4('0x22'),_0x2a4fb9+'-'+_0x2c6a62+'/'+_0x57b154)[_0x20d4('0x23')](_0x20d849);}return null;};}function patchUpdates(_0x26ebf9){return function(_0x5821fc){try{jsonpatch[_0x20d4('0x24')](_0x5821fc,_0x26ebf9,!![]);}catch(_0x297173){return BPromise['reject'](_0x297173);}return _0x5821fc['save']();};}function saveUpdates(_0x374ab3,_0x2aec10){return function(_0x45a6de){if(_0x45a6de){return _0x45a6de[_0x20d4('0x25')](_0x374ab3)[_0x20d4('0x26')](function(_0x230e51){return _0x230e51;});}return null;};}function removeEntity(_0x13b263,_0x1fbfdb){return function(_0x36aee2){if(_0x36aee2){return _0x36aee2[_0x20d4('0x27')]()['then'](function(){_0x13b263[_0x20d4('0x1b')](0xcc)[_0x20d4('0x1c')]();});}};}function handleEntityNotFound(_0x52478a,_0x20ae24){return function(_0x3e6546){if(!_0x3e6546){_0x52478a[_0x20d4('0x1a')](0x194);}return _0x3e6546;};}function handleError(_0x2057c4,_0x2e51eb){_0x2e51eb=_0x2e51eb||0x1f4;return function(_0x26bae9){logger[_0x20d4('0x28')](_0x26bae9[_0x20d4('0x29')]);if(_0x26bae9[_0x20d4('0x2a')]){delete _0x26bae9['name'];}_0x2057c4[_0x20d4('0x1b')](_0x2e51eb)[_0x20d4('0x2b')](_0x26bae9);};}exports['index']=function(_0x2a2930,_0x378d6b){var _0x40ead8={},_0x45e02e={},_0xa1ec3d={'count':0x0,'rows':[]};var _0x3418a3=_[_0x20d4('0x2c')](db[_0x20d4('0x2d')][_0x20d4('0x2e')],function(_0x3dc643){return{'name':_0x3dc643['fieldName'],'type':_0x3dc643['type'][_0x20d4('0x2f')]};});_0x45e02e['model']=_[_0x20d4('0x2c')](_0x3418a3,_0x20d4('0x2a'));_0x45e02e[_0x20d4('0x30')]=_[_0x20d4('0x31')](_0x2a2930[_0x20d4('0x30')]);_0x45e02e[_0x20d4('0x32')]=_[_0x20d4('0x33')](_0x45e02e[_0x20d4('0x34')],_0x45e02e['query']);_0x40ead8[_0x20d4('0x35')]=_[_0x20d4('0x33')](_0x45e02e['model'],qs[_0x20d4('0x36')](_0x2a2930[_0x20d4('0x30')][_0x20d4('0x36')]));_0x40ead8[_0x20d4('0x35')]=_0x40ead8[_0x20d4('0x35')][_0x20d4('0x37')]?_0x40ead8[_0x20d4('0x35')]:_0x45e02e[_0x20d4('0x34')];if(!_0x2a2930[_0x20d4('0x30')][_0x20d4('0x38')](_0x20d4('0x39'))){_0x40ead8[_0x20d4('0x1e')]=qs[_0x20d4('0x1e')](_0x2a2930[_0x20d4('0x30')][_0x20d4('0x1e')]);_0x40ead8[_0x20d4('0x20')]=qs[_0x20d4('0x20')](_0x2a2930['query'][_0x20d4('0x20')]);}_0x40ead8[_0x20d4('0x3a')]=qs['sort'](_0x2a2930[_0x20d4('0x30')][_0x20d4('0x3b')]);_0x40ead8['where']=qs[_0x20d4('0x32')](_[_0x20d4('0x3c')](_0x2a2930[_0x20d4('0x30')],_0x45e02e[_0x20d4('0x32')]),_0x3418a3);if(_0x2a2930[_0x20d4('0x30')][_0x20d4('0x3d')]){_0x40ead8[_0x20d4('0x3e')]=_[_0x20d4('0x3f')](_0x40ead8['where'],{'$or':_[_0x20d4('0x2c')](_0x3418a3,function(_0x40bbc9){if(_0x40bbc9['type']!=='VIRTUAL'){var _0x447cc2={};_0x447cc2[_0x40bbc9[_0x20d4('0x2a')]]={'$like':'%'+_0x2a2930['query'][_0x20d4('0x3d')]+'%'};return _0x447cc2;}})});}_0x40ead8=_['merge']({},_0x40ead8,_0x2a2930['options']);var _0x38683b={'where':_0x40ead8['where']};return db[_0x20d4('0x2d')][_0x20d4('0x1f')](_0x38683b)[_0x20d4('0x26')](function(_0x2e5781){_0xa1ec3d[_0x20d4('0x1f')]=_0x2e5781;if(_0x2a2930[_0x20d4('0x30')][_0x20d4('0x40')]){_0x40ead8[_0x20d4('0x41')]=[{'all':!![]}];}return db[_0x20d4('0x2d')][_0x20d4('0x42')](_0x40ead8);})[_0x20d4('0x26')](function(_0x324600){_0xa1ec3d[_0x20d4('0x43')]=_0x324600;return _0xa1ec3d;})[_0x20d4('0x26')](respondWithFilteredResult(_0x378d6b,_0x40ead8))[_0x20d4('0x44')](handleError(_0x378d6b,null));};