5411a632cc4449ee5c6d47eb36c7700d7bc2d6f9
[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 _0xd547=['to-csv','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','reject','save','update','then','error','send','show','params','model','keys','ChatApplication','rawAttributes','query','intersection','attributes','fields','length','includeAll','merge','options','catch','body','find','destroy','zip-dir','fast-json-patch','request-promise','moment','util','sox','ejs','fs-extra','lodash','desk.js'];(function(_0x8bfe1b,_0x31764f){var _0x39f25a=function(_0x39969c){while(--_0x39969c){_0x8bfe1b['push'](_0x8bfe1b['shift']());}};_0x39f25a(++_0x31764f);}(_0xd547,0x1c1));var _0x7d54=function(_0x260d3f,_0x5c0c51){_0x260d3f=_0x260d3f-0x0;var _0x1bbb43=_0xd547[_0x260d3f];return _0x1bbb43;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x7d54('0x0'));var jsonpatch=require(_0x7d54('0x1'));var rp=require(_0x7d54('0x2'));var moment=require(_0x7d54('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7d54('0x4'));var path=require('path');var sox=require(_0x7d54('0x5'));var csv=require('to-csv');var ejs=require(_0x7d54('0x6'));var fs=require('fs');var fs_extra=require(_0x7d54('0x7'));var _=require(_0x7d54('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x7d54('0x9'));var toCsv=require(_0x7d54('0xa'));var querystring=require('querystring');var Papa=require(_0x7d54('0xb'));var Redis=require('ioredis');var authService=require(_0x7d54('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x7d54('0xd'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7d54('0xe'))(_0x7d54('0xf'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7d54('0x10'))['db'];function respondWithStatusCode(_0x3e8072,_0x428430){_0x428430=_0x428430||0xcc;return function(_0x4be6c5){if(_0x4be6c5){return _0x3e8072[_0x7d54('0x11')](_0x428430);}return _0x3e8072['status'](_0x428430)[_0x7d54('0x12')]();};}function respondWithResult(_0x5e46ee,_0x11c94a){_0x11c94a=_0x11c94a||0xc8;return function(_0x43718a){if(_0x43718a){return _0x5e46ee['status'](_0x11c94a)[_0x7d54('0x13')](_0x43718a);}};}function respondWithFilteredResult(_0x208b3c,_0x25b69c){return function(_0x5a6bec){if(_0x5a6bec){var _0x2b1b0f=typeof _0x25b69c[_0x7d54('0x14')]===_0x7d54('0x15')&&typeof _0x25b69c[_0x7d54('0x16')]===_0x7d54('0x15');var _0x22f27c=_0x5a6bec['count'];var _0x81971b=_0x2b1b0f?0x0:_0x25b69c[_0x7d54('0x14')];var _0x57e789=_0x2b1b0f?_0x5a6bec[_0x7d54('0x17')]:_0x25b69c['offset']+_0x25b69c['limit'];var _0x46a719;if(_0x57e789>=_0x22f27c){_0x57e789=_0x22f27c;_0x46a719=0xc8;}else{_0x46a719=0xce;}_0x208b3c[_0x7d54('0x18')](_0x46a719);return _0x208b3c[_0x7d54('0x19')](_0x7d54('0x1a'),_0x81971b+'-'+_0x57e789+'/'+_0x22f27c)['json'](_0x5a6bec);}return null;};}function patchUpdates(_0x23ea55){return function(_0x2b0770){try{jsonpatch['apply'](_0x2b0770,_0x23ea55,!![]);}catch(_0x22718f){return BPromise[_0x7d54('0x1b')](_0x22718f);}return _0x2b0770[_0x7d54('0x1c')]();};}function saveUpdates(_0x6cc88b,_0x715a4e){return function(_0x4fe2cb){if(_0x4fe2cb){return _0x4fe2cb[_0x7d54('0x1d')](_0x6cc88b)['then'](function(_0x589f93){return _0x589f93;});}return null;};}function removeEntity(_0x5e0c4b,_0x2967b0){return function(_0x299f6e){if(_0x299f6e){return _0x299f6e['destroy']()[_0x7d54('0x1e')](function(){_0x5e0c4b[_0x7d54('0x18')](0xcc)[_0x7d54('0x12')]();});}};}function handleEntityNotFound(_0x19520a,_0x3b611f){return function(_0x6d0375){if(!_0x6d0375){_0x19520a[_0x7d54('0x11')](0x194);}return _0x6d0375;};}function handleError(_0x372f14,_0x509b8f){_0x509b8f=_0x509b8f||0x1f4;return function(_0x2818b6){logger[_0x7d54('0x1f')](_0x2818b6['stack']);if(_0x2818b6['name']){delete _0x2818b6['name'];}_0x372f14['status'](_0x509b8f)[_0x7d54('0x20')](_0x2818b6);};}exports[_0x7d54('0x21')]=function(_0x57e2ce,_0x32df83){var _0x252017={'raw':!![],'where':{'id':_0x57e2ce[_0x7d54('0x22')]['id']}},_0x4a8488={};_0x4a8488[_0x7d54('0x23')]=_[_0x7d54('0x24')](db[_0x7d54('0x25')][_0x7d54('0x26')]);_0x4a8488[_0x7d54('0x27')]=_[_0x7d54('0x24')](_0x57e2ce[_0x7d54('0x27')]);_0x4a8488['filters']=_[_0x7d54('0x28')](_0x4a8488['model'],_0x4a8488['query']);_0x252017[_0x7d54('0x29')]=_[_0x7d54('0x28')](_0x4a8488['model'],qs[_0x7d54('0x2a')](_0x57e2ce[_0x7d54('0x27')][_0x7d54('0x2a')]));_0x252017[_0x7d54('0x29')]=_0x252017[_0x7d54('0x29')][_0x7d54('0x2b')]?_0x252017[_0x7d54('0x29')]:_0x4a8488['model'];if(_0x57e2ce[_0x7d54('0x27')][_0x7d54('0x2c')]){_0x252017['include']=[{'all':!![]}];}_0x252017=_[_0x7d54('0x2d')]({},_0x252017,_0x57e2ce[_0x7d54('0x2e')]);return db[_0x7d54('0x25')]['find'](_0x252017)[_0x7d54('0x1e')](handleEntityNotFound(_0x32df83,null))[_0x7d54('0x1e')](respondWithResult(_0x32df83,null))[_0x7d54('0x2f')](handleError(_0x32df83,null));};exports[_0x7d54('0x1d')]=function(_0x2ee0aa,_0x5adaf7){if(_0x2ee0aa[_0x7d54('0x30')]['id']){delete _0x2ee0aa[_0x7d54('0x30')]['id'];}return db['ChatApplication'][_0x7d54('0x31')]({'where':{'id':_0x2ee0aa[_0x7d54('0x22')]['id']}})[_0x7d54('0x1e')](handleEntityNotFound(_0x5adaf7,null))[_0x7d54('0x1e')](saveUpdates(_0x2ee0aa[_0x7d54('0x30')],null))[_0x7d54('0x1e')](respondWithResult(_0x5adaf7,null))[_0x7d54('0x2f')](handleError(_0x5adaf7,null));};exports[_0x7d54('0x32')]=function(_0x125974,_0x32b5fa){return db[_0x7d54('0x25')][_0x7d54('0x31')]({'where':{'id':_0x125974['params']['id']}})['then'](handleEntityNotFound(_0x32b5fa,null))[_0x7d54('0x1e')](removeEntity(_0x32b5fa,null))[_0x7d54('0x2f')](handleError(_0x32b5fa,null));};