Built motion from commit 00bf23f6.|2.6.16
[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 _0x60e9=['map','Migration','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','apply','reject','update','then','status','name','send','index'];(function(_0x531f56,_0x334fcc){var _0x2cd1d4=function(_0x12a368){while(--_0x12a368){_0x531f56['push'](_0x531f56['shift']());}};_0x2cd1d4(++_0x334fcc);}(_0x60e9,0x11e));var _0x960e=function(_0x1e9bf5,_0x226e07){_0x1e9bf5=_0x1e9bf5-0x0;var _0x24cb4b=_0x60e9[_0x1e9bf5];return _0x24cb4b;};'use strict';var emlformat=require(_0x960e('0x0'));var rimraf=require(_0x960e('0x1'));var zipdir=require(_0x960e('0x2'));var jsonpatch=require(_0x960e('0x3'));var rp=require(_0x960e('0x4'));var moment=require(_0x960e('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x960e('0x6'));var util=require(_0x960e('0x7'));var path=require(_0x960e('0x8'));var sox=require(_0x960e('0x9'));var csv=require(_0x960e('0xa'));var ejs=require(_0x960e('0xb'));var fs=require('fs');var fs_extra=require(_0x960e('0xc'));var _=require(_0x960e('0xd'));var squel=require(_0x960e('0xe'));var crypto=require(_0x960e('0xf'));var jsforce=require(_0x960e('0x10'));var deskjs=require(_0x960e('0x11'));var toCsv=require(_0x960e('0xa'));var querystring=require(_0x960e('0x12'));var Papa=require(_0x960e('0x13'));var Redis=require(_0x960e('0x14'));var authService=require(_0x960e('0x15'));var qs=require(_0x960e('0x16'));var as=require(_0x960e('0x17'));var hardwareService=require(_0x960e('0x18'));var logger=require('../../config/logger')(_0x960e('0x19'));var utils=require('../../config/utils');var config=require(_0x960e('0x1a'));var licenseUtil=require(_0x960e('0x1b'));var db=require(_0x960e('0x1c'))['db'];function respondWithStatusCode(_0x5b3a7f,_0x52d7ef){_0x52d7ef=_0x52d7ef||0xcc;return function(_0x18ff36){if(_0x18ff36){return _0x5b3a7f[_0x960e('0x1d')](_0x52d7ef);}return _0x5b3a7f['status'](_0x52d7ef)[_0x960e('0x1e')]();};}function respondWithResult(_0x27e8aa,_0x34fc86){_0x34fc86=_0x34fc86||0xc8;return function(_0x1d2abe){if(_0x1d2abe){return _0x27e8aa['status'](_0x34fc86)[_0x960e('0x1f')](_0x1d2abe);}};}function respondWithFilteredResult(_0x3a4343,_0x839582){return function(_0x17b586){if(_0x17b586){var _0x17462b=typeof _0x839582[_0x960e('0x20')]===_0x960e('0x21')&&typeof _0x839582[_0x960e('0x22')]===_0x960e('0x21');var _0x279a7c=_0x17b586[_0x960e('0x23')];var _0x5aed20=_0x17462b?0x0:_0x839582[_0x960e('0x20')];var _0x9b2856=_0x17462b?_0x17b586['count']:_0x839582[_0x960e('0x20')]+_0x839582['limit'];var _0x5b5b67;if(_0x9b2856>=_0x279a7c){_0x9b2856=_0x279a7c;_0x5b5b67=0xc8;}else{_0x5b5b67=0xce;}_0x3a4343['status'](_0x5b5b67);return _0x3a4343['set']('Content-Range',_0x5aed20+'-'+_0x9b2856+'/'+_0x279a7c)[_0x960e('0x1f')](_0x17b586);}return null;};}function patchUpdates(_0x225844){return function(_0x213d82){try{jsonpatch[_0x960e('0x24')](_0x213d82,_0x225844,!![]);}catch(_0x51a757){return BPromise[_0x960e('0x25')](_0x51a757);}return _0x213d82['save']();};}function saveUpdates(_0x278b59,_0x1e172c){return function(_0x7d7ab9){if(_0x7d7ab9){return _0x7d7ab9[_0x960e('0x26')](_0x278b59)[_0x960e('0x27')](function(_0x503f67){return _0x503f67;});}return null;};}function removeEntity(_0x7ce260,_0x566c04){return function(_0x42d7db){if(_0x42d7db){return _0x42d7db['destroy']()['then'](function(){_0x7ce260[_0x960e('0x28')](0xcc)[_0x960e('0x1e')]();});}};}function handleEntityNotFound(_0x22b8ea,_0x9a31a0){return function(_0x24b198){if(!_0x24b198){_0x22b8ea['sendStatus'](0x194);}return _0x24b198;};}function handleError(_0x5e4d6f,_0x27ea54){_0x27ea54=_0x27ea54||0x1f4;return function(_0xce1251){logger['error'](_0xce1251['stack']);if(_0xce1251['name']){delete _0xce1251[_0x960e('0x29')];}_0x5e4d6f[_0x960e('0x28')](_0x27ea54)[_0x960e('0x2a')](_0xce1251);};}exports[_0x960e('0x2b')]=function(_0x455a32,_0xeb8210){var _0xdee05c={},_0x3f29ca={},_0x74bcc={'count':0x0,'rows':[]};var _0x30ebd8=_[_0x960e('0x2c')](db[_0x960e('0x2d')]['rawAttributes'],function(_0x2eec53){return{'name':_0x2eec53['fieldName'],'type':_0x2eec53[_0x960e('0x2e')][_0x960e('0x2f')]};});_0x3f29ca[_0x960e('0x30')]=_[_0x960e('0x2c')](_0x30ebd8,_0x960e('0x29'));_0x3f29ca[_0x960e('0x31')]=_['keys'](_0x455a32[_0x960e('0x31')]);_0x3f29ca[_0x960e('0x32')]=_[_0x960e('0x33')](_0x3f29ca[_0x960e('0x30')],_0x3f29ca[_0x960e('0x31')]);_0xdee05c[_0x960e('0x34')]=_[_0x960e('0x33')](_0x3f29ca['model'],qs[_0x960e('0x35')](_0x455a32[_0x960e('0x31')][_0x960e('0x35')]));_0xdee05c[_0x960e('0x34')]=_0xdee05c[_0x960e('0x34')]['length']?_0xdee05c[_0x960e('0x34')]:_0x3f29ca[_0x960e('0x30')];if(!_0x455a32[_0x960e('0x31')][_0x960e('0x36')](_0x960e('0x37'))){_0xdee05c[_0x960e('0x22')]=qs[_0x960e('0x22')](_0x455a32[_0x960e('0x31')][_0x960e('0x22')]);_0xdee05c[_0x960e('0x20')]=qs[_0x960e('0x20')](_0x455a32['query'][_0x960e('0x20')]);}_0xdee05c[_0x960e('0x38')]=qs[_0x960e('0x39')](_0x455a32[_0x960e('0x31')][_0x960e('0x39')]);_0xdee05c[_0x960e('0x3a')]=qs[_0x960e('0x32')](_['pick'](_0x455a32['query'],_0x3f29ca[_0x960e('0x32')]),_0x30ebd8);if(_0x455a32['query'][_0x960e('0x3b')]){_0xdee05c['where']=_[_0x960e('0x3c')](_0xdee05c[_0x960e('0x3a')],{'$or':_[_0x960e('0x2c')](_0x30ebd8,function(_0x5e18cd){if(_0x5e18cd[_0x960e('0x2e')]!==_0x960e('0x3d')){var _0x37a327={};_0x37a327[_0x5e18cd[_0x960e('0x29')]]={'$like':'%'+_0x455a32[_0x960e('0x31')]['filter']+'%'};return _0x37a327;}})});}_0xdee05c=_[_0x960e('0x3c')]({},_0xdee05c,_0x455a32[_0x960e('0x3e')]);var _0x476df4={'where':_0xdee05c[_0x960e('0x3a')]};return db[_0x960e('0x2d')][_0x960e('0x23')](_0x476df4)[_0x960e('0x27')](function(_0x3bccee){_0x74bcc[_0x960e('0x23')]=_0x3bccee;if(_0x455a32['query'][_0x960e('0x3f')]){_0xdee05c[_0x960e('0x40')]=[{'all':!![]}];}return db['Migration']['findAll'](_0xdee05c);})[_0x960e('0x27')](function(_0x219f2c){_0x74bcc['rows']=_0x219f2c;return _0x74bcc;})[_0x960e('0x27')](respondWithFilteredResult(_0xeb8210,_0xdee05c))[_0x960e('0x41')](handleError(_0xeb8210,null));};