Built motion from commit (unavailable).|2.5.21
[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 _0x8f52=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','error','stack','name','send','index','map','Migration','rawAttributes','fieldName','model','query','filters','intersection','fields','attributes','length','nolimit','limit','sort','where','filter','merge','type','VIRTUAL','options','include','findAll','rows','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv'];(function(_0x42e8f3,_0x5c8dba){var _0x47feab=function(_0x35fbf7){while(--_0x35fbf7){_0x42e8f3['push'](_0x42e8f3['shift']());}};_0x47feab(++_0x5c8dba);}(_0x8f52,0x1be));var _0x28f5=function(_0x408e38,_0x23cda8){_0x408e38=_0x408e38-0x0;var _0x426b0e=_0x8f52[_0x408e38];return _0x426b0e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x28f5('0x0'));var rimraf=require(_0x28f5('0x1'));var zipdir=require(_0x28f5('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x28f5('0x3'));var BPromise=require(_0x28f5('0x4'));var Mustache=require(_0x28f5('0x5'));var util=require(_0x28f5('0x6'));var path=require(_0x28f5('0x7'));var sox=require(_0x28f5('0x8'));var csv=require('to-csv');var ejs=require(_0x28f5('0x9'));var fs=require('fs');var _=require(_0x28f5('0xa'));var squel=require(_0x28f5('0xb'));var crypto=require(_0x28f5('0xc'));var jsforce=require(_0x28f5('0xd'));var deskjs=require(_0x28f5('0xe'));var toCsv=require(_0x28f5('0xf'));var querystring=require(_0x28f5('0x10'));var Papa=require(_0x28f5('0x11'));var Redis=require(_0x28f5('0x12'));var authService=require(_0x28f5('0x13'));var qs=require(_0x28f5('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x28f5('0x15'));var logger=require('../../config/logger')(_0x28f5('0x16'));var utils=require(_0x28f5('0x17'));var config=require(_0x28f5('0x18'));var licenseUtil=require(_0x28f5('0x19'));var db=require(_0x28f5('0x1a'))['db'];function respondWithStatusCode(_0x5c8a1c,_0x3daa54){_0x3daa54=_0x3daa54||0xcc;return function(_0x4fa59a){if(_0x4fa59a){return _0x5c8a1c['sendStatus'](_0x3daa54);}return _0x5c8a1c[_0x28f5('0x1b')](_0x3daa54)[_0x28f5('0x1c')]();};}function respondWithResult(_0x5adcb5,_0x1e8f27){_0x1e8f27=_0x1e8f27||0xc8;return function(_0x275124){if(_0x275124){return _0x5adcb5[_0x28f5('0x1b')](_0x1e8f27)[_0x28f5('0x1d')](_0x275124);}};}function respondWithFilteredResult(_0x263707,_0x2c91df){return function(_0x5ae066){if(_0x5ae066){var _0x4ee1fd=_0x5ae066[_0x28f5('0x1e')],_0x247e95=_0x2c91df[_0x28f5('0x1f')],_0xe172d0=_0x2c91df['offset']+_0x2c91df['limit'],_0x7b23c4;if(_0xe172d0>=_0x4ee1fd){_0xe172d0=_0x4ee1fd;_0x7b23c4=0xc8;}else{_0x7b23c4=0xce;}_0x263707['status'](_0x7b23c4);return _0x263707[_0x28f5('0x20')](_0x28f5('0x21'),_0x247e95+'-'+_0xe172d0+'/'+_0x4ee1fd)[_0x28f5('0x1d')](_0x5ae066);}return null;};}function patchUpdates(_0x12c5f1){return function(_0x371c14){try{jsonpatch[_0x28f5('0x22')](_0x371c14,_0x12c5f1,!![]);}catch(_0x4634d2){return BPromise[_0x28f5('0x23')](_0x4634d2);}return _0x371c14['save']();};}function saveUpdates(_0x209564,_0x462881){return function(_0x151fb3){if(_0x151fb3){return _0x151fb3[_0x28f5('0x24')](_0x209564)[_0x28f5('0x25')](function(_0x379b75){return _0x379b75;});}return null;};}function removeEntity(_0x2e262b,_0xe24c08){return function(_0x3cc2d8){if(_0x3cc2d8){return _0x3cc2d8['destroy']()[_0x28f5('0x25')](function(){_0x2e262b[_0x28f5('0x1b')](0xcc)[_0x28f5('0x1c')]();});}};}function handleEntityNotFound(_0x2f90c3,_0x283e18){return function(_0x2613d3){if(!_0x2613d3){_0x2f90c3['sendStatus'](0x194);}return _0x2613d3;};}function handleError(_0x16b618,_0x2ba2f8){_0x2ba2f8=_0x2ba2f8||0x1f4;return function(_0x114c89){logger[_0x28f5('0x26')](_0x114c89[_0x28f5('0x27')]);if(_0x114c89[_0x28f5('0x28')]){delete _0x114c89['name'];}_0x16b618[_0x28f5('0x1b')](_0x2ba2f8)[_0x28f5('0x29')](_0x114c89);};}exports[_0x28f5('0x2a')]=function(_0x18353d,_0x18e1ed){var _0x293490={},_0x401ed2={},_0x5157ca={'count':0x0,'rows':[]};var _0x32cb61=_[_0x28f5('0x2b')](db[_0x28f5('0x2c')][_0x28f5('0x2d')],function(_0x49ab1c){return{'name':_0x49ab1c[_0x28f5('0x2e')],'type':_0x49ab1c['type']['key']};});_0x401ed2[_0x28f5('0x2f')]=_[_0x28f5('0x2b')](_0x32cb61,_0x28f5('0x28'));_0x401ed2[_0x28f5('0x30')]=_['keys'](_0x18353d['query']);_0x401ed2[_0x28f5('0x31')]=_[_0x28f5('0x32')](_0x401ed2[_0x28f5('0x2f')],_0x401ed2[_0x28f5('0x30')]);_0x293490['attributes']=_['intersection'](_0x401ed2[_0x28f5('0x2f')],qs['fields'](_0x18353d[_0x28f5('0x30')][_0x28f5('0x33')]));_0x293490[_0x28f5('0x34')]=_0x293490['attributes'][_0x28f5('0x35')]?_0x293490[_0x28f5('0x34')]:_0x401ed2[_0x28f5('0x2f')];if(!_0x18353d['query']['hasOwnProperty'](_0x28f5('0x36'))){_0x293490[_0x28f5('0x37')]=qs[_0x28f5('0x37')](_0x18353d['query'][_0x28f5('0x37')]);_0x293490[_0x28f5('0x1f')]=qs['offset'](_0x18353d[_0x28f5('0x30')][_0x28f5('0x1f')]);}_0x293490['order']=qs[_0x28f5('0x38')](_0x18353d[_0x28f5('0x30')][_0x28f5('0x38')]);_0x293490[_0x28f5('0x39')]=qs['filters'](_['pick'](_0x18353d[_0x28f5('0x30')],_0x401ed2[_0x28f5('0x31')]),_0x32cb61);if(_0x18353d['query'][_0x28f5('0x3a')]){_0x293490[_0x28f5('0x39')]=_[_0x28f5('0x3b')](_0x293490[_0x28f5('0x39')],{'$or':_['map'](_0x32cb61,function(_0x4d34f3){if(_0x4d34f3[_0x28f5('0x3c')]!==_0x28f5('0x3d')){var _0x136e80={};_0x136e80[_0x4d34f3['name']]={'$like':'%'+_0x18353d['query'][_0x28f5('0x3a')]+'%'};return _0x136e80;}})});}_0x293490=_[_0x28f5('0x3b')]({},_0x293490,_0x18353d[_0x28f5('0x3e')]);var _0x350f75={'where':_0x293490['where']};return db[_0x28f5('0x2c')][_0x28f5('0x1e')](_0x350f75)['then'](function(_0x2a127d){_0x5157ca['count']=_0x2a127d;if(_0x18353d[_0x28f5('0x30')]['includeAll']){_0x293490[_0x28f5('0x3f')]=[{'all':!![]}];}return db[_0x28f5('0x2c')][_0x28f5('0x40')](_0x293490);})['then'](function(_0x16882f){_0x5157ca[_0x28f5('0x41')]=_0x16882f;return _0x5157ca;})['then'](respondWithFilteredResult(_0x18e1ed,_0x293490))['catch'](handleError(_0x18e1ed,null));};