0cef22c02563cd20c034fc3b8827307793f0390e
[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 _0x49ac=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','json','offset','limit','count','set','Content-Range','reject','update','destroy','error','stack','name','params','model','ChatApplication','rawAttributes','keys','query','attributes','intersection','fields','length','include','find','then','catch','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','papaparse'];(function(_0x448ce,_0x4b69bd){var _0x461ab2=function(_0x55bea9){while(--_0x55bea9){_0x448ce['push'](_0x448ce['shift']());}};_0x461ab2(++_0x4b69bd);}(_0x49ac,0x19e));var _0xc49a=function(_0x2afb44,_0x249a57){_0x2afb44=_0x2afb44-0x0;var _0x15ccc2=_0x49ac[_0x2afb44];return _0x15ccc2;};'use strict';var emlformat=require(_0xc49a('0x0'));var rimraf=require(_0xc49a('0x1'));var zipdir=require(_0xc49a('0x2'));var jsonpatch=require(_0xc49a('0x3'));var rp=require(_0xc49a('0x4'));var moment=require(_0xc49a('0x5'));var BPromise=require(_0xc49a('0x6'));var Mustache=require(_0xc49a('0x7'));var util=require(_0xc49a('0x8'));var path=require(_0xc49a('0x9'));var sox=require(_0xc49a('0xa'));var csv=require('to-csv');var ejs=require(_0xc49a('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc49a('0xc'));var squel=require(_0xc49a('0xd'));var crypto=require(_0xc49a('0xe'));var jsforce=require(_0xc49a('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xc49a('0x10'));var querystring=require('querystring');var Papa=require(_0xc49a('0x11'));var Redis=require('ioredis');var authService=require(_0xc49a('0x12'));var qs=require(_0xc49a('0x13'));var as=require(_0xc49a('0x14'));var hardwareService=require(_0xc49a('0x15'));var logger=require(_0xc49a('0x16'))('api');var utils=require('../../config/utils');var config=require(_0xc49a('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xc49a('0x18'))['db'];function respondWithStatusCode(_0x3fe60b,_0x5a656c){_0x5a656c=_0x5a656c||0xcc;return function(_0x18b30e){if(_0x18b30e){return _0x3fe60b[_0xc49a('0x19')](_0x5a656c);}return _0x3fe60b[_0xc49a('0x1a')](_0x5a656c)['end']();};}function respondWithResult(_0x5dff88,_0x5872fc){_0x5872fc=_0x5872fc||0xc8;return function(_0x2e3519){if(_0x2e3519){return _0x5dff88[_0xc49a('0x1a')](_0x5872fc)[_0xc49a('0x1b')](_0x2e3519);}};}function respondWithFilteredResult(_0x14dd30,_0x45d5d1){return function(_0x33e530){if(_0x33e530){var _0xbb89d0=typeof _0x45d5d1[_0xc49a('0x1c')]==='undefined'&&typeof _0x45d5d1[_0xc49a('0x1d')]==='undefined';var _0x4e4228=_0x33e530[_0xc49a('0x1e')];var _0x34a424=_0xbb89d0?0x0:_0x45d5d1[_0xc49a('0x1c')];var _0x189400=_0xbb89d0?_0x33e530[_0xc49a('0x1e')]:_0x45d5d1[_0xc49a('0x1c')]+_0x45d5d1[_0xc49a('0x1d')];var _0x329811;if(_0x189400>=_0x4e4228){_0x189400=_0x4e4228;_0x329811=0xc8;}else{_0x329811=0xce;}_0x14dd30['status'](_0x329811);return _0x14dd30[_0xc49a('0x1f')](_0xc49a('0x20'),_0x34a424+'-'+_0x189400+'/'+_0x4e4228)[_0xc49a('0x1b')](_0x33e530);}return null;};}function patchUpdates(_0x302d31){return function(_0xc1d93c){try{jsonpatch['apply'](_0xc1d93c,_0x302d31,!![]);}catch(_0xefd77c){return BPromise[_0xc49a('0x21')](_0xefd77c);}return _0xc1d93c['save']();};}function saveUpdates(_0x3ffbcd,_0x230b19){return function(_0x8e95d){if(_0x8e95d){return _0x8e95d[_0xc49a('0x22')](_0x3ffbcd)['then'](function(_0x2e1c1e){return _0x2e1c1e;});}return null;};}function removeEntity(_0xf0dd34,_0x1d08c6){return function(_0x2e7061){if(_0x2e7061){return _0x2e7061[_0xc49a('0x23')]()['then'](function(){_0xf0dd34[_0xc49a('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x502591,_0x4096c5){return function(_0x41e0dc){if(!_0x41e0dc){_0x502591[_0xc49a('0x19')](0x194);}return _0x41e0dc;};}function handleError(_0x2fcafb,_0x10ca48){_0x10ca48=_0x10ca48||0x1f4;return function(_0x4130b5){logger[_0xc49a('0x24')](_0x4130b5[_0xc49a('0x25')]);if(_0x4130b5['name']){delete _0x4130b5[_0xc49a('0x26')];}_0x2fcafb[_0xc49a('0x1a')](_0x10ca48)['send'](_0x4130b5);};}exports['show']=function(_0x50a40c,_0x3f68ba){var _0x189249={'raw':!![],'where':{'id':_0x50a40c[_0xc49a('0x27')]['id']}},_0x5e079c={};_0x5e079c[_0xc49a('0x28')]=_['keys'](db[_0xc49a('0x29')][_0xc49a('0x2a')]);_0x5e079c['query']=_[_0xc49a('0x2b')](_0x50a40c[_0xc49a('0x2c')]);_0x5e079c['filters']=_['intersection'](_0x5e079c['model'],_0x5e079c[_0xc49a('0x2c')]);_0x189249[_0xc49a('0x2d')]=_[_0xc49a('0x2e')](_0x5e079c[_0xc49a('0x28')],qs['fields'](_0x50a40c['query'][_0xc49a('0x2f')]));_0x189249[_0xc49a('0x2d')]=_0x189249[_0xc49a('0x2d')][_0xc49a('0x30')]?_0x189249[_0xc49a('0x2d')]:_0x5e079c['model'];if(_0x50a40c[_0xc49a('0x2c')]['includeAll']){_0x189249[_0xc49a('0x31')]=[{'all':!![]}];}_0x189249=_['merge']({},_0x189249,_0x50a40c['options']);return db[_0xc49a('0x29')][_0xc49a('0x32')](_0x189249)[_0xc49a('0x33')](handleEntityNotFound(_0x3f68ba,null))['then'](respondWithResult(_0x3f68ba,null))[_0xc49a('0x34')](handleError(_0x3f68ba,null));};exports['update']=function(_0x568eb6,_0x409f7e){if(_0x568eb6['body']['id']){delete _0x568eb6[_0xc49a('0x35')]['id'];}return db['ChatApplication'][_0xc49a('0x32')]({'where':{'id':_0x568eb6['params']['id']}})[_0xc49a('0x33')](handleEntityNotFound(_0x409f7e,null))[_0xc49a('0x33')](saveUpdates(_0x568eb6[_0xc49a('0x35')],null))[_0xc49a('0x33')](respondWithResult(_0x409f7e,null))[_0xc49a('0x34')](handleError(_0x409f7e,null));};exports[_0xc49a('0x23')]=function(_0x2ca27e,_0x1e7a64){return db[_0xc49a('0x29')][_0xc49a('0x32')]({'where':{'id':_0x2ca27e[_0xc49a('0x27')]['id']}})['then'](handleEntityNotFound(_0x1e7a64,null))[_0xc49a('0x33')](removeEntity(_0x1e7a64,null))[_0xc49a('0x34')](handleError(_0x1e7a64,null));};