Built motion from commit (unavailable).|2.5.21
[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 _0x70d2=['body','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','map','Integration','fieldName','key','model','query','intersection','attributes','fields','hasOwnProperty','limit','order','sort','filters','pick','filter','where','type','VIRTUAL','includeAll','findAll','rows','catch','params','rawAttributes','length','include','merge','find','create'];(function(_0x134c2e,_0x3573c4){var _0x2825db=function(_0x2a574d){while(--_0x2a574d){_0x134c2e['push'](_0x134c2e['shift']());}};_0x2825db(++_0x3573c4);}(_0x70d2,0x93));var _0x270d=function(_0x14ce6d,_0x45fcfb){_0x14ce6d=_0x14ce6d-0x0;var _0x28efce=_0x70d2[_0x14ce6d];return _0x28efce;};'use strict';var pdf=require(_0x270d('0x0'));var emlformat=require(_0x270d('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x270d('0x2'));var rp=require(_0x270d('0x3'));var moment=require(_0x270d('0x4'));var BPromise=require(_0x270d('0x5'));var Mustache=require('mustache');var util=require(_0x270d('0x6'));var path=require(_0x270d('0x7'));var sox=require(_0x270d('0x8'));var csv=require('to-csv');var ejs=require(_0x270d('0x9'));var fs=require('fs');var _=require(_0x270d('0xa'));var squel=require(_0x270d('0xb'));var crypto=require(_0x270d('0xc'));var jsforce=require(_0x270d('0xd'));var deskjs=require(_0x270d('0xe'));var toCsv=require(_0x270d('0xf'));var querystring=require(_0x270d('0x10'));var Papa=require(_0x270d('0x11'));var Redis=require(_0x270d('0x12'));var authService=require(_0x270d('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x270d('0x14'));var hardwareService=require(_0x270d('0x15'));var logger=require(_0x270d('0x16'))('api');var utils=require(_0x270d('0x17'));var config=require(_0x270d('0x18'));var licenseUtil=require(_0x270d('0x19'));var db=require(_0x270d('0x1a'))['db'];function respondWithStatusCode(_0x38022c,_0x57e494){_0x57e494=_0x57e494||0xcc;return function(_0x2d14f1){if(_0x2d14f1){return _0x38022c[_0x270d('0x1b')](_0x57e494);}return _0x38022c[_0x270d('0x1c')](_0x57e494)['end']();};}function respondWithResult(_0x2c2941,_0x4dbb9c){_0x4dbb9c=_0x4dbb9c||0xc8;return function(_0x286796){if(_0x286796){return _0x2c2941[_0x270d('0x1c')](_0x4dbb9c)[_0x270d('0x1d')](_0x286796);}};}function respondWithFilteredResult(_0x2c9c2d,_0x5f1d4b){return function(_0x395119){if(_0x395119){var _0x339a39=_0x395119[_0x270d('0x1e')],_0x4b3d1f=_0x5f1d4b[_0x270d('0x1f')],_0x6ce029=_0x5f1d4b[_0x270d('0x1f')]+_0x5f1d4b['limit'],_0x238b6e;if(_0x6ce029>=_0x339a39){_0x6ce029=_0x339a39;_0x238b6e=0xc8;}else{_0x238b6e=0xce;}_0x2c9c2d[_0x270d('0x1c')](_0x238b6e);return _0x2c9c2d[_0x270d('0x20')](_0x270d('0x21'),_0x4b3d1f+'-'+_0x6ce029+'/'+_0x339a39)['json'](_0x395119);}return null;};}function patchUpdates(_0x295c76){return function(_0x1c8c89){try{jsonpatch[_0x270d('0x22')](_0x1c8c89,_0x295c76,!![]);}catch(_0x2ca39d){return BPromise[_0x270d('0x23')](_0x2ca39d);}return _0x1c8c89[_0x270d('0x24')]();};}function saveUpdates(_0x134efe,_0x464e91){return function(_0x5683f5){if(_0x5683f5){return _0x5683f5[_0x270d('0x25')](_0x134efe)[_0x270d('0x26')](function(_0x2ae03e){return _0x2ae03e;});}return null;};}function removeEntity(_0x55ce22,_0xa0f16e){return function(_0x2a2e42){if(_0x2a2e42){return _0x2a2e42[_0x270d('0x27')]()[_0x270d('0x26')](function(){_0x55ce22['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x52f8ee,_0x4780a4){return function(_0x3fa5f1){if(!_0x3fa5f1){_0x52f8ee[_0x270d('0x1b')](0x194);}return _0x3fa5f1;};}function handleError(_0x126ba4,_0x39704a){_0x39704a=_0x39704a||0x1f4;return function(_0x571f93){logger['error'](_0x571f93[_0x270d('0x28')]);if(_0x571f93[_0x270d('0x29')]){delete _0x571f93[_0x270d('0x29')];}_0x126ba4[_0x270d('0x1c')](_0x39704a)['send'](_0x571f93);};}exports['index']=function(_0x3f8895,_0x7bd4f0){var _0x5bd312={},_0x3a33d7={},_0xe411a={'count':0x0,'rows':[]};var _0x4a2559=_[_0x270d('0x2a')](db[_0x270d('0x2b')]['rawAttributes'],function(_0x470d4d){return{'name':_0x470d4d[_0x270d('0x2c')],'type':_0x470d4d['type'][_0x270d('0x2d')]};});_0x3a33d7[_0x270d('0x2e')]=_[_0x270d('0x2a')](_0x4a2559,'name');_0x3a33d7[_0x270d('0x2f')]=_['keys'](_0x3f8895[_0x270d('0x2f')]);_0x3a33d7['filters']=_[_0x270d('0x30')](_0x3a33d7[_0x270d('0x2e')],_0x3a33d7[_0x270d('0x2f')]);_0x5bd312[_0x270d('0x31')]=_['intersection'](_0x3a33d7[_0x270d('0x2e')],qs['fields'](_0x3f8895[_0x270d('0x2f')][_0x270d('0x32')]));_0x5bd312['attributes']=_0x5bd312[_0x270d('0x31')]['length']?_0x5bd312[_0x270d('0x31')]:_0x3a33d7['model'];if(!_0x3f8895['query'][_0x270d('0x33')]('nolimit')){_0x5bd312[_0x270d('0x34')]=qs[_0x270d('0x34')](_0x3f8895[_0x270d('0x2f')][_0x270d('0x34')]);_0x5bd312[_0x270d('0x1f')]=qs[_0x270d('0x1f')](_0x3f8895[_0x270d('0x2f')][_0x270d('0x1f')]);}_0x5bd312[_0x270d('0x35')]=qs[_0x270d('0x36')](_0x3f8895['query']['sort']);_0x5bd312['where']=qs[_0x270d('0x37')](_[_0x270d('0x38')](_0x3f8895[_0x270d('0x2f')],_0x3a33d7[_0x270d('0x37')]),_0x4a2559);if(_0x3f8895['query'][_0x270d('0x39')]){_0x5bd312[_0x270d('0x3a')]=_['merge'](_0x5bd312[_0x270d('0x3a')],{'$or':_[_0x270d('0x2a')](_0x4a2559,function(_0x56ec6d){if(_0x56ec6d[_0x270d('0x3b')]!==_0x270d('0x3c')){var _0x3233c8={};_0x3233c8[_0x56ec6d[_0x270d('0x29')]]={'$like':'%'+_0x3f8895[_0x270d('0x2f')][_0x270d('0x39')]+'%'};return _0x3233c8;}})});}_0x5bd312=_['merge']({},_0x5bd312,_0x3f8895['options']);var _0x235f1a={'where':_0x5bd312[_0x270d('0x3a')]};return db[_0x270d('0x2b')][_0x270d('0x1e')](_0x235f1a)[_0x270d('0x26')](function(_0xd23034){_0xe411a['count']=_0xd23034;if(_0x3f8895[_0x270d('0x2f')][_0x270d('0x3d')]){_0x5bd312['include']=[{'all':!![]}];}return db[_0x270d('0x2b')][_0x270d('0x3e')](_0x5bd312);})['then'](function(_0x40b417){_0xe411a[_0x270d('0x3f')]=_0x40b417;return _0xe411a;})['then'](respondWithFilteredResult(_0x7bd4f0,_0x5bd312))[_0x270d('0x40')](handleError(_0x7bd4f0,null));};exports['show']=function(_0x21ca55,_0x143caf){var _0x47c03d={'raw':![],'where':{'id':_0x21ca55[_0x270d('0x41')]['id']}},_0x33c5ab={};_0x33c5ab['model']=_['keys'](db[_0x270d('0x2b')][_0x270d('0x42')]);_0x33c5ab['query']=_['keys'](_0x21ca55['query']);_0x33c5ab[_0x270d('0x37')]=_[_0x270d('0x30')](_0x33c5ab[_0x270d('0x2e')],_0x33c5ab[_0x270d('0x2f')]);_0x47c03d[_0x270d('0x31')]=_[_0x270d('0x30')](_0x33c5ab[_0x270d('0x2e')],qs[_0x270d('0x32')](_0x21ca55[_0x270d('0x2f')][_0x270d('0x32')]));_0x47c03d[_0x270d('0x31')]=_0x47c03d['attributes'][_0x270d('0x43')]?_0x47c03d[_0x270d('0x31')]:_0x33c5ab['model'];if(_0x21ca55[_0x270d('0x2f')][_0x270d('0x3d')]){_0x47c03d[_0x270d('0x44')]=[{'all':!![]}];}_0x47c03d=_[_0x270d('0x45')]({},_0x47c03d,_0x21ca55['options']);return db[_0x270d('0x2b')][_0x270d('0x46')](_0x47c03d)['then'](handleEntityNotFound(_0x143caf,null))['then'](respondWithResult(_0x143caf,null))[_0x270d('0x40')](handleError(_0x143caf,null));};exports[_0x270d('0x47')]=function(_0x403ad6,_0x48299b){return db[_0x270d('0x2b')][_0x270d('0x47')](_0x403ad6[_0x270d('0x48')],{})['then'](respondWithResult(_0x48299b,0xc9))['catch'](handleError(_0x48299b,null));};exports['update']=function(_0x325357,_0xe26ea8){if(_0x325357[_0x270d('0x48')]['id']){delete _0x325357['body']['id'];}return db[_0x270d('0x2b')]['find']({'where':{'id':_0x325357['params']['id']}})['then'](handleEntityNotFound(_0xe26ea8,null))[_0x270d('0x26')](saveUpdates(_0x325357[_0x270d('0x48')],null))[_0x270d('0x26')](respondWithResult(_0xe26ea8,null))[_0x270d('0x40')](handleError(_0xe26ea8,null));};exports[_0x270d('0x27')]=function(_0x51a007,_0x49e15e){return db[_0x270d('0x2b')][_0x270d('0x46')]({'where':{'id':_0x51a007[_0x270d('0x41')]['id']}})['then'](handleEntityNotFound(_0x49e15e,null))[_0x270d('0x26')](removeEntity(_0x49e15e,null))[_0x270d('0x40')](handleError(_0x49e15e,null));};