a19fc3fdc350f1b24072cefdba47a9d6b970bb98
[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 _0x21a3=['fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','end','status','json','offset','limit','undefined','set','Content-Range','apply','reject','save','then','destroy','sendStatus','name','show','params','model','keys','ChatApplication','rawAttributes','query','intersection','attributes','fields','length','includeAll','merge','find','body','catch','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs'];(function(_0x532903,_0x2f1742){var _0xa75503=function(_0x21777b){while(--_0x21777b){_0x532903['push'](_0x532903['shift']());}};_0xa75503(++_0x2f1742);}(_0x21a3,0x66));var _0x321a=function(_0xb4788,_0x1efb8d){_0xb4788=_0xb4788-0x0;var _0xd49d21=_0x21a3[_0xb4788];return _0xd49d21;};'use strict';var emlformat=require(_0x321a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x321a('0x1'));var jsonpatch=require(_0x321a('0x2'));var rp=require(_0x321a('0x3'));var moment=require(_0x321a('0x4'));var BPromise=require(_0x321a('0x5'));var Mustache=require(_0x321a('0x6'));var util=require('util');var path=require('path');var sox=require(_0x321a('0x7'));var csv=require(_0x321a('0x8'));var ejs=require(_0x321a('0x9'));var fs=require('fs');var fs_extra=require(_0x321a('0xa'));var _=require('lodash');var squel=require(_0x321a('0xb'));var crypto=require(_0x321a('0xc'));var jsforce=require(_0x321a('0xd'));var deskjs=require(_0x321a('0xe'));var toCsv=require(_0x321a('0x8'));var querystring=require(_0x321a('0xf'));var Papa=require(_0x321a('0x10'));var Redis=require(_0x321a('0x11'));var authService=require(_0x321a('0x12'));var qs=require(_0x321a('0x13'));var as=require(_0x321a('0x14'));var hardwareService=require(_0x321a('0x15'));var logger=require('../../config/logger')(_0x321a('0x16'));var utils=require(_0x321a('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x321a('0x18'))['db'];function respondWithStatusCode(_0x4f6fcc,_0x26cc62){_0x26cc62=_0x26cc62||0xcc;return function(_0x1390bb){if(_0x1390bb){return _0x4f6fcc['sendStatus'](_0x26cc62);}return _0x4f6fcc['status'](_0x26cc62)[_0x321a('0x19')]();};}function respondWithResult(_0x123b53,_0x13a73b){_0x13a73b=_0x13a73b||0xc8;return function(_0x3677f9){if(_0x3677f9){return _0x123b53[_0x321a('0x1a')](_0x13a73b)[_0x321a('0x1b')](_0x3677f9);}};}function respondWithFilteredResult(_0x14044b,_0xfe6906){return function(_0x5e0895){if(_0x5e0895){var _0x11d623=typeof _0xfe6906[_0x321a('0x1c')]==='undefined'&&typeof _0xfe6906[_0x321a('0x1d')]===_0x321a('0x1e');var _0x460de1=_0x5e0895['count'];var _0x5b1810=_0x11d623?0x0:_0xfe6906[_0x321a('0x1c')];var _0x35fd6f=_0x11d623?_0x5e0895['count']:_0xfe6906[_0x321a('0x1c')]+_0xfe6906[_0x321a('0x1d')];var _0x15eff4;if(_0x35fd6f>=_0x460de1){_0x35fd6f=_0x460de1;_0x15eff4=0xc8;}else{_0x15eff4=0xce;}_0x14044b['status'](_0x15eff4);return _0x14044b[_0x321a('0x1f')](_0x321a('0x20'),_0x5b1810+'-'+_0x35fd6f+'/'+_0x460de1)[_0x321a('0x1b')](_0x5e0895);}return null;};}function patchUpdates(_0x423cb8){return function(_0x2c3a70){try{jsonpatch[_0x321a('0x21')](_0x2c3a70,_0x423cb8,!![]);}catch(_0x16ad4b){return BPromise[_0x321a('0x22')](_0x16ad4b);}return _0x2c3a70[_0x321a('0x23')]();};}function saveUpdates(_0x2765e5,_0x1b94a1){return function(_0x225efb){if(_0x225efb){return _0x225efb['update'](_0x2765e5)[_0x321a('0x24')](function(_0x8a9206){return _0x8a9206;});}return null;};}function removeEntity(_0x1ad8b8,_0x5ae154){return function(_0x26da8e){if(_0x26da8e){return _0x26da8e[_0x321a('0x25')]()['then'](function(){_0x1ad8b8['status'](0xcc)[_0x321a('0x19')]();});}};}function handleEntityNotFound(_0x5a66c2,_0x9c11b6){return function(_0x348ea9){if(!_0x348ea9){_0x5a66c2[_0x321a('0x26')](0x194);}return _0x348ea9;};}function handleError(_0x24b3dd,_0x37ad07){_0x37ad07=_0x37ad07||0x1f4;return function(_0xdce138){logger['error'](_0xdce138['stack']);if(_0xdce138[_0x321a('0x27')]){delete _0xdce138[_0x321a('0x27')];}_0x24b3dd[_0x321a('0x1a')](_0x37ad07)['send'](_0xdce138);};}exports[_0x321a('0x28')]=function(_0x46eec2,_0x190d81){var _0x56210a={'raw':!![],'where':{'id':_0x46eec2[_0x321a('0x29')]['id']}},_0x8a09bb={};_0x8a09bb[_0x321a('0x2a')]=_[_0x321a('0x2b')](db[_0x321a('0x2c')][_0x321a('0x2d')]);_0x8a09bb[_0x321a('0x2e')]=_[_0x321a('0x2b')](_0x46eec2[_0x321a('0x2e')]);_0x8a09bb['filters']=_[_0x321a('0x2f')](_0x8a09bb[_0x321a('0x2a')],_0x8a09bb[_0x321a('0x2e')]);_0x56210a[_0x321a('0x30')]=_[_0x321a('0x2f')](_0x8a09bb[_0x321a('0x2a')],qs['fields'](_0x46eec2['query'][_0x321a('0x31')]));_0x56210a['attributes']=_0x56210a[_0x321a('0x30')][_0x321a('0x32')]?_0x56210a[_0x321a('0x30')]:_0x8a09bb['model'];if(_0x46eec2['query'][_0x321a('0x33')]){_0x56210a['include']=[{'all':!![]}];}_0x56210a=_[_0x321a('0x34')]({},_0x56210a,_0x46eec2['options']);return db['ChatApplication'][_0x321a('0x35')](_0x56210a)[_0x321a('0x24')](handleEntityNotFound(_0x190d81,null))[_0x321a('0x24')](respondWithResult(_0x190d81,null))['catch'](handleError(_0x190d81,null));};exports['update']=function(_0x51ed06,_0x1bc8dc){if(_0x51ed06[_0x321a('0x36')]['id']){delete _0x51ed06['body']['id'];}return db['ChatApplication'][_0x321a('0x35')]({'where':{'id':_0x51ed06[_0x321a('0x29')]['id']}})[_0x321a('0x24')](handleEntityNotFound(_0x1bc8dc,null))[_0x321a('0x24')](saveUpdates(_0x51ed06[_0x321a('0x36')],null))[_0x321a('0x24')](respondWithResult(_0x1bc8dc,null))['catch'](handleError(_0x1bc8dc,null));};exports[_0x321a('0x25')]=function(_0x2a9a33,_0x31a2fd){return db[_0x321a('0x2c')]['find']({'where':{'id':_0x2a9a33[_0x321a('0x29')]['id']}})['then'](handleEntityNotFound(_0x31a2fd,null))['then'](removeEntity(_0x31a2fd,null))[_0x321a('0x37')](handleError(_0x31a2fd,null));};