Built motion from commit (unavailable).|2.5.23
[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 _0xed67=['offset','limit','Content-Range','save','update','then','destroy','name','send','index','map','Migration','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','include','findAll','catch','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json'];(function(_0x3b1d17,_0x160215){var _0x1ae28a=function(_0x33eb81){while(--_0x33eb81){_0x3b1d17['push'](_0x3b1d17['shift']());}};_0x1ae28a(++_0x160215);}(_0xed67,0xe6));var _0x7ed6=function(_0xe84805,_0x2702d9){_0xe84805=_0xe84805-0x0;var _0x398efd=_0xed67[_0xe84805];return _0x398efd;};'use strict';var pdf=require(_0x7ed6('0x0'));var emlformat=require(_0x7ed6('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x7ed6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7ed6('0x3'));var moment=require(_0x7ed6('0x4'));var BPromise=require(_0x7ed6('0x5'));var Mustache=require(_0x7ed6('0x6'));var util=require(_0x7ed6('0x7'));var path=require('path');var sox=require(_0x7ed6('0x8'));var csv=require(_0x7ed6('0x9'));var ejs=require(_0x7ed6('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x7ed6('0xb'));var jsforce=require(_0x7ed6('0xc'));var deskjs=require(_0x7ed6('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7ed6('0xe'));var Papa=require(_0x7ed6('0xf'));var Redis=require(_0x7ed6('0x10'));var authService=require(_0x7ed6('0x11'));var qs=require(_0x7ed6('0x12'));var as=require(_0x7ed6('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7ed6('0x14'))(_0x7ed6('0x15'));var utils=require(_0x7ed6('0x16'));var config=require(_0x7ed6('0x17'));var licenseUtil=require(_0x7ed6('0x18'));var db=require(_0x7ed6('0x19'))['db'];function respondWithStatusCode(_0x589e2e,_0x1c4f25){_0x1c4f25=_0x1c4f25||0xcc;return function(_0x37221a){if(_0x37221a){return _0x589e2e[_0x7ed6('0x1a')](_0x1c4f25);}return _0x589e2e['status'](_0x1c4f25)[_0x7ed6('0x1b')]();};}function respondWithResult(_0x828c4e,_0x1eddc7){_0x1eddc7=_0x1eddc7||0xc8;return function(_0x34df7d){if(_0x34df7d){return _0x828c4e[_0x7ed6('0x1c')](_0x1eddc7)[_0x7ed6('0x1d')](_0x34df7d);}};}function respondWithFilteredResult(_0x59db1f,_0x3d25cb){return function(_0x1be522){if(_0x1be522){var _0x1a4df6=_0x1be522['count'],_0x870fe7=_0x3d25cb['offset'],_0x3add31=_0x3d25cb[_0x7ed6('0x1e')]+_0x3d25cb[_0x7ed6('0x1f')],_0x35aaa5;if(_0x3add31>=_0x1a4df6){_0x3add31=_0x1a4df6;_0x35aaa5=0xc8;}else{_0x35aaa5=0xce;}_0x59db1f[_0x7ed6('0x1c')](_0x35aaa5);return _0x59db1f['set'](_0x7ed6('0x20'),_0x870fe7+'-'+_0x3add31+'/'+_0x1a4df6)[_0x7ed6('0x1d')](_0x1be522);}return null;};}function patchUpdates(_0x4ddba4){return function(_0x3908f5){try{jsonpatch['apply'](_0x3908f5,_0x4ddba4,!![]);}catch(_0x529e4f){return BPromise['reject'](_0x529e4f);}return _0x3908f5[_0x7ed6('0x21')]();};}function saveUpdates(_0x21f257,_0x138e29){return function(_0x5b8cac){if(_0x5b8cac){return _0x5b8cac[_0x7ed6('0x22')](_0x21f257)[_0x7ed6('0x23')](function(_0x48ae19){return _0x48ae19;});}return null;};}function removeEntity(_0x52717a,_0xf215a1){return function(_0x2b32cb){if(_0x2b32cb){return _0x2b32cb[_0x7ed6('0x24')]()[_0x7ed6('0x23')](function(){_0x52717a['status'](0xcc)[_0x7ed6('0x1b')]();});}};}function handleEntityNotFound(_0x28f823,_0x41ced0){return function(_0x55d401){if(!_0x55d401){_0x28f823[_0x7ed6('0x1a')](0x194);}return _0x55d401;};}function handleError(_0x202f0e,_0x34b957){_0x34b957=_0x34b957||0x1f4;return function(_0x1893b7){logger['error'](_0x1893b7['stack']);if(_0x1893b7[_0x7ed6('0x25')]){delete _0x1893b7[_0x7ed6('0x25')];}_0x202f0e[_0x7ed6('0x1c')](_0x34b957)[_0x7ed6('0x26')](_0x1893b7);};}exports[_0x7ed6('0x27')]=function(_0x227e02,_0x340c4d){var _0x1c0162={},_0xb5ed87={},_0x4c0f0c={'count':0x0,'rows':[]};var _0x5d843c=_[_0x7ed6('0x28')](db[_0x7ed6('0x29')]['rawAttributes'],function(_0x134ccc){return{'name':_0x134ccc[_0x7ed6('0x2a')],'type':_0x134ccc[_0x7ed6('0x2b')][_0x7ed6('0x2c')]};});_0xb5ed87[_0x7ed6('0x2d')]=_['map'](_0x5d843c,_0x7ed6('0x25'));_0xb5ed87['query']=_['keys'](_0x227e02[_0x7ed6('0x2e')]);_0xb5ed87[_0x7ed6('0x2f')]=_[_0x7ed6('0x30')](_0xb5ed87[_0x7ed6('0x2d')],_0xb5ed87[_0x7ed6('0x2e')]);_0x1c0162['attributes']=_[_0x7ed6('0x30')](_0xb5ed87[_0x7ed6('0x2d')],qs[_0x7ed6('0x31')](_0x227e02[_0x7ed6('0x2e')][_0x7ed6('0x31')]));_0x1c0162[_0x7ed6('0x32')]=_0x1c0162['attributes'][_0x7ed6('0x33')]?_0x1c0162[_0x7ed6('0x32')]:_0xb5ed87[_0x7ed6('0x2d')];if(!_0x227e02[_0x7ed6('0x2e')][_0x7ed6('0x34')](_0x7ed6('0x35'))){_0x1c0162[_0x7ed6('0x1f')]=qs[_0x7ed6('0x1f')](_0x227e02[_0x7ed6('0x2e')][_0x7ed6('0x1f')]);_0x1c0162[_0x7ed6('0x1e')]=qs[_0x7ed6('0x1e')](_0x227e02['query'][_0x7ed6('0x1e')]);}_0x1c0162[_0x7ed6('0x36')]=qs[_0x7ed6('0x37')](_0x227e02['query']['sort']);_0x1c0162[_0x7ed6('0x38')]=qs[_0x7ed6('0x2f')](_[_0x7ed6('0x39')](_0x227e02[_0x7ed6('0x2e')],_0xb5ed87[_0x7ed6('0x2f')]),_0x5d843c);if(_0x227e02['query'][_0x7ed6('0x3a')]){_0x1c0162['where']=_[_0x7ed6('0x3b')](_0x1c0162[_0x7ed6('0x38')],{'$or':_['map'](_0x5d843c,function(_0x6ccfd1){if(_0x6ccfd1[_0x7ed6('0x2b')]!=='VIRTUAL'){var _0xafc444={};_0xafc444[_0x6ccfd1[_0x7ed6('0x25')]]={'$like':'%'+_0x227e02[_0x7ed6('0x2e')]['filter']+'%'};return _0xafc444;}})});}_0x1c0162=_[_0x7ed6('0x3b')]({},_0x1c0162,_0x227e02[_0x7ed6('0x3c')]);var _0x4291b9={'where':_0x1c0162[_0x7ed6('0x38')]};return db['Migration']['count'](_0x4291b9)['then'](function(_0x11b250){_0x4c0f0c[_0x7ed6('0x3d')]=_0x11b250;if(_0x227e02[_0x7ed6('0x2e')]['includeAll']){_0x1c0162[_0x7ed6('0x3e')]=[{'all':!![]}];}return db[_0x7ed6('0x29')][_0x7ed6('0x3f')](_0x1c0162);})[_0x7ed6('0x23')](function(_0x2da26e){_0x4c0f0c['rows']=_0x2da26e;return _0x4c0f0c;})[_0x7ed6('0x23')](respondWithFilteredResult(_0x340c4d,_0x1c0162))[_0x7ed6('0x40')](handleError(_0x340c4d,null));};