Built motion from commit da617fac.|2.6.6
[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 _0xcde5=['apply','save','update','then','error','send','index','map','Migration','fieldName','type','model','name','query','keys','filters','intersection','attributes','hasOwnProperty','nolimit','sort','where','merge','VIRTUAL','include','findAll','rows','catch','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','fs-extra','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','sendStatus','json','offset','undefined','limit','count','status','set','Content-Range'];(function(_0x3718f9,_0x3ee488){var _0x2bee21=function(_0x548991){while(--_0x548991){_0x3718f9['push'](_0x3718f9['shift']());}};_0x2bee21(++_0x3ee488);}(_0xcde5,0x1ce));var _0x5cde=function(_0x3b9f36,_0x31eb7e){_0x3b9f36=_0x3b9f36-0x0;var _0xfae4ec=_0xcde5[_0x3b9f36];return _0xfae4ec;};'use strict';var emlformat=require(_0x5cde('0x0'));var rimraf=require(_0x5cde('0x1'));var zipdir=require(_0x5cde('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x5cde('0x3'));var BPromise=require(_0x5cde('0x4'));var Mustache=require(_0x5cde('0x5'));var util=require(_0x5cde('0x6'));var path=require(_0x5cde('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5cde('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x5cde('0x9'));var jsforce=require(_0x5cde('0xa'));var deskjs=require(_0x5cde('0xb'));var toCsv=require(_0x5cde('0xc'));var querystring=require(_0x5cde('0xd'));var Papa=require(_0x5cde('0xe'));var Redis=require(_0x5cde('0xf'));var authService=require(_0x5cde('0x10'));var qs=require(_0x5cde('0x11'));var as=require(_0x5cde('0x12'));var hardwareService=require(_0x5cde('0x13'));var logger=require(_0x5cde('0x14'))(_0x5cde('0x15'));var utils=require(_0x5cde('0x16'));var config=require(_0x5cde('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x5cde('0x18'))['db'];function respondWithStatusCode(_0x1785ce,_0x557008){_0x557008=_0x557008||0xcc;return function(_0x447494){if(_0x447494){return _0x1785ce[_0x5cde('0x19')](_0x557008);}return _0x1785ce['status'](_0x557008)['end']();};}function respondWithResult(_0x198141,_0x509f13){_0x509f13=_0x509f13||0xc8;return function(_0x3acd12){if(_0x3acd12){return _0x198141['status'](_0x509f13)[_0x5cde('0x1a')](_0x3acd12);}};}function respondWithFilteredResult(_0x78173a,_0x4e033d){return function(_0x58a056){if(_0x58a056){var _0x4b0c28=typeof _0x4e033d[_0x5cde('0x1b')]===_0x5cde('0x1c')&&typeof _0x4e033d[_0x5cde('0x1d')]===_0x5cde('0x1c');var _0x7d77fe=_0x58a056[_0x5cde('0x1e')];var _0x3d4f5c=_0x4b0c28?0x0:_0x4e033d[_0x5cde('0x1b')];var _0x35007b=_0x4b0c28?_0x58a056['count']:_0x4e033d[_0x5cde('0x1b')]+_0x4e033d[_0x5cde('0x1d')];var _0x55915f;if(_0x35007b>=_0x7d77fe){_0x35007b=_0x7d77fe;_0x55915f=0xc8;}else{_0x55915f=0xce;}_0x78173a[_0x5cde('0x1f')](_0x55915f);return _0x78173a[_0x5cde('0x20')](_0x5cde('0x21'),_0x3d4f5c+'-'+_0x35007b+'/'+_0x7d77fe)['json'](_0x58a056);}return null;};}function patchUpdates(_0x4232f6){return function(_0x263b64){try{jsonpatch[_0x5cde('0x22')](_0x263b64,_0x4232f6,!![]);}catch(_0x2c7ffb){return BPromise['reject'](_0x2c7ffb);}return _0x263b64[_0x5cde('0x23')]();};}function saveUpdates(_0x229902,_0x45ab44){return function(_0x56818c){if(_0x56818c){return _0x56818c[_0x5cde('0x24')](_0x229902)[_0x5cde('0x25')](function(_0x21d292){return _0x21d292;});}return null;};}function removeEntity(_0x928c9e,_0x256856){return function(_0x48a1c6){if(_0x48a1c6){return _0x48a1c6['destroy']()[_0x5cde('0x25')](function(){_0x928c9e[_0x5cde('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4faa14,_0x360df4){return function(_0xa26d78){if(!_0xa26d78){_0x4faa14[_0x5cde('0x19')](0x194);}return _0xa26d78;};}function handleError(_0x19b1aa,_0x2f8f47){_0x2f8f47=_0x2f8f47||0x1f4;return function(_0x363843){logger[_0x5cde('0x26')](_0x363843['stack']);if(_0x363843['name']){delete _0x363843['name'];}_0x19b1aa[_0x5cde('0x1f')](_0x2f8f47)[_0x5cde('0x27')](_0x363843);};}exports[_0x5cde('0x28')]=function(_0x3f6857,_0x21d647){var _0x3c5916={},_0x337764={},_0x5610fb={'count':0x0,'rows':[]};var _0x190bbe=_[_0x5cde('0x29')](db[_0x5cde('0x2a')]['rawAttributes'],function(_0x46aaa7){return{'name':_0x46aaa7[_0x5cde('0x2b')],'type':_0x46aaa7[_0x5cde('0x2c')]['key']};});_0x337764[_0x5cde('0x2d')]=_[_0x5cde('0x29')](_0x190bbe,_0x5cde('0x2e'));_0x337764[_0x5cde('0x2f')]=_[_0x5cde('0x30')](_0x3f6857[_0x5cde('0x2f')]);_0x337764[_0x5cde('0x31')]=_[_0x5cde('0x32')](_0x337764['model'],_0x337764[_0x5cde('0x2f')]);_0x3c5916[_0x5cde('0x33')]=_['intersection'](_0x337764[_0x5cde('0x2d')],qs['fields'](_0x3f6857[_0x5cde('0x2f')]['fields']));_0x3c5916['attributes']=_0x3c5916[_0x5cde('0x33')]['length']?_0x3c5916['attributes']:_0x337764[_0x5cde('0x2d')];if(!_0x3f6857[_0x5cde('0x2f')][_0x5cde('0x34')](_0x5cde('0x35'))){_0x3c5916[_0x5cde('0x1d')]=qs[_0x5cde('0x1d')](_0x3f6857[_0x5cde('0x2f')][_0x5cde('0x1d')]);_0x3c5916[_0x5cde('0x1b')]=qs[_0x5cde('0x1b')](_0x3f6857[_0x5cde('0x2f')][_0x5cde('0x1b')]);}_0x3c5916['order']=qs[_0x5cde('0x36')](_0x3f6857[_0x5cde('0x2f')][_0x5cde('0x36')]);_0x3c5916[_0x5cde('0x37')]=qs[_0x5cde('0x31')](_['pick'](_0x3f6857[_0x5cde('0x2f')],_0x337764['filters']),_0x190bbe);if(_0x3f6857[_0x5cde('0x2f')]['filter']){_0x3c5916[_0x5cde('0x37')]=_[_0x5cde('0x38')](_0x3c5916[_0x5cde('0x37')],{'$or':_['map'](_0x190bbe,function(_0x51ad09){if(_0x51ad09['type']!==_0x5cde('0x39')){var _0x1dc9af={};_0x1dc9af[_0x51ad09[_0x5cde('0x2e')]]={'$like':'%'+_0x3f6857['query']['filter']+'%'};return _0x1dc9af;}})});}_0x3c5916=_[_0x5cde('0x38')]({},_0x3c5916,_0x3f6857['options']);var _0x4f6c78={'where':_0x3c5916['where']};return db[_0x5cde('0x2a')]['count'](_0x4f6c78)[_0x5cde('0x25')](function(_0x421a3a){_0x5610fb[_0x5cde('0x1e')]=_0x421a3a;if(_0x3f6857[_0x5cde('0x2f')]['includeAll']){_0x3c5916[_0x5cde('0x3a')]=[{'all':!![]}];}return db[_0x5cde('0x2a')][_0x5cde('0x3b')](_0x3c5916);})[_0x5cde('0x25')](function(_0x56b21a){_0x5610fb[_0x5cde('0x3c')]=_0x56b21a;return _0x5610fb;})[_0x5cde('0x25')](respondWithFilteredResult(_0x21d647,_0x3c5916))[_0x5cde('0x3d')](handleError(_0x21d647,null));};