Built motion from commit 67e5df37.|2.0.66
[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 _0x6509=['../../config/environment','../../mysqldb','status','end','json','offset','set','apply','save','then','destroy','name','send','model','keys','Migration','rawAttributes','query','dateStart','dateEnd','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','add','merge','filter','options','count','includeAll','include','catch','fast-json-patch','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api'];(function(_0x754ab4,_0x56daa7){var _0x34079a=function(_0x295ec1){while(--_0x295ec1){_0x754ab4['push'](_0x754ab4['shift']());}};_0x34079a(++_0x56daa7);}(_0x6509,0x1b0));var _0x9650=function(_0x4f4c53,_0x58ba7b){_0x4f4c53=_0x4f4c53-0x0;var _0x568ff1=_0x6509[_0x4f4c53];return _0x568ff1;};'use strict';var jsonpatch=require(_0x9650('0x0'));var rp=require('request-promise');var moment=require(_0x9650('0x1'));var BPromise=require(_0x9650('0x2'));var Mustache=require(_0x9650('0x3'));var util=require('util');var path=require(_0x9650('0x4'));var sox=require('sox');var csv=require(_0x9650('0x5'));var ejs=require(_0x9650('0x6'));var fs=require('fs');var _=require(_0x9650('0x7'));var squel=require(_0x9650('0x8'));var crypto=require('crypto');var jsforce=require(_0x9650('0x9'));var deskjs=require(_0x9650('0xa'));var toCsv=require('to-csv');var querystring=require(_0x9650('0xb'));var Papa=require(_0x9650('0xc'));var qs=require(_0x9650('0xd'));var logger=require(_0x9650('0xe'))(_0x9650('0xf'));var utils=require('../../config/utils');var config=require(_0x9650('0x10'));var db=require(_0x9650('0x11'))['db'];function respondWithStatusCode(_0x4b532e,_0xbde218){_0xbde218=_0xbde218||0xcc;return function(_0x3db2cc){if(_0x3db2cc){return _0x4b532e['sendStatus'](_0xbde218);}return _0x4b532e[_0x9650('0x12')](_0xbde218)[_0x9650('0x13')]();};}function respondWithResult(_0x1d1040,_0x2cfd29){_0x2cfd29=_0x2cfd29||0xc8;return function(_0x309724){if(_0x309724){return _0x1d1040[_0x9650('0x12')](_0x2cfd29)[_0x9650('0x14')](_0x309724);}};}function respondWithFilteredResult(_0x1b1532,_0x923c5b){return function(_0x477dac){if(_0x477dac){var _0x1c7ea5=_0x477dac['count'],_0x590aaf=_0x923c5b[_0x9650('0x15')],_0x55c690=_0x923c5b['offset']+_0x923c5b['limit'],_0x56f9c0;if(_0x55c690>=_0x1c7ea5){_0x55c690=_0x1c7ea5;_0x56f9c0=0xc8;}else{_0x56f9c0=0xce;}_0x1b1532[_0x9650('0x12')](_0x56f9c0);return _0x1b1532[_0x9650('0x16')]('Content-Range',_0x590aaf+'-'+_0x55c690+'/'+_0x1c7ea5)['json'](_0x477dac);}return null;};}function patchUpdates(_0xe3ffed){return function(_0x9a9b5f){try{jsonpatch[_0x9650('0x17')](_0x9a9b5f,_0xe3ffed,!![]);}catch(_0xedcaea){return BPromise['reject'](_0xedcaea);}return _0x9a9b5f[_0x9650('0x18')]();};}function saveUpdates(_0x178bdd,_0x4701fc){return function(_0x45f163){if(_0x45f163){return _0x45f163['update'](_0x178bdd)[_0x9650('0x19')](function(_0x55188f){return _0x55188f;});}return null;};}function removeEntity(_0x153f66,_0x106271){return function(_0x3c1339){if(_0x3c1339){return _0x3c1339[_0x9650('0x1a')]()[_0x9650('0x19')](function(){_0x153f66[_0x9650('0x12')](0xcc)[_0x9650('0x13')]();});}};}function handleEntityNotFound(_0x1300de,_0x3888b9){return function(_0x23c040){if(!_0x23c040){_0x1300de['sendStatus'](0x194);}return _0x23c040;};}function handleError(_0x3fd886,_0x2acdcb){_0x2acdcb=_0x2acdcb||0x1f4;return function(_0x218d95){logger['error'](_0x218d95['stack']);if(_0x218d95[_0x9650('0x1b')]){delete _0x218d95[_0x9650('0x1b')];}_0x3fd886['status'](_0x2acdcb)[_0x9650('0x1c')](_0x218d95);};}exports['index']=function(_0x5b2c77,_0x4b301a){var _0x5d989f={},_0x2cd269={},_0x5c5103={'count':0x0,'rows':[]};_0x2cd269[_0x9650('0x1d')]=_[_0x9650('0x1e')](db[_0x9650('0x1f')][_0x9650('0x20')]);var _0x4ed6f2={'dateStart':_0x5b2c77[_0x9650('0x21')][_0x9650('0x22')],'dateEnd':_0x5b2c77[_0x9650('0x21')][_0x9650('0x23')]};delete _0x5b2c77[_0x9650('0x21')]['dateStart'];delete _0x5b2c77[_0x9650('0x21')]['dateEnd'];_0x2cd269['query']=_['keys'](_0x5b2c77['query']);_0x2cd269[_0x9650('0x24')]=_[_0x9650('0x25')](_0x2cd269[_0x9650('0x1d')],_0x2cd269['query']);_0x5d989f[_0x9650('0x26')]=_[_0x9650('0x25')](_0x2cd269['model'],qs[_0x9650('0x27')](_0x5b2c77[_0x9650('0x21')][_0x9650('0x27')]));_0x5d989f[_0x9650('0x26')]=_0x5d989f['attributes'][_0x9650('0x28')]?_0x5d989f[_0x9650('0x26')]:_0x2cd269[_0x9650('0x1d')];if(!_0x5b2c77['query'][_0x9650('0x29')](_0x9650('0x2a'))){_0x5d989f[_0x9650('0x2b')]=qs[_0x9650('0x2b')](_0x5b2c77[_0x9650('0x21')]['limit']);_0x5d989f[_0x9650('0x15')]=qs[_0x9650('0x15')](_0x5b2c77[_0x9650('0x21')][_0x9650('0x15')]);}_0x5d989f[_0x9650('0x2c')]=qs[_0x9650('0x2d')](_0x5b2c77['query'][_0x9650('0x2d')]);_0x5d989f[_0x9650('0x2e')]=qs[_0x9650('0x24')](_[_0x9650('0x2f')](_0x5b2c77[_0x9650('0x21')],_0x2cd269[_0x9650('0x24')]));if(_0x4ed6f2[_0x9650('0x22')]){if(_0x4ed6f2[_0x9650('0x23')]){_0x4ed6f2[_0x9650('0x23')]=moment(_0x4ed6f2[_0x9650('0x23')])[_0x9650('0x30')](0x1,'day');}else{_0x4ed6f2[_0x9650('0x23')]=moment(_0x4ed6f2[_0x9650('0x22')])[_0x9650('0x30')](0x1,'day');}_[_0x9650('0x31')](_0x5d989f['where'],{'createdAt':{'$gte':_0x4ed6f2['dateStart'],'$lte':_0x4ed6f2[_0x9650('0x23')]}});}if(_0x5b2c77[_0x9650('0x21')][_0x9650('0x32')]){_0x5d989f['where']=_[_0x9650('0x31')](_0x5d989f['where'],{'$or':_['map'](_0x5d989f[_0x9650('0x26')],function(_0x398f94){var _0x2645e0={};_0x2645e0[_0x398f94]={'$like':'%'+_0x5b2c77['query'][_0x9650('0x32')]+'%'};return _0x2645e0;})});}_0x5d989f=_['merge']({},_0x5d989f,_0x5b2c77[_0x9650('0x33')]);var _0x402843={'where':_0x5d989f[_0x9650('0x2e')]};return db['Migration'][_0x9650('0x34')](_0x402843)[_0x9650('0x19')](function(_0x31bd01){_0x5c5103[_0x9650('0x34')]=_0x31bd01;if(_0x5b2c77[_0x9650('0x21')][_0x9650('0x35')]){_0x5d989f[_0x9650('0x36')]=[{'all':!![]}];}return db[_0x9650('0x1f')]['findAll'](_0x5d989f);})['then'](function(_0x1119e2){_0x5c5103['rows']=_0x1119e2;return _0x5c5103;})[_0x9650('0x19')](respondWithFilteredResult(_0x4b301a,_0x5d989f))[_0x9650('0x37')](handleError(_0x4b301a,null));};