7a4f786e22653bf19112bd549eebd47585ff12b0
[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 _0x34e8=['then','sendStatus','error','stack','index','fieldName','type','model','map','name','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','filter','VIRTUAL','options','Migration','includeAll','findAll','rows','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','reject','save','update'];(function(_0x2782c6,_0x231373){var _0x166241=function(_0xbf21b7){while(--_0xbf21b7){_0x2782c6['push'](_0x2782c6['shift']());}};_0x166241(++_0x231373);}(_0x34e8,0x12c));var _0x834e=function(_0x44e9cb,_0x216a9c){_0x44e9cb=_0x44e9cb-0x0;var _0x4fcd03=_0x34e8[_0x44e9cb];return _0x4fcd03;};'use strict';var pdf=require(_0x834e('0x0'));var emlformat=require(_0x834e('0x1'));var rimraf=require(_0x834e('0x2'));var zipdir=require(_0x834e('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x834e('0x4'));var moment=require(_0x834e('0x5'));var BPromise=require(_0x834e('0x6'));var Mustache=require(_0x834e('0x7'));var util=require(_0x834e('0x8'));var path=require(_0x834e('0x9'));var sox=require(_0x834e('0xa'));var csv=require('to-csv');var ejs=require(_0x834e('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x834e('0xc'));var crypto=require(_0x834e('0xd'));var jsforce=require(_0x834e('0xe'));var deskjs=require(_0x834e('0xf'));var toCsv=require(_0x834e('0x10'));var querystring=require(_0x834e('0x11'));var Papa=require(_0x834e('0x12'));var Redis=require(_0x834e('0x13'));var authService=require(_0x834e('0x14'));var qs=require(_0x834e('0x15'));var as=require(_0x834e('0x16'));var hardwareService=require(_0x834e('0x17'));var logger=require(_0x834e('0x18'))(_0x834e('0x19'));var utils=require(_0x834e('0x1a'));var config=require(_0x834e('0x1b'));var db=require(_0x834e('0x1c'))['db'];function respondWithStatusCode(_0x538bb3,_0x5e5b6d){_0x5e5b6d=_0x5e5b6d||0xcc;return function(_0x6cd9b9){if(_0x6cd9b9){return _0x538bb3['sendStatus'](_0x5e5b6d);}return _0x538bb3[_0x834e('0x1d')](_0x5e5b6d)[_0x834e('0x1e')]();};}function respondWithResult(_0x28e659,_0x21cc0a){_0x21cc0a=_0x21cc0a||0xc8;return function(_0x50e860){if(_0x50e860){return _0x28e659[_0x834e('0x1d')](_0x21cc0a)[_0x834e('0x1f')](_0x50e860);}};}function respondWithFilteredResult(_0x57274a,_0x316205){return function(_0x4a9cdc){if(_0x4a9cdc){var _0x38a8cd=_0x4a9cdc[_0x834e('0x20')],_0x36d443=_0x316205[_0x834e('0x21')],_0x478afe=_0x316205['offset']+_0x316205[_0x834e('0x22')],_0x43ac41;if(_0x478afe>=_0x38a8cd){_0x478afe=_0x38a8cd;_0x43ac41=0xc8;}else{_0x43ac41=0xce;}_0x57274a[_0x834e('0x1d')](_0x43ac41);return _0x57274a[_0x834e('0x23')](_0x834e('0x24'),_0x36d443+'-'+_0x478afe+'/'+_0x38a8cd)[_0x834e('0x1f')](_0x4a9cdc);}return null;};}function patchUpdates(_0x254677){return function(_0x1dd214){try{jsonpatch['apply'](_0x1dd214,_0x254677,!![]);}catch(_0x2545b4){return BPromise[_0x834e('0x25')](_0x2545b4);}return _0x1dd214[_0x834e('0x26')]();};}function saveUpdates(_0x325a99,_0x4ab05d){return function(_0x45a630){if(_0x45a630){return _0x45a630[_0x834e('0x27')](_0x325a99)['then'](function(_0x1b4bdf){return _0x1b4bdf;});}return null;};}function removeEntity(_0x28d687,_0x8d406e){return function(_0x5c55ca){if(_0x5c55ca){return _0x5c55ca['destroy']()[_0x834e('0x28')](function(){_0x28d687[_0x834e('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x25ee1d,_0x1dc1e0){return function(_0x58f4fd){if(!_0x58f4fd){_0x25ee1d[_0x834e('0x29')](0x194);}return _0x58f4fd;};}function handleError(_0x2e1983,_0x338636){_0x338636=_0x338636||0x1f4;return function(_0x561cd2){logger[_0x834e('0x2a')](_0x561cd2[_0x834e('0x2b')]);if(_0x561cd2['name']){delete _0x561cd2['name'];}_0x2e1983[_0x834e('0x1d')](_0x338636)['send'](_0x561cd2);};}exports[_0x834e('0x2c')]=function(_0x3f1b0b,_0x3db026){var _0x2cc2eb={},_0x3cd928={},_0x130cc5={'count':0x0,'rows':[]};var _0x491919=_['map'](db['Migration']['rawAttributes'],function(_0x2c7a8d){return{'name':_0x2c7a8d[_0x834e('0x2d')],'type':_0x2c7a8d[_0x834e('0x2e')]['key']};});_0x3cd928[_0x834e('0x2f')]=_[_0x834e('0x30')](_0x491919,_0x834e('0x31'));_0x3cd928[_0x834e('0x32')]=_[_0x834e('0x33')](_0x3f1b0b[_0x834e('0x32')]);_0x3cd928[_0x834e('0x34')]=_[_0x834e('0x35')](_0x3cd928[_0x834e('0x2f')],_0x3cd928['query']);_0x2cc2eb[_0x834e('0x36')]=_['intersection'](_0x3cd928[_0x834e('0x2f')],qs[_0x834e('0x37')](_0x3f1b0b[_0x834e('0x32')][_0x834e('0x37')]));_0x2cc2eb[_0x834e('0x36')]=_0x2cc2eb[_0x834e('0x36')][_0x834e('0x38')]?_0x2cc2eb[_0x834e('0x36')]:_0x3cd928[_0x834e('0x2f')];if(!_0x3f1b0b[_0x834e('0x32')]['hasOwnProperty'](_0x834e('0x39'))){_0x2cc2eb[_0x834e('0x22')]=qs[_0x834e('0x22')](_0x3f1b0b[_0x834e('0x32')]['limit']);_0x2cc2eb[_0x834e('0x21')]=qs[_0x834e('0x21')](_0x3f1b0b['query']['offset']);}_0x2cc2eb['order']=qs[_0x834e('0x3a')](_0x3f1b0b[_0x834e('0x32')][_0x834e('0x3a')]);_0x2cc2eb[_0x834e('0x3b')]=qs[_0x834e('0x34')](_[_0x834e('0x3c')](_0x3f1b0b['query'],_0x3cd928[_0x834e('0x34')]),_0x491919);if(_0x3f1b0b['query'][_0x834e('0x3d')]){_0x2cc2eb[_0x834e('0x3b')]=_['merge'](_0x2cc2eb[_0x834e('0x3b')],{'$or':_[_0x834e('0x30')](_0x491919,function(_0x491c28){if(_0x491c28['type']!==_0x834e('0x3e')){var _0xd0d43a={};_0xd0d43a[_0x491c28[_0x834e('0x31')]]={'$like':'%'+_0x3f1b0b[_0x834e('0x32')][_0x834e('0x3d')]+'%'};return _0xd0d43a;}})});}_0x2cc2eb=_['merge']({},_0x2cc2eb,_0x3f1b0b[_0x834e('0x3f')]);var _0x548d1d={'where':_0x2cc2eb['where']};return db[_0x834e('0x40')]['count'](_0x548d1d)[_0x834e('0x28')](function(_0x1ba66d){_0x130cc5[_0x834e('0x20')]=_0x1ba66d;if(_0x3f1b0b[_0x834e('0x32')][_0x834e('0x41')]){_0x2cc2eb['include']=[{'all':!![]}];}return db[_0x834e('0x40')][_0x834e('0x42')](_0x2cc2eb);})[_0x834e('0x28')](function(_0x58c5fb){_0x130cc5[_0x834e('0x43')]=_0x58c5fb;return _0x130cc5;})[_0x834e('0x28')](respondWithFilteredResult(_0x3db026,_0x2cc2eb))['catch'](handleError(_0x3db026,null));};