83a72dbbf8bd2c04489822e92553b86876e4af01
[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 _0x55e5=['papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','limit','set','Content-Range','apply','save','update','then','destroy','end','error','name','index','Migration','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','offset','order','sort','where','pick','merge','map','type','key','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','html-pdf','eml-format','zip-dir','request-promise','bluebird','util','path','sox','to-csv','lodash','squel','jsforce','desk.js'];(function(_0x7a3247,_0x15cb12){var _0x1bfde5=function(_0x62bbef){while(--_0x62bbef){_0x7a3247['push'](_0x7a3247['shift']());}};_0x1bfde5(++_0x15cb12);}(_0x55e5,0x1b3));var _0x555e=function(_0x346a2f,_0x5b7c6d){_0x346a2f=_0x346a2f-0x0;var _0x46ed5f=_0x55e5[_0x346a2f];return _0x46ed5f;};'use strict';var pdf=require(_0x555e('0x0'));var emlformat=require(_0x555e('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x555e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x555e('0x3'));var moment=require('moment');var BPromise=require(_0x555e('0x4'));var Mustache=require('mustache');var util=require(_0x555e('0x5'));var path=require(_0x555e('0x6'));var sox=require(_0x555e('0x7'));var csv=require(_0x555e('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x555e('0x9'));var squel=require(_0x555e('0xa'));var crypto=require('crypto');var jsforce=require(_0x555e('0xb'));var deskjs=require(_0x555e('0xc'));var toCsv=require(_0x555e('0x8'));var querystring=require('querystring');var Papa=require(_0x555e('0xd'));var Redis=require('ioredis');var authService=require(_0x555e('0xe'));var qs=require(_0x555e('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x555e('0x10'))(_0x555e('0x11'));var utils=require(_0x555e('0x12'));var config=require(_0x555e('0x13'));var db=require(_0x555e('0x14'))['db'];function respondWithStatusCode(_0x6690cc,_0x22f24e){_0x22f24e=_0x22f24e||0xcc;return function(_0x41024e){if(_0x41024e){return _0x6690cc[_0x555e('0x15')](_0x22f24e);}return _0x6690cc[_0x555e('0x16')](_0x22f24e)['end']();};}function respondWithResult(_0x1d5cf2,_0x4de3ef){_0x4de3ef=_0x4de3ef||0xc8;return function(_0x316f56){if(_0x316f56){return _0x1d5cf2['status'](_0x4de3ef)[_0x555e('0x17')](_0x316f56);}};}function respondWithFilteredResult(_0x8aa0c2,_0xe5bbe1){return function(_0x5031d2){if(_0x5031d2){var _0x1e1ad6=_0x5031d2['count'],_0x905717=_0xe5bbe1['offset'],_0x341a61=_0xe5bbe1['offset']+_0xe5bbe1[_0x555e('0x18')],_0x262d5a;if(_0x341a61>=_0x1e1ad6){_0x341a61=_0x1e1ad6;_0x262d5a=0xc8;}else{_0x262d5a=0xce;}_0x8aa0c2[_0x555e('0x16')](_0x262d5a);return _0x8aa0c2[_0x555e('0x19')](_0x555e('0x1a'),_0x905717+'-'+_0x341a61+'/'+_0x1e1ad6)[_0x555e('0x17')](_0x5031d2);}return null;};}function patchUpdates(_0x24b6b0){return function(_0x179b70){try{jsonpatch[_0x555e('0x1b')](_0x179b70,_0x24b6b0,!![]);}catch(_0x297c88){return BPromise['reject'](_0x297c88);}return _0x179b70[_0x555e('0x1c')]();};}function saveUpdates(_0x537429,_0x8d0e0d){return function(_0x507bb5){if(_0x507bb5){return _0x507bb5[_0x555e('0x1d')](_0x537429)[_0x555e('0x1e')](function(_0x54495c){return _0x54495c;});}return null;};}function removeEntity(_0x7abb0f,_0x44a70c){return function(_0x444d92){if(_0x444d92){return _0x444d92[_0x555e('0x1f')]()['then'](function(){_0x7abb0f[_0x555e('0x16')](0xcc)[_0x555e('0x20')]();});}};}function handleEntityNotFound(_0x112982,_0x5c8bd4){return function(_0x15cee4){if(!_0x15cee4){_0x112982[_0x555e('0x15')](0x194);}return _0x15cee4;};}function handleError(_0x59bc47,_0x158677){_0x158677=_0x158677||0x1f4;return function(_0x2e7f34){logger[_0x555e('0x21')](_0x2e7f34['stack']);if(_0x2e7f34['name']){delete _0x2e7f34[_0x555e('0x22')];}_0x59bc47['status'](_0x158677)['send'](_0x2e7f34);};}exports[_0x555e('0x23')]=function(_0x335097,_0x5b451b){var _0x144faf={},_0x5228ea={},_0x460083={'count':0x0,'rows':[]};var _0x5b1c1b=db[_0x555e('0x24')]['rawAttributes'];_0x5228ea[_0x555e('0x25')]=_[_0x555e('0x26')](_0x5b1c1b);_0x5228ea[_0x555e('0x27')]=_[_0x555e('0x26')](_0x335097[_0x555e('0x27')]);_0x5228ea[_0x555e('0x28')]=_[_0x555e('0x29')](_0x5228ea[_0x555e('0x25')],_0x5228ea[_0x555e('0x27')]);_0x144faf['attributes']=_[_0x555e('0x29')](_0x5228ea[_0x555e('0x25')],qs[_0x555e('0x2a')](_0x335097[_0x555e('0x27')][_0x555e('0x2a')]));_0x144faf[_0x555e('0x2b')]=_0x144faf['attributes']['length']?_0x144faf[_0x555e('0x2b')]:_0x5228ea['model'];if(!_0x335097[_0x555e('0x27')][_0x555e('0x2c')](_0x555e('0x2d'))){_0x144faf[_0x555e('0x18')]=qs[_0x555e('0x18')](_0x335097[_0x555e('0x27')]['limit']);_0x144faf[_0x555e('0x2e')]=qs[_0x555e('0x2e')](_0x335097[_0x555e('0x27')]['offset']);}_0x144faf[_0x555e('0x2f')]=qs[_0x555e('0x30')](_0x335097[_0x555e('0x27')]['sort']);_0x144faf[_0x555e('0x31')]=qs[_0x555e('0x28')](_[_0x555e('0x32')](_0x335097['query'],_0x5228ea[_0x555e('0x28')]));if(_0x335097[_0x555e('0x27')]['filter']){_0x144faf[_0x555e('0x31')]=_[_0x555e('0x33')](_0x144faf[_0x555e('0x31')],{'$or':_[_0x555e('0x34')](_0x5b1c1b,function(_0x36f57a){if(_0x36f57a[_0x555e('0x35')][_0x555e('0x36')]!==_0x555e('0x37')){var _0x354d5e={};_0x354d5e[_0x36f57a['field']]={'$like':'%'+_0x335097[_0x555e('0x27')][_0x555e('0x38')]+'%'};return _0x354d5e;}})});}_0x144faf=_[_0x555e('0x33')]({},_0x144faf,_0x335097[_0x555e('0x39')]);var _0x48f0f2={'where':_0x144faf[_0x555e('0x31')]};return db[_0x555e('0x24')][_0x555e('0x3a')](_0x48f0f2)[_0x555e('0x1e')](function(_0xcfc6c){_0x460083['count']=_0xcfc6c;if(_0x335097[_0x555e('0x27')][_0x555e('0x3b')]){_0x144faf[_0x555e('0x3c')]=[{'all':!![]}];}return db[_0x555e('0x24')][_0x555e('0x3d')](_0x144faf);})['then'](function(_0x332861){_0x460083[_0x555e('0x3e')]=_0x332861;return _0x460083;})['then'](respondWithFilteredResult(_0x5b451b,_0x144faf))[_0x555e('0x3f')](handleError(_0x5b451b,null));};