fb078121aa18de114787c05fbf4f7430c9ba275d
[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 _0xafd0=['fieldName','type','key','model','map','keys','filters','intersection','attributes','fields','query','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','params','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','count','offset','limit','status','set','Content-Range','json','reject','save','update','then','destroy','stack','name','send','Integration','rawAttributes'];(function(_0xdea41a,_0x552987){var _0x15d0d8=function(_0x1e0d0b){while(--_0x1e0d0b){_0xdea41a['push'](_0xdea41a['shift']());}};_0x15d0d8(++_0x552987);}(_0xafd0,0xb3));var _0x0afd=function(_0x45d55e,_0x2fede3){_0x45d55e=_0x45d55e-0x0;var _0x29812a=_0xafd0[_0x45d55e];return _0x29812a;};'use strict';var pdf=require(_0x0afd('0x0'));var emlformat=require(_0x0afd('0x1'));var rimraf=require(_0x0afd('0x2'));var zipdir=require(_0x0afd('0x3'));var jsonpatch=require(_0x0afd('0x4'));var rp=require(_0x0afd('0x5'));var moment=require(_0x0afd('0x6'));var BPromise=require(_0x0afd('0x7'));var Mustache=require(_0x0afd('0x8'));var util=require(_0x0afd('0x9'));var path=require('path');var sox=require('sox');var csv=require(_0x0afd('0xa'));var ejs=require(_0x0afd('0xb'));var fs=require('fs');var _=require(_0x0afd('0xc'));var squel=require(_0x0afd('0xd'));var crypto=require(_0x0afd('0xe'));var jsforce=require(_0x0afd('0xf'));var deskjs=require(_0x0afd('0x10'));var toCsv=require('to-csv');var querystring=require(_0x0afd('0x11'));var Papa=require('papaparse');var Redis=require(_0x0afd('0x12'));var authService=require(_0x0afd('0x13'));var qs=require(_0x0afd('0x14'));var as=require(_0x0afd('0x15'));var hardwareService=require(_0x0afd('0x16'));var logger=require('../../config/logger')(_0x0afd('0x17'));var utils=require(_0x0afd('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x0afd('0x19'));var db=require(_0x0afd('0x1a'))['db'];function respondWithStatusCode(_0x1c6cc6,_0x1327ea){_0x1327ea=_0x1327ea||0xcc;return function(_0x3d5a7d){if(_0x3d5a7d){return _0x1c6cc6[_0x0afd('0x1b')](_0x1327ea);}return _0x1c6cc6['status'](_0x1327ea)[_0x0afd('0x1c')]();};}function respondWithResult(_0x3e497e,_0x2c1447){_0x2c1447=_0x2c1447||0xc8;return function(_0xed2036){if(_0xed2036){return _0x3e497e['status'](_0x2c1447)['json'](_0xed2036);}};}function respondWithFilteredResult(_0x4e685b,_0x4c6d9c){return function(_0x5f078f){if(_0x5f078f){var _0x2054bf=_0x5f078f[_0x0afd('0x1d')],_0x4f8362=_0x4c6d9c[_0x0afd('0x1e')],_0x567d54=_0x4c6d9c[_0x0afd('0x1e')]+_0x4c6d9c[_0x0afd('0x1f')],_0x29c936;if(_0x567d54>=_0x2054bf){_0x567d54=_0x2054bf;_0x29c936=0xc8;}else{_0x29c936=0xce;}_0x4e685b[_0x0afd('0x20')](_0x29c936);return _0x4e685b[_0x0afd('0x21')](_0x0afd('0x22'),_0x4f8362+'-'+_0x567d54+'/'+_0x2054bf)[_0x0afd('0x23')](_0x5f078f);}return null;};}function patchUpdates(_0x432f92){return function(_0x589b34){try{jsonpatch['apply'](_0x589b34,_0x432f92,!![]);}catch(_0x2969dd){return BPromise[_0x0afd('0x24')](_0x2969dd);}return _0x589b34[_0x0afd('0x25')]();};}function saveUpdates(_0x169066,_0x5bbd65){return function(_0x2d94fd){if(_0x2d94fd){return _0x2d94fd[_0x0afd('0x26')](_0x169066)[_0x0afd('0x27')](function(_0x414f4f){return _0x414f4f;});}return null;};}function removeEntity(_0x528092,_0x45d221){return function(_0x1f410c){if(_0x1f410c){return _0x1f410c[_0x0afd('0x28')]()[_0x0afd('0x27')](function(){_0x528092[_0x0afd('0x20')](0xcc)[_0x0afd('0x1c')]();});}};}function handleEntityNotFound(_0x3139e3,_0x4a8b6d){return function(_0x5ed013){if(!_0x5ed013){_0x3139e3[_0x0afd('0x1b')](0x194);}return _0x5ed013;};}function handleError(_0x46d040,_0x38a8d2){_0x38a8d2=_0x38a8d2||0x1f4;return function(_0x24884d){logger['error'](_0x24884d[_0x0afd('0x29')]);if(_0x24884d[_0x0afd('0x2a')]){delete _0x24884d['name'];}_0x46d040[_0x0afd('0x20')](_0x38a8d2)[_0x0afd('0x2b')](_0x24884d);};}exports['index']=function(_0xb283c2,_0x4f2ef9){var _0xe94b6b={},_0x563b7a={},_0x595444={'count':0x0,'rows':[]};var _0x8f888c=_['map'](db[_0x0afd('0x2c')][_0x0afd('0x2d')],function(_0x5386fa){return{'name':_0x5386fa[_0x0afd('0x2e')],'type':_0x5386fa[_0x0afd('0x2f')][_0x0afd('0x30')]};});_0x563b7a[_0x0afd('0x31')]=_[_0x0afd('0x32')](_0x8f888c,_0x0afd('0x2a'));_0x563b7a['query']=_[_0x0afd('0x33')](_0xb283c2['query']);_0x563b7a[_0x0afd('0x34')]=_[_0x0afd('0x35')](_0x563b7a['model'],_0x563b7a['query']);_0xe94b6b[_0x0afd('0x36')]=_[_0x0afd('0x35')](_0x563b7a[_0x0afd('0x31')],qs['fields'](_0xb283c2['query'][_0x0afd('0x37')]));_0xe94b6b[_0x0afd('0x36')]=_0xe94b6b[_0x0afd('0x36')]['length']?_0xe94b6b[_0x0afd('0x36')]:_0x563b7a[_0x0afd('0x31')];if(!_0xb283c2[_0x0afd('0x38')][_0x0afd('0x39')](_0x0afd('0x3a'))){_0xe94b6b[_0x0afd('0x1f')]=qs['limit'](_0xb283c2[_0x0afd('0x38')]['limit']);_0xe94b6b[_0x0afd('0x1e')]=qs[_0x0afd('0x1e')](_0xb283c2[_0x0afd('0x38')][_0x0afd('0x1e')]);}_0xe94b6b['order']=qs[_0x0afd('0x3b')](_0xb283c2[_0x0afd('0x38')][_0x0afd('0x3b')]);_0xe94b6b[_0x0afd('0x3c')]=qs[_0x0afd('0x34')](_[_0x0afd('0x3d')](_0xb283c2[_0x0afd('0x38')],_0x563b7a[_0x0afd('0x34')]),_0x8f888c);if(_0xb283c2[_0x0afd('0x38')][_0x0afd('0x3e')]){_0xe94b6b[_0x0afd('0x3c')]=_['merge'](_0xe94b6b[_0x0afd('0x3c')],{'$or':_[_0x0afd('0x32')](_0x8f888c,function(_0x188c30){if(_0x188c30[_0x0afd('0x2f')]!==_0x0afd('0x3f')){var _0x2839d8={};_0x2839d8[_0x188c30[_0x0afd('0x2a')]]={'$like':'%'+_0xb283c2[_0x0afd('0x38')][_0x0afd('0x3e')]+'%'};return _0x2839d8;}})});}_0xe94b6b=_[_0x0afd('0x40')]({},_0xe94b6b,_0xb283c2[_0x0afd('0x41')]);var _0x207718={'where':_0xe94b6b[_0x0afd('0x3c')]};return db[_0x0afd('0x2c')][_0x0afd('0x1d')](_0x207718)[_0x0afd('0x27')](function(_0x813e4e){_0x595444[_0x0afd('0x1d')]=_0x813e4e;if(_0xb283c2[_0x0afd('0x38')]['includeAll']){_0xe94b6b[_0x0afd('0x42')]=[{'all':!![]}];}return db[_0x0afd('0x2c')][_0x0afd('0x43')](_0xe94b6b);})[_0x0afd('0x27')](function(_0x33426c){_0x595444[_0x0afd('0x44')]=_0x33426c;return _0x595444;})['then'](respondWithFilteredResult(_0x4f2ef9,_0xe94b6b))[_0x0afd('0x45')](handleError(_0x4f2ef9,null));};exports[_0x0afd('0x46')]=function(_0x2a8377,_0x2cbbae){var _0x214fec={'raw':![],'where':{'id':_0x2a8377[_0x0afd('0x47')]['id']}},_0x3b1f37={};_0x3b1f37[_0x0afd('0x31')]=_['keys'](db[_0x0afd('0x2c')][_0x0afd('0x2d')]);_0x3b1f37[_0x0afd('0x38')]=_[_0x0afd('0x33')](_0x2a8377[_0x0afd('0x38')]);_0x3b1f37[_0x0afd('0x34')]=_[_0x0afd('0x35')](_0x3b1f37[_0x0afd('0x31')],_0x3b1f37[_0x0afd('0x38')]);_0x214fec[_0x0afd('0x36')]=_[_0x0afd('0x35')](_0x3b1f37[_0x0afd('0x31')],qs[_0x0afd('0x37')](_0x2a8377['query'][_0x0afd('0x37')]));_0x214fec['attributes']=_0x214fec[_0x0afd('0x36')]['length']?_0x214fec[_0x0afd('0x36')]:_0x3b1f37[_0x0afd('0x31')];if(_0x2a8377[_0x0afd('0x38')]['includeAll']){_0x214fec[_0x0afd('0x42')]=[{'all':!![]}];}_0x214fec=_[_0x0afd('0x40')]({},_0x214fec,_0x2a8377[_0x0afd('0x41')]);return db[_0x0afd('0x2c')][_0x0afd('0x48')](_0x214fec)[_0x0afd('0x27')](handleEntityNotFound(_0x2cbbae,null))[_0x0afd('0x27')](respondWithResult(_0x2cbbae,null))[_0x0afd('0x45')](handleError(_0x2cbbae,null));};exports[_0x0afd('0x49')]=function(_0x3ca091,_0x4c0f81){return db[_0x0afd('0x2c')][_0x0afd('0x49')](_0x3ca091[_0x0afd('0x4a')],{})['then'](respondWithResult(_0x4c0f81,0xc9))[_0x0afd('0x45')](handleError(_0x4c0f81,null));};exports['update']=function(_0x40809e,_0x51f04d){if(_0x40809e[_0x0afd('0x4a')]['id']){delete _0x40809e[_0x0afd('0x4a')]['id'];}return db[_0x0afd('0x2c')][_0x0afd('0x48')]({'where':{'id':_0x40809e[_0x0afd('0x47')]['id']}})[_0x0afd('0x27')](handleEntityNotFound(_0x51f04d,null))[_0x0afd('0x27')](saveUpdates(_0x40809e['body'],null))[_0x0afd('0x27')](respondWithResult(_0x51f04d,null))[_0x0afd('0x45')](handleError(_0x51f04d,null));};exports[_0x0afd('0x28')]=function(_0x30e451,_0x577198){return db[_0x0afd('0x2c')][_0x0afd('0x48')]({'where':{'id':_0x30e451['params']['id']}})[_0x0afd('0x27')](handleEntityNotFound(_0x577198,null))[_0x0afd('0x27')](removeEntity(_0x577198,null))[_0x0afd('0x45')](handleError(_0x577198,null));};