3d2f7823bf0bd044424edbd24b46770aaf62f0bb
[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 _0x0b2b=['error','stack','name','send','params','rawAttributes','query','intersection','model','attributes','fields','length','merge','catch','body','ChatApplication','find','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','count','offset','limit','set','Content-Range','reject','then'];(function(_0xbf8ebe,_0x3b69a5){var _0x1e25e8=function(_0x40c390){while(--_0x40c390){_0xbf8ebe['push'](_0xbf8ebe['shift']());}};_0x1e25e8(++_0x3b69a5);}(_0x0b2b,0xe2));var _0xb0b2=function(_0x3d4106,_0x52e85b){_0x3d4106=_0x3d4106-0x0;var _0x2aa0cc=_0x0b2b[_0x3d4106];return _0x2aa0cc;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xb0b2('0x0'));var rimraf=require(_0xb0b2('0x1'));var zipdir=require(_0xb0b2('0x2'));var jsonpatch=require(_0xb0b2('0x3'));var rp=require(_0xb0b2('0x4'));var moment=require('moment');var BPromise=require(_0xb0b2('0x5'));var Mustache=require(_0xb0b2('0x6'));var util=require(_0xb0b2('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xb0b2('0x8'));var ejs=require(_0xb0b2('0x9'));var fs=require('fs');var _=require(_0xb0b2('0xa'));var squel=require(_0xb0b2('0xb'));var crypto=require(_0xb0b2('0xc'));var jsforce=require(_0xb0b2('0xd'));var deskjs=require(_0xb0b2('0xe'));var toCsv=require(_0xb0b2('0x8'));var querystring=require(_0xb0b2('0xf'));var Papa=require(_0xb0b2('0x10'));var Redis=require('ioredis');var authService=require(_0xb0b2('0x11'));var qs=require(_0xb0b2('0x12'));var as=require(_0xb0b2('0x13'));var hardwareService=require(_0xb0b2('0x14'));var logger=require(_0xb0b2('0x15'))('api');var utils=require(_0xb0b2('0x16'));var config=require(_0xb0b2('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43fc1b,_0x5e1366){_0x5e1366=_0x5e1366||0xcc;return function(_0x58d7a7){if(_0x58d7a7){return _0x43fc1b[_0xb0b2('0x18')](_0x5e1366);}return _0x43fc1b[_0xb0b2('0x19')](_0x5e1366)[_0xb0b2('0x1a')]();};}function respondWithResult(_0x55f141,_0x12377c){_0x12377c=_0x12377c||0xc8;return function(_0x49bcab){if(_0x49bcab){return _0x55f141[_0xb0b2('0x19')](_0x12377c)['json'](_0x49bcab);}};}function respondWithFilteredResult(_0x3f0632,_0x2d2f8b){return function(_0x254d25){if(_0x254d25){var _0x3b8346=_0x254d25[_0xb0b2('0x1b')],_0x599ebe=_0x2d2f8b[_0xb0b2('0x1c')],_0x4c8bc9=_0x2d2f8b[_0xb0b2('0x1c')]+_0x2d2f8b[_0xb0b2('0x1d')],_0x49b7f8;if(_0x4c8bc9>=_0x3b8346){_0x4c8bc9=_0x3b8346;_0x49b7f8=0xc8;}else{_0x49b7f8=0xce;}_0x3f0632[_0xb0b2('0x19')](_0x49b7f8);return _0x3f0632[_0xb0b2('0x1e')](_0xb0b2('0x1f'),_0x599ebe+'-'+_0x4c8bc9+'/'+_0x3b8346)['json'](_0x254d25);}return null;};}function patchUpdates(_0x49c614){return function(_0x697467){try{jsonpatch['apply'](_0x697467,_0x49c614,!![]);}catch(_0x229459){return BPromise[_0xb0b2('0x20')](_0x229459);}return _0x697467['save']();};}function saveUpdates(_0x496504,_0x4bd306){return function(_0x5334da){if(_0x5334da){return _0x5334da['update'](_0x496504)['then'](function(_0x4199f0){return _0x4199f0;});}return null;};}function removeEntity(_0x3c9182,_0x35265a){return function(_0x676bd5){if(_0x676bd5){return _0x676bd5['destroy']()[_0xb0b2('0x21')](function(){_0x3c9182[_0xb0b2('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a24d8,_0x37713d){return function(_0x110217){if(!_0x110217){_0x5a24d8[_0xb0b2('0x18')](0x194);}return _0x110217;};}function handleError(_0xeb3c71,_0x1537ba){_0x1537ba=_0x1537ba||0x1f4;return function(_0x420eff){logger[_0xb0b2('0x22')](_0x420eff[_0xb0b2('0x23')]);if(_0x420eff[_0xb0b2('0x24')]){delete _0x420eff[_0xb0b2('0x24')];}_0xeb3c71['status'](_0x1537ba)[_0xb0b2('0x25')](_0x420eff);};}exports['show']=function(_0x572585,_0x11a7de){var _0x2ccaa2={'raw':!![],'where':{'id':_0x572585[_0xb0b2('0x26')]['id']}},_0x3a258b={};_0x3a258b['model']=_['keys'](db['ChatApplication'][_0xb0b2('0x27')]);_0x3a258b[_0xb0b2('0x28')]=_['keys'](_0x572585['query']);_0x3a258b['filters']=_[_0xb0b2('0x29')](_0x3a258b[_0xb0b2('0x2a')],_0x3a258b[_0xb0b2('0x28')]);_0x2ccaa2[_0xb0b2('0x2b')]=_['intersection'](_0x3a258b[_0xb0b2('0x2a')],qs[_0xb0b2('0x2c')](_0x572585['query'][_0xb0b2('0x2c')]));_0x2ccaa2[_0xb0b2('0x2b')]=_0x2ccaa2[_0xb0b2('0x2b')][_0xb0b2('0x2d')]?_0x2ccaa2[_0xb0b2('0x2b')]:_0x3a258b[_0xb0b2('0x2a')];if(_0x572585[_0xb0b2('0x28')]['includeAll']){_0x2ccaa2['include']=[{'all':!![]}];}_0x2ccaa2=_[_0xb0b2('0x2e')]({},_0x2ccaa2,_0x572585['options']);return db['ChatApplication']['find'](_0x2ccaa2)['then'](handleEntityNotFound(_0x11a7de,null))['then'](respondWithResult(_0x11a7de,null))[_0xb0b2('0x2f')](handleError(_0x11a7de,null));};exports['update']=function(_0x1cfceb,_0x16d441){if(_0x1cfceb[_0xb0b2('0x30')]['id']){delete _0x1cfceb['body']['id'];}return db[_0xb0b2('0x31')][_0xb0b2('0x32')]({'where':{'id':_0x1cfceb[_0xb0b2('0x26')]['id']}})['then'](handleEntityNotFound(_0x16d441,null))[_0xb0b2('0x21')](saveUpdates(_0x1cfceb[_0xb0b2('0x30')],null))[_0xb0b2('0x21')](respondWithResult(_0x16d441,null))[_0xb0b2('0x2f')](handleError(_0x16d441,null));};exports[_0xb0b2('0x33')]=function(_0x1f6842,_0x3b04bd){return db[_0xb0b2('0x31')]['find']({'where':{'id':_0x1f6842[_0xb0b2('0x26')]['id']}})['then'](handleEntityNotFound(_0x3b04bd,null))[_0xb0b2('0x21')](removeEntity(_0x3b04bd,null))['catch'](handleError(_0x3b04bd,null));};