323a6464921df910c968c1e541a541826bb945ad
[motion2.git] / server / api / chatApplication / chatApplication.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 _0xb073=['status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','error','stack','send','show','params','model','keys','rawAttributes','query','filters','intersection','attributes','fields','length','includeAll','merge','options','ChatApplication','find','catch','body','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','sox','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb'];(function(_0x22c393,_0x1f2389){var _0x161580=function(_0x3bd765){while(--_0x3bd765){_0x22c393['push'](_0x22c393['shift']());}};_0x161580(++_0x1f2389);}(_0xb073,0xfe));var _0x3b07=function(_0x3fbe9d,_0x36f8fb){_0x3fbe9d=_0x3fbe9d-0x0;var _0x343c9b=_0xb073[_0x3fbe9d];return _0x343c9b;};'use strict';var pdf=require(_0x3b07('0x0'));var emlformat=require(_0x3b07('0x1'));var rimraf=require(_0x3b07('0x2'));var zipdir=require(_0x3b07('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x3b07('0x4'));var BPromise=require(_0x3b07('0x5'));var Mustache=require(_0x3b07('0x6'));var util=require('util');var path=require('path');var sox=require(_0x3b07('0x7'));var csv=require(_0x3b07('0x8'));var ejs=require(_0x3b07('0x9'));var fs=require('fs');var _=require(_0x3b07('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x3b07('0xb'));var deskjs=require(_0x3b07('0xc'));var toCsv=require(_0x3b07('0x8'));var querystring=require(_0x3b07('0xd'));var Papa=require(_0x3b07('0xe'));var Redis=require(_0x3b07('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3b07('0x10'));var logger=require(_0x3b07('0x11'))('api');var utils=require(_0x3b07('0x12'));var config=require(_0x3b07('0x13'));var db=require(_0x3b07('0x14'))['db'];function respondWithStatusCode(_0x318208,_0x53082e){_0x53082e=_0x53082e||0xcc;return function(_0xae5a98){if(_0xae5a98){return _0x318208['sendStatus'](_0x53082e);}return _0x318208[_0x3b07('0x15')](_0x53082e)[_0x3b07('0x16')]();};}function respondWithResult(_0x2a15c9,_0x24de90){_0x24de90=_0x24de90||0xc8;return function(_0x497f39){if(_0x497f39){return _0x2a15c9[_0x3b07('0x15')](_0x24de90)[_0x3b07('0x17')](_0x497f39);}};}function respondWithFilteredResult(_0x1939b2,_0x51744b){return function(_0xc22ef5){if(_0xc22ef5){var _0x5c6752=_0xc22ef5[_0x3b07('0x18')],_0x2a6df2=_0x51744b[_0x3b07('0x19')],_0xbb0b74=_0x51744b[_0x3b07('0x19')]+_0x51744b[_0x3b07('0x1a')],_0x30d415;if(_0xbb0b74>=_0x5c6752){_0xbb0b74=_0x5c6752;_0x30d415=0xc8;}else{_0x30d415=0xce;}_0x1939b2['status'](_0x30d415);return _0x1939b2[_0x3b07('0x1b')](_0x3b07('0x1c'),_0x2a6df2+'-'+_0xbb0b74+'/'+_0x5c6752)['json'](_0xc22ef5);}return null;};}function patchUpdates(_0x4a62da){return function(_0xcbe26a){try{jsonpatch[_0x3b07('0x1d')](_0xcbe26a,_0x4a62da,!![]);}catch(_0x452a78){return BPromise[_0x3b07('0x1e')](_0x452a78);}return _0xcbe26a['save']();};}function saveUpdates(_0x4a224a,_0x431a53){return function(_0x3a76f6){if(_0x3a76f6){return _0x3a76f6[_0x3b07('0x1f')](_0x4a224a)[_0x3b07('0x20')](function(_0x1fa2d2){return _0x1fa2d2;});}return null;};}function removeEntity(_0x3b3525,_0x247b11){return function(_0x38e78c){if(_0x38e78c){return _0x38e78c[_0x3b07('0x21')]()[_0x3b07('0x20')](function(){_0x3b3525[_0x3b07('0x15')](0xcc)[_0x3b07('0x16')]();});}};}function handleEntityNotFound(_0x507aa4,_0x5e4f5e){return function(_0x39b968){if(!_0x39b968){_0x507aa4['sendStatus'](0x194);}return _0x39b968;};}function handleError(_0x4d5c54,_0x46a69b){_0x46a69b=_0x46a69b||0x1f4;return function(_0x2a49fb){logger[_0x3b07('0x22')](_0x2a49fb[_0x3b07('0x23')]);if(_0x2a49fb['name']){delete _0x2a49fb['name'];}_0x4d5c54[_0x3b07('0x15')](_0x46a69b)[_0x3b07('0x24')](_0x2a49fb);};}exports[_0x3b07('0x25')]=function(_0x3195a1,_0x264a29){var _0x5a2362={'raw':!![],'where':{'id':_0x3195a1[_0x3b07('0x26')]['id']}},_0x12342a={};_0x12342a[_0x3b07('0x27')]=_[_0x3b07('0x28')](db['ChatApplication'][_0x3b07('0x29')]);_0x12342a['query']=_[_0x3b07('0x28')](_0x3195a1[_0x3b07('0x2a')]);_0x12342a[_0x3b07('0x2b')]=_[_0x3b07('0x2c')](_0x12342a[_0x3b07('0x27')],_0x12342a['query']);_0x5a2362[_0x3b07('0x2d')]=_['intersection'](_0x12342a['model'],qs[_0x3b07('0x2e')](_0x3195a1['query'][_0x3b07('0x2e')]));_0x5a2362[_0x3b07('0x2d')]=_0x5a2362[_0x3b07('0x2d')][_0x3b07('0x2f')]?_0x5a2362[_0x3b07('0x2d')]:_0x12342a['model'];if(_0x3195a1['query'][_0x3b07('0x30')]){_0x5a2362['include']=[{'all':!![]}];}_0x5a2362=_[_0x3b07('0x31')]({},_0x5a2362,_0x3195a1[_0x3b07('0x32')]);return db[_0x3b07('0x33')][_0x3b07('0x34')](_0x5a2362)[_0x3b07('0x20')](handleEntityNotFound(_0x264a29,null))['then'](respondWithResult(_0x264a29,null))[_0x3b07('0x35')](handleError(_0x264a29,null));};exports[_0x3b07('0x1f')]=function(_0x44278c,_0x155c00){if(_0x44278c[_0x3b07('0x36')]['id']){delete _0x44278c[_0x3b07('0x36')]['id'];}return db['ChatApplication']['find']({'where':{'id':_0x44278c['params']['id']}})[_0x3b07('0x20')](handleEntityNotFound(_0x155c00,null))[_0x3b07('0x20')](saveUpdates(_0x44278c[_0x3b07('0x36')],null))[_0x3b07('0x20')](respondWithResult(_0x155c00,null))[_0x3b07('0x35')](handleError(_0x155c00,null));};exports[_0x3b07('0x21')]=function(_0x5cb579,_0x2f1cda){return db[_0x3b07('0x33')][_0x3b07('0x34')]({'where':{'id':_0x5cb579[_0x3b07('0x26')]['id']}})['then'](handleEntityNotFound(_0x2f1cda,null))[_0x3b07('0x20')](removeEntity(_0x2f1cda,null))[_0x3b07('0x35')](handleError(_0x2f1cda,null));};