Built motion from commit 1fa89557.|2.6.10
[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 _0x7264=['key','map','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','count','limit','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','Migration','rawAttributes','fieldName','type'];(function(_0x155a0c,_0xe4bad6){var _0x5a5b31=function(_0x46ec82){while(--_0x46ec82){_0x155a0c['push'](_0x155a0c['shift']());}};_0x5a5b31(++_0xe4bad6);}(_0x7264,0x15c));var _0x4726=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x7264[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0x4726('0x0'));var rimraf=require(_0x4726('0x1'));var zipdir=require(_0x4726('0x2'));var jsonpatch=require(_0x4726('0x3'));var rp=require('request-promise');var moment=require(_0x4726('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4726('0x5'));var util=require('util');var path=require(_0x4726('0x6'));var sox=require('sox');var csv=require(_0x4726('0x7'));var ejs=require(_0x4726('0x8'));var fs=require('fs');var fs_extra=require(_0x4726('0x9'));var _=require(_0x4726('0xa'));var squel=require('squel');var crypto=require(_0x4726('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4726('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4726('0xd'));var Redis=require(_0x4726('0xe'));var authService=require(_0x4726('0xf'));var qs=require(_0x4726('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x4726('0x11'));var utils=require(_0x4726('0x12'));var config=require(_0x4726('0x13'));var licenseUtil=require(_0x4726('0x14'));var db=require(_0x4726('0x15'))['db'];function respondWithStatusCode(_0x185be3,_0x1bbc5f){_0x1bbc5f=_0x1bbc5f||0xcc;return function(_0x1aa5f7){if(_0x1aa5f7){return _0x185be3[_0x4726('0x16')](_0x1bbc5f);}return _0x185be3['status'](_0x1bbc5f)[_0x4726('0x17')]();};}function respondWithResult(_0x3071c8,_0x467976){_0x467976=_0x467976||0xc8;return function(_0x398314){if(_0x398314){return _0x3071c8[_0x4726('0x18')](_0x467976)['json'](_0x398314);}};}function respondWithFilteredResult(_0x126604,_0x294a3f){return function(_0x4a56d9){if(_0x4a56d9){var _0x42adc3=typeof _0x294a3f[_0x4726('0x19')]==='undefined'&&typeof _0x294a3f['limit']==='undefined';var _0x415c6f=_0x4a56d9[_0x4726('0x1a')];var _0x12e9ad=_0x42adc3?0x0:_0x294a3f[_0x4726('0x19')];var _0x34cade=_0x42adc3?_0x4a56d9[_0x4726('0x1a')]:_0x294a3f['offset']+_0x294a3f[_0x4726('0x1b')];var _0x5d565d;if(_0x34cade>=_0x415c6f){_0x34cade=_0x415c6f;_0x5d565d=0xc8;}else{_0x5d565d=0xce;}_0x126604[_0x4726('0x18')](_0x5d565d);return _0x126604['set'](_0x4726('0x1c'),_0x12e9ad+'-'+_0x34cade+'/'+_0x415c6f)['json'](_0x4a56d9);}return null;};}function patchUpdates(_0x4197c2){return function(_0x21fb97){try{jsonpatch[_0x4726('0x1d')](_0x21fb97,_0x4197c2,!![]);}catch(_0x3d8257){return BPromise[_0x4726('0x1e')](_0x3d8257);}return _0x21fb97[_0x4726('0x1f')]();};}function saveUpdates(_0x1e3e8d,_0x1a92d1){return function(_0x597842){if(_0x597842){return _0x597842['update'](_0x1e3e8d)[_0x4726('0x20')](function(_0x59a71f){return _0x59a71f;});}return null;};}function removeEntity(_0x15daa4,_0x4647f0){return function(_0x47d171){if(_0x47d171){return _0x47d171[_0x4726('0x21')]()[_0x4726('0x20')](function(){_0x15daa4['status'](0xcc)[_0x4726('0x17')]();});}};}function handleEntityNotFound(_0x5c6d1d,_0x422500){return function(_0x84f85f){if(!_0x84f85f){_0x5c6d1d[_0x4726('0x16')](0x194);}return _0x84f85f;};}function handleError(_0x2045da,_0x10da21){_0x10da21=_0x10da21||0x1f4;return function(_0xb4ee50){logger['error'](_0xb4ee50[_0x4726('0x22')]);if(_0xb4ee50[_0x4726('0x23')]){delete _0xb4ee50[_0x4726('0x23')];}_0x2045da[_0x4726('0x18')](_0x10da21)[_0x4726('0x24')](_0xb4ee50);};}exports[_0x4726('0x25')]=function(_0x21bbec,_0x24611b){var _0x1547bb={},_0x346248={},_0x1f8484={'count':0x0,'rows':[]};var _0x1532da=_['map'](db[_0x4726('0x26')][_0x4726('0x27')],function(_0x148c87){return{'name':_0x148c87[_0x4726('0x28')],'type':_0x148c87[_0x4726('0x29')][_0x4726('0x2a')]};});_0x346248['model']=_[_0x4726('0x2b')](_0x1532da,_0x4726('0x23'));_0x346248[_0x4726('0x2c')]=_[_0x4726('0x2d')](_0x21bbec[_0x4726('0x2c')]);_0x346248[_0x4726('0x2e')]=_[_0x4726('0x2f')](_0x346248[_0x4726('0x30')],_0x346248[_0x4726('0x2c')]);_0x1547bb[_0x4726('0x31')]=_[_0x4726('0x2f')](_0x346248['model'],qs['fields'](_0x21bbec[_0x4726('0x2c')][_0x4726('0x32')]));_0x1547bb[_0x4726('0x31')]=_0x1547bb['attributes']['length']?_0x1547bb[_0x4726('0x31')]:_0x346248['model'];if(!_0x21bbec[_0x4726('0x2c')][_0x4726('0x33')](_0x4726('0x34'))){_0x1547bb[_0x4726('0x1b')]=qs['limit'](_0x21bbec[_0x4726('0x2c')][_0x4726('0x1b')]);_0x1547bb[_0x4726('0x19')]=qs['offset'](_0x21bbec[_0x4726('0x2c')][_0x4726('0x19')]);}_0x1547bb['order']=qs['sort'](_0x21bbec[_0x4726('0x2c')][_0x4726('0x35')]);_0x1547bb['where']=qs[_0x4726('0x2e')](_[_0x4726('0x36')](_0x21bbec[_0x4726('0x2c')],_0x346248[_0x4726('0x2e')]),_0x1532da);if(_0x21bbec[_0x4726('0x2c')][_0x4726('0x37')]){_0x1547bb[_0x4726('0x38')]=_[_0x4726('0x39')](_0x1547bb['where'],{'$or':_['map'](_0x1532da,function(_0x129e9e){if(_0x129e9e['type']!==_0x4726('0x3a')){var _0xe4f04c={};_0xe4f04c[_0x129e9e['name']]={'$like':'%'+_0x21bbec['query'][_0x4726('0x37')]+'%'};return _0xe4f04c;}})});}_0x1547bb=_['merge']({},_0x1547bb,_0x21bbec[_0x4726('0x3b')]);var _0x59588b={'where':_0x1547bb[_0x4726('0x38')]};return db[_0x4726('0x26')][_0x4726('0x1a')](_0x59588b)['then'](function(_0x225a5a){_0x1f8484[_0x4726('0x1a')]=_0x225a5a;if(_0x21bbec[_0x4726('0x2c')][_0x4726('0x3c')]){_0x1547bb[_0x4726('0x3d')]=[{'all':!![]}];}return db[_0x4726('0x26')][_0x4726('0x3e')](_0x1547bb);})[_0x4726('0x20')](function(_0x2ff40c){_0x1f8484[_0x4726('0x3f')]=_0x2ff40c;return _0x1f8484;})[_0x4726('0x20')](respondWithFilteredResult(_0x24611b,_0x1547bb))[_0x4726('0x40')](handleError(_0x24611b,null));};