15a0e4c2b7861932a2dafe7f487716503fc2df6f
[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 _0x1491=['then','error','stack','name','show','params','model','keys','query','filters','attributes','intersection','fields','includeAll','include','merge','ChatApplication','catch','body','find','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/utils','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','destroy'];(function(_0x13187a,_0x2fcec4){var _0x65b85f=function(_0x33bf1f){while(--_0x33bf1f){_0x13187a['push'](_0x13187a['shift']());}};_0x65b85f(++_0x2fcec4);}(_0x1491,0x1b1));var _0x1149=function(_0x48e3e0,_0x2aae0f){_0x48e3e0=_0x48e3e0-0x0;var _0x4f9734=_0x1491[_0x48e3e0];return _0x4f9734;};'use strict';var emlformat=require(_0x1149('0x0'));var rimraf=require(_0x1149('0x1'));var zipdir=require(_0x1149('0x2'));var jsonpatch=require(_0x1149('0x3'));var rp=require('request-promise');var moment=require(_0x1149('0x4'));var BPromise=require(_0x1149('0x5'));var Mustache=require(_0x1149('0x6'));var util=require(_0x1149('0x7'));var path=require(_0x1149('0x8'));var sox=require(_0x1149('0x9'));var csv=require(_0x1149('0xa'));var ejs=require(_0x1149('0xb'));var fs=require('fs');var fs_extra=require(_0x1149('0xc'));var _=require(_0x1149('0xd'));var squel=require(_0x1149('0xe'));var crypto=require(_0x1149('0xf'));var jsforce=require(_0x1149('0x10'));var deskjs=require(_0x1149('0x11'));var toCsv=require(_0x1149('0xa'));var querystring=require(_0x1149('0x12'));var Papa=require(_0x1149('0x13'));var Redis=require(_0x1149('0x14'));var authService=require(_0x1149('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x1149('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x1149('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x1149('0x18'))['db'];function respondWithStatusCode(_0x55ba22,_0x439553){_0x439553=_0x439553||0xcc;return function(_0x3531e6){if(_0x3531e6){return _0x55ba22[_0x1149('0x19')](_0x439553);}return _0x55ba22[_0x1149('0x1a')](_0x439553)[_0x1149('0x1b')]();};}function respondWithResult(_0x22a1b6,_0x5aa405){_0x5aa405=_0x5aa405||0xc8;return function(_0x4749f1){if(_0x4749f1){return _0x22a1b6['status'](_0x5aa405)['json'](_0x4749f1);}};}function respondWithFilteredResult(_0x669ae,_0xdac107){return function(_0x552de8){if(_0x552de8){var _0xdee3e5=typeof _0xdac107[_0x1149('0x1c')]===_0x1149('0x1d')&&typeof _0xdac107[_0x1149('0x1e')]===_0x1149('0x1d');var _0x27f49f=_0x552de8[_0x1149('0x1f')];var _0x373ca0=_0xdee3e5?0x0:_0xdac107[_0x1149('0x1c')];var _0x88c9b1=_0xdee3e5?_0x552de8[_0x1149('0x1f')]:_0xdac107[_0x1149('0x1c')]+_0xdac107[_0x1149('0x1e')];var _0x517c77;if(_0x88c9b1>=_0x27f49f){_0x88c9b1=_0x27f49f;_0x517c77=0xc8;}else{_0x517c77=0xce;}_0x669ae['status'](_0x517c77);return _0x669ae[_0x1149('0x20')](_0x1149('0x21'),_0x373ca0+'-'+_0x88c9b1+'/'+_0x27f49f)[_0x1149('0x22')](_0x552de8);}return null;};}function patchUpdates(_0x4781b8){return function(_0x27a2fb){try{jsonpatch['apply'](_0x27a2fb,_0x4781b8,!![]);}catch(_0x20b2bc){return BPromise[_0x1149('0x23')](_0x20b2bc);}return _0x27a2fb[_0x1149('0x24')]();};}function saveUpdates(_0x4d5649,_0x3a891c){return function(_0x2d6b4b){if(_0x2d6b4b){return _0x2d6b4b[_0x1149('0x25')](_0x4d5649)['then'](function(_0x695140){return _0x695140;});}return null;};}function removeEntity(_0x214f3e,_0x20a1b6){return function(_0x59eb5e){if(_0x59eb5e){return _0x59eb5e[_0x1149('0x26')]()[_0x1149('0x27')](function(){_0x214f3e[_0x1149('0x1a')](0xcc)[_0x1149('0x1b')]();});}};}function handleEntityNotFound(_0x1d6843,_0x397058){return function(_0x161b18){if(!_0x161b18){_0x1d6843[_0x1149('0x19')](0x194);}return _0x161b18;};}function handleError(_0x3b4600,_0x2b754d){_0x2b754d=_0x2b754d||0x1f4;return function(_0x51c0a4){logger[_0x1149('0x28')](_0x51c0a4[_0x1149('0x29')]);if(_0x51c0a4['name']){delete _0x51c0a4[_0x1149('0x2a')];}_0x3b4600[_0x1149('0x1a')](_0x2b754d)['send'](_0x51c0a4);};}exports[_0x1149('0x2b')]=function(_0x1b633a,_0x1c3668){var _0x48371b={'raw':!![],'where':{'id':_0x1b633a[_0x1149('0x2c')]['id']}},_0x3be344={};_0x3be344[_0x1149('0x2d')]=_[_0x1149('0x2e')](db['ChatApplication']['rawAttributes']);_0x3be344['query']=_[_0x1149('0x2e')](_0x1b633a[_0x1149('0x2f')]);_0x3be344[_0x1149('0x30')]=_['intersection'](_0x3be344[_0x1149('0x2d')],_0x3be344[_0x1149('0x2f')]);_0x48371b[_0x1149('0x31')]=_[_0x1149('0x32')](_0x3be344['model'],qs[_0x1149('0x33')](_0x1b633a[_0x1149('0x2f')]['fields']));_0x48371b['attributes']=_0x48371b[_0x1149('0x31')]['length']?_0x48371b['attributes']:_0x3be344['model'];if(_0x1b633a['query'][_0x1149('0x34')]){_0x48371b[_0x1149('0x35')]=[{'all':!![]}];}_0x48371b=_[_0x1149('0x36')]({},_0x48371b,_0x1b633a['options']);return db[_0x1149('0x37')]['find'](_0x48371b)['then'](handleEntityNotFound(_0x1c3668,null))[_0x1149('0x27')](respondWithResult(_0x1c3668,null))[_0x1149('0x38')](handleError(_0x1c3668,null));};exports[_0x1149('0x25')]=function(_0x341b5d,_0x3e1903){if(_0x341b5d['body']['id']){delete _0x341b5d[_0x1149('0x39')]['id'];}return db[_0x1149('0x37')][_0x1149('0x3a')]({'where':{'id':_0x341b5d[_0x1149('0x2c')]['id']}})[_0x1149('0x27')](handleEntityNotFound(_0x3e1903,null))['then'](saveUpdates(_0x341b5d[_0x1149('0x39')],null))[_0x1149('0x27')](respondWithResult(_0x3e1903,null))[_0x1149('0x38')](handleError(_0x3e1903,null));};exports[_0x1149('0x26')]=function(_0x46fd08,_0x299c8e){return db[_0x1149('0x37')][_0x1149('0x3a')]({'where':{'id':_0x46fd08['params']['id']}})[_0x1149('0x27')](handleEntityNotFound(_0x299c8e,null))[_0x1149('0x27')](removeEntity(_0x299c8e,null))['catch'](handleError(_0x299c8e,null));};