Built motion from commit 639a1a7f.|2.6.19
[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 _0x724a=['rows','catch','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','reject','then','destroy','stack','name','send','index','map','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','filter','where','merge','VIRTUAL','Migration','includeAll','include','findAll'];(function(_0x3aa72a,_0x385d72){var _0x352329=function(_0x9624da){while(--_0x9624da){_0x3aa72a['push'](_0x3aa72a['shift']());}};_0x352329(++_0x385d72);}(_0x724a,0x1b4));var _0xa724=function(_0x34022f,_0x21134c){_0x34022f=_0x34022f-0x0;var _0x1bebdf=_0x724a[_0x34022f];return _0x1bebdf;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa724('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa724('0x1'));var rp=require(_0xa724('0x2'));var moment=require(_0xa724('0x3'));var BPromise=require(_0xa724('0x4'));var Mustache=require(_0xa724('0x5'));var util=require('util');var path=require('path');var sox=require(_0xa724('0x6'));var csv=require('to-csv');var ejs=require(_0xa724('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xa724('0x8'));var crypto=require(_0xa724('0x9'));var jsforce=require(_0xa724('0xa'));var deskjs=require(_0xa724('0xb'));var toCsv=require(_0xa724('0xc'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa724('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xa724('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa724('0xf'));var logger=require(_0xa724('0x10'))(_0xa724('0x11'));var utils=require(_0xa724('0x12'));var config=require(_0xa724('0x13'));var licenseUtil=require(_0xa724('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4f6de1,_0xa86fef){_0xa86fef=_0xa86fef||0xcc;return function(_0x1f174b){if(_0x1f174b){return _0x4f6de1[_0xa724('0x15')](_0xa86fef);}return _0x4f6de1[_0xa724('0x16')](_0xa86fef)[_0xa724('0x17')]();};}function respondWithResult(_0x1621cd,_0x271345){_0x271345=_0x271345||0xc8;return function(_0x241e8f){if(_0x241e8f){return _0x1621cd['status'](_0x271345)[_0xa724('0x18')](_0x241e8f);}};}function respondWithFilteredResult(_0x4e3bfe,_0x56e9dc){return function(_0x312976){if(_0x312976){var _0x4722fe=typeof _0x56e9dc[_0xa724('0x19')]===_0xa724('0x1a')&&typeof _0x56e9dc[_0xa724('0x1b')]===_0xa724('0x1a');var _0xa6455d=_0x312976['count'];var _0x5c7186=_0x4722fe?0x0:_0x56e9dc['offset'];var _0x55dbcc=_0x4722fe?_0x312976[_0xa724('0x1c')]:_0x56e9dc[_0xa724('0x19')]+_0x56e9dc[_0xa724('0x1b')];var _0x214b7b;if(_0x55dbcc>=_0xa6455d){_0x55dbcc=_0xa6455d;_0x214b7b=0xc8;}else{_0x214b7b=0xce;}_0x4e3bfe[_0xa724('0x16')](_0x214b7b);return _0x4e3bfe['set']('Content-Range',_0x5c7186+'-'+_0x55dbcc+'/'+_0xa6455d)[_0xa724('0x18')](_0x312976);}return null;};}function patchUpdates(_0x2e1951){return function(_0x57496a){try{jsonpatch['apply'](_0x57496a,_0x2e1951,!![]);}catch(_0x229740){return BPromise[_0xa724('0x1d')](_0x229740);}return _0x57496a['save']();};}function saveUpdates(_0x2bf644,_0x1a7357){return function(_0x3334b0){if(_0x3334b0){return _0x3334b0['update'](_0x2bf644)[_0xa724('0x1e')](function(_0x270ea8){return _0x270ea8;});}return null;};}function removeEntity(_0x3f969f,_0x1b0499){return function(_0x49aa6e){if(_0x49aa6e){return _0x49aa6e[_0xa724('0x1f')]()[_0xa724('0x1e')](function(){_0x3f969f[_0xa724('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x334448,_0x114b62){return function(_0x4edd62){if(!_0x4edd62){_0x334448[_0xa724('0x15')](0x194);}return _0x4edd62;};}function handleError(_0x3b1b82,_0x24a3b1){_0x24a3b1=_0x24a3b1||0x1f4;return function(_0x37b312){logger['error'](_0x37b312[_0xa724('0x20')]);if(_0x37b312[_0xa724('0x21')]){delete _0x37b312['name'];}_0x3b1b82['status'](_0x24a3b1)[_0xa724('0x22')](_0x37b312);};}exports[_0xa724('0x23')]=function(_0x33ab3a,_0x327a2e){var _0x31ccfc={},_0x1884b8={},_0x58cfa4={'count':0x0,'rows':[]};var _0x5c89d7=_[_0xa724('0x24')](db['Migration']['rawAttributes'],function(_0x329147){return{'name':_0x329147[_0xa724('0x25')],'type':_0x329147[_0xa724('0x26')][_0xa724('0x27')]};});_0x1884b8[_0xa724('0x28')]=_['map'](_0x5c89d7,_0xa724('0x21'));_0x1884b8[_0xa724('0x29')]=_[_0xa724('0x2a')](_0x33ab3a[_0xa724('0x29')]);_0x1884b8['filters']=_[_0xa724('0x2b')](_0x1884b8[_0xa724('0x28')],_0x1884b8[_0xa724('0x29')]);_0x31ccfc[_0xa724('0x2c')]=_[_0xa724('0x2b')](_0x1884b8[_0xa724('0x28')],qs[_0xa724('0x2d')](_0x33ab3a['query'][_0xa724('0x2d')]));_0x31ccfc[_0xa724('0x2c')]=_0x31ccfc[_0xa724('0x2c')][_0xa724('0x2e')]?_0x31ccfc[_0xa724('0x2c')]:_0x1884b8[_0xa724('0x28')];if(!_0x33ab3a[_0xa724('0x29')][_0xa724('0x2f')](_0xa724('0x30'))){_0x31ccfc[_0xa724('0x1b')]=qs[_0xa724('0x1b')](_0x33ab3a[_0xa724('0x29')][_0xa724('0x1b')]);_0x31ccfc[_0xa724('0x19')]=qs[_0xa724('0x19')](_0x33ab3a['query'][_0xa724('0x19')]);}_0x31ccfc['order']=qs[_0xa724('0x31')](_0x33ab3a[_0xa724('0x29')][_0xa724('0x31')]);_0x31ccfc['where']=qs[_0xa724('0x32')](_[_0xa724('0x33')](_0x33ab3a[_0xa724('0x29')],_0x1884b8[_0xa724('0x32')]),_0x5c89d7);if(_0x33ab3a[_0xa724('0x29')][_0xa724('0x34')]){_0x31ccfc[_0xa724('0x35')]=_[_0xa724('0x36')](_0x31ccfc[_0xa724('0x35')],{'$or':_[_0xa724('0x24')](_0x5c89d7,function(_0x99149a){if(_0x99149a[_0xa724('0x26')]!==_0xa724('0x37')){var _0x38fd10={};_0x38fd10[_0x99149a[_0xa724('0x21')]]={'$like':'%'+_0x33ab3a[_0xa724('0x29')]['filter']+'%'};return _0x38fd10;}})});}_0x31ccfc=_[_0xa724('0x36')]({},_0x31ccfc,_0x33ab3a['options']);var _0x53e234={'where':_0x31ccfc['where']};return db[_0xa724('0x38')]['count'](_0x53e234)[_0xa724('0x1e')](function(_0x1dad1b){_0x58cfa4[_0xa724('0x1c')]=_0x1dad1b;if(_0x33ab3a[_0xa724('0x29')][_0xa724('0x39')]){_0x31ccfc[_0xa724('0x3a')]=[{'all':!![]}];}return db[_0xa724('0x38')][_0xa724('0x3b')](_0x31ccfc);})[_0xa724('0x1e')](function(_0x5b548c){_0x58cfa4[_0xa724('0x3c')]=_0x5b548c;return _0x58cfa4;})[_0xa724('0x1e')](respondWithFilteredResult(_0x327a2e,_0x31ccfc))[_0xa724('0x3d')](handleError(_0x327a2e,null));};