Built motion from commit (unavailable).|2.0.80
[motion2.git] / server / api / integration / integration.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 _0xadb5=['update','then','error','stack','name','send','index','Integration','rawAttributes','model','keys','dateEnd','query','dateStart','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','day','merge','filter','map','rows','catch','params','includeAll','options','find','create','body','destroy','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../mysqldb','sendStatus','end','status','count','offset','limit','set','Content-Range','json','save'];(function(_0x386c3e,_0x44a375){var _0x4b8e13=function(_0x583c8f){while(--_0x583c8f){_0x386c3e['push'](_0x386c3e['shift']());}};_0x4b8e13(++_0x44a375);}(_0xadb5,0xad));var _0x5adb=function(_0xf5c560,_0x5027c2){_0xf5c560=_0xf5c560-0x0;var _0xc6cefa=_0xadb5[_0xf5c560];return _0xc6cefa;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5adb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5adb('0x1'));var jsonpatch=require(_0x5adb('0x2'));var rp=require(_0x5adb('0x3'));var moment=require('moment');var BPromise=require(_0x5adb('0x4'));var Mustache=require(_0x5adb('0x5'));var util=require(_0x5adb('0x6'));var path=require('path');var sox=require(_0x5adb('0x7'));var csv=require(_0x5adb('0x8'));var ejs=require(_0x5adb('0x9'));var fs=require('fs');var _=require(_0x5adb('0xa'));var squel=require(_0x5adb('0xb'));var crypto=require(_0x5adb('0xc'));var jsforce=require(_0x5adb('0xd'));var deskjs=require(_0x5adb('0xe'));var toCsv=require(_0x5adb('0x8'));var querystring=require(_0x5adb('0xf'));var Papa=require(_0x5adb('0x10'));var qs=require(_0x5adb('0x11'));var logger=require(_0x5adb('0x12'))(_0x5adb('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x5adb('0x14'))['db'];function respondWithStatusCode(_0x1ea238,_0x82e67e){_0x82e67e=_0x82e67e||0xcc;return function(_0x53b772){if(_0x53b772){return _0x1ea238[_0x5adb('0x15')](_0x82e67e);}return _0x1ea238['status'](_0x82e67e)[_0x5adb('0x16')]();};}function respondWithResult(_0x5433bf,_0x8cfcc6){_0x8cfcc6=_0x8cfcc6||0xc8;return function(_0x39a0b3){if(_0x39a0b3){return _0x5433bf[_0x5adb('0x17')](_0x8cfcc6)['json'](_0x39a0b3);}};}function respondWithFilteredResult(_0x2a545b,_0x34af2c){return function(_0xf82f72){if(_0xf82f72){var _0x5263ec=_0xf82f72[_0x5adb('0x18')],_0x2312de=_0x34af2c[_0x5adb('0x19')],_0x518823=_0x34af2c[_0x5adb('0x19')]+_0x34af2c[_0x5adb('0x1a')],_0x367d82;if(_0x518823>=_0x5263ec){_0x518823=_0x5263ec;_0x367d82=0xc8;}else{_0x367d82=0xce;}_0x2a545b[_0x5adb('0x17')](_0x367d82);return _0x2a545b[_0x5adb('0x1b')](_0x5adb('0x1c'),_0x2312de+'-'+_0x518823+'/'+_0x5263ec)[_0x5adb('0x1d')](_0xf82f72);}return null;};}function patchUpdates(_0x529b65){return function(_0x3fff62){try{jsonpatch['apply'](_0x3fff62,_0x529b65,!![]);}catch(_0x1d9e86){return BPromise['reject'](_0x1d9e86);}return _0x3fff62[_0x5adb('0x1e')]();};}function saveUpdates(_0x50e84f,_0x5e218c){return function(_0x1fbaa5){if(_0x1fbaa5){return _0x1fbaa5[_0x5adb('0x1f')](_0x50e84f)[_0x5adb('0x20')](function(_0x1fd4a7){return _0x1fd4a7;});}return null;};}function removeEntity(_0x99bc6c,_0x5af69d){return function(_0x3255b3){if(_0x3255b3){return _0x3255b3['destroy']()['then'](function(){_0x99bc6c[_0x5adb('0x17')](0xcc)[_0x5adb('0x16')]();});}};}function handleEntityNotFound(_0x1a38d3,_0x1a8014){return function(_0x1e9ccf){if(!_0x1e9ccf){_0x1a38d3[_0x5adb('0x15')](0x194);}return _0x1e9ccf;};}function handleError(_0xfd9bb9,_0x4ca150){_0x4ca150=_0x4ca150||0x1f4;return function(_0x4b1957){logger[_0x5adb('0x21')](_0x4b1957[_0x5adb('0x22')]);if(_0x4b1957[_0x5adb('0x23')]){delete _0x4b1957[_0x5adb('0x23')];}_0xfd9bb9['status'](_0x4ca150)[_0x5adb('0x24')](_0x4b1957);};}exports[_0x5adb('0x25')]=function(_0x5aed76,_0x1feecf){var _0x1ded9f={},_0x1a0acd={},_0x55b40a={'count':0x0,'rows':[]};var _0x13ad1d=db[_0x5adb('0x26')][_0x5adb('0x27')];_0x1a0acd[_0x5adb('0x28')]=_[_0x5adb('0x29')](_0x13ad1d);var _0x1c06c4={'dateStart':_0x5aed76['query']['dateStart'],'dateEnd':_0x5aed76['query'][_0x5adb('0x2a')]};delete _0x5aed76[_0x5adb('0x2b')][_0x5adb('0x2c')];delete _0x5aed76[_0x5adb('0x2b')][_0x5adb('0x2a')];_0x1a0acd['query']=_[_0x5adb('0x29')](_0x5aed76[_0x5adb('0x2b')]);_0x1a0acd[_0x5adb('0x2d')]=_[_0x5adb('0x2e')](_0x1a0acd[_0x5adb('0x28')],_0x1a0acd[_0x5adb('0x2b')]);_0x1ded9f[_0x5adb('0x2f')]=_[_0x5adb('0x2e')](_0x1a0acd[_0x5adb('0x28')],qs[_0x5adb('0x30')](_0x5aed76['query'][_0x5adb('0x30')]));_0x1ded9f['attributes']=_0x1ded9f[_0x5adb('0x2f')][_0x5adb('0x31')]?_0x1ded9f['attributes']:_0x1a0acd[_0x5adb('0x28')];if(!_0x5aed76[_0x5adb('0x2b')][_0x5adb('0x32')]('nolimit')){_0x1ded9f[_0x5adb('0x1a')]=qs[_0x5adb('0x1a')](_0x5aed76['query']['limit']);_0x1ded9f[_0x5adb('0x19')]=qs['offset'](_0x5aed76[_0x5adb('0x2b')][_0x5adb('0x19')]);}_0x1ded9f[_0x5adb('0x33')]=qs[_0x5adb('0x34')](_0x5aed76[_0x5adb('0x2b')]['sort']);_0x1ded9f[_0x5adb('0x35')]=qs[_0x5adb('0x2d')](_[_0x5adb('0x36')](_0x5aed76['query'],_0x1a0acd['filters']));if(_0x1c06c4[_0x5adb('0x2c')]){if(_0x1c06c4[_0x5adb('0x2a')]){_0x1c06c4['dateEnd']=moment(_0x1c06c4[_0x5adb('0x2a')])['add'](0x1,_0x5adb('0x37'));}else{_0x1c06c4['dateEnd']=moment(_0x1c06c4[_0x5adb('0x2c')])['add'](0x1,_0x5adb('0x37'));}_[_0x5adb('0x38')](_0x1ded9f['where'],{'createdAt':{'$gte':_0x1c06c4[_0x5adb('0x2c')],'$lte':_0x1c06c4['dateEnd']}});}if(_0x5aed76[_0x5adb('0x2b')][_0x5adb('0x39')]){_0x1ded9f[_0x5adb('0x35')]=_['merge'](_0x1ded9f[_0x5adb('0x35')],{'$or':_[_0x5adb('0x3a')](_0x1ded9f[_0x5adb('0x2f')],function(_0x132803){var _0x22aa95={};_0x22aa95[_0x132803]={'$like':'%'+_0x5aed76['query']['filter']+'%'};return _0x22aa95;})});}_0x1ded9f=_['merge']({},_0x1ded9f,_0x5aed76['options']);var _0x427c71={'where':_0x1ded9f[_0x5adb('0x35')]};return db[_0x5adb('0x26')][_0x5adb('0x18')](_0x427c71)[_0x5adb('0x20')](function(_0xd1c3c2){_0x55b40a[_0x5adb('0x18')]=_0xd1c3c2;if(_0x5aed76[_0x5adb('0x2b')]['includeAll']){_0x1ded9f['include']=[{'all':!![]}];}return db[_0x5adb('0x26')]['findAll'](_0x1ded9f);})[_0x5adb('0x20')](function(_0x3300ae){_0x55b40a[_0x5adb('0x3b')]=_0x3300ae;return _0x55b40a;})[_0x5adb('0x20')](respondWithFilteredResult(_0x1feecf,_0x1ded9f))[_0x5adb('0x3c')](handleError(_0x1feecf,null));};exports['show']=function(_0x43d320,_0x565b03){var _0x508690={'raw':![],'where':{'id':_0x43d320[_0x5adb('0x3d')]['id']}},_0x4160ad={};_0x4160ad['model']=_[_0x5adb('0x29')](db[_0x5adb('0x26')][_0x5adb('0x27')]);_0x4160ad[_0x5adb('0x2b')]=_[_0x5adb('0x29')](_0x43d320[_0x5adb('0x2b')]);_0x4160ad[_0x5adb('0x2d')]=_['intersection'](_0x4160ad['model'],_0x4160ad[_0x5adb('0x2b')]);_0x508690[_0x5adb('0x2f')]=_[_0x5adb('0x2e')](_0x4160ad[_0x5adb('0x28')],qs['fields'](_0x43d320['query'][_0x5adb('0x30')]));_0x508690[_0x5adb('0x2f')]=_0x508690[_0x5adb('0x2f')][_0x5adb('0x31')]?_0x508690[_0x5adb('0x2f')]:_0x4160ad['model'];if(_0x43d320[_0x5adb('0x2b')][_0x5adb('0x3e')]){_0x508690['include']=[{'all':!![]}];}_0x508690=_[_0x5adb('0x38')]({},_0x508690,_0x43d320[_0x5adb('0x3f')]);return db[_0x5adb('0x26')][_0x5adb('0x40')](_0x508690)[_0x5adb('0x20')](handleEntityNotFound(_0x565b03,null))[_0x5adb('0x20')](respondWithResult(_0x565b03,null))[_0x5adb('0x3c')](handleError(_0x565b03,null));};exports[_0x5adb('0x41')]=function(_0x49e1a1,_0x3a925b){return db['Integration']['create'](_0x49e1a1['body'],{})[_0x5adb('0x20')](respondWithResult(_0x3a925b,0xc9))[_0x5adb('0x3c')](handleError(_0x3a925b,null));};exports[_0x5adb('0x1f')]=function(_0x4ba0b5,_0x2ad69d){if(_0x4ba0b5['body']['id']){delete _0x4ba0b5[_0x5adb('0x42')]['id'];}return db[_0x5adb('0x26')][_0x5adb('0x40')]({'where':{'id':_0x4ba0b5['params']['id']}})[_0x5adb('0x20')](handleEntityNotFound(_0x2ad69d,null))['then'](saveUpdates(_0x4ba0b5[_0x5adb('0x42')],null))[_0x5adb('0x20')](respondWithResult(_0x2ad69d,null))['catch'](handleError(_0x2ad69d,null));};exports[_0x5adb('0x43')]=function(_0x1ab97b,_0x3594e3){return db[_0x5adb('0x26')][_0x5adb('0x40')]({'where':{'id':_0x1ab97b['params']['id']}})[_0x5adb('0x20')](handleEntityNotFound(_0x3594e3,null))[_0x5adb('0x20')](removeEntity(_0x3594e3,null))[_0x5adb('0x3c')](handleError(_0x3594e3,null));};