ac2be04c427f1a8a0682e4781c2d6b81219fd01f
[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 _0x252f=['status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','end','error','stack','name','send','show','params','model','query','keys','intersection','fields','attributes','length','merge','options','ChatApplication','find','catch','body','destroy','eml-format','rimraf','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus'];(function(_0x5249b7,_0x361a1d){var _0x552a2b=function(_0x26f199){while(--_0x26f199){_0x5249b7['push'](_0x5249b7['shift']());}};_0x552a2b(++_0x361a1d);}(_0x252f,0xd0));var _0xf252=function(_0x561e73,_0x13a224){_0x561e73=_0x561e73-0x0;var _0x2dc60d=_0x252f[_0x561e73];return _0x2dc60d;};'use strict';var emlformat=require(_0xf252('0x0'));var rimraf=require(_0xf252('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xf252('0x2'));var moment=require(_0xf252('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf252('0x4'));var path=require(_0xf252('0x5'));var sox=require(_0xf252('0x6'));var csv=require(_0xf252('0x7'));var ejs=require(_0xf252('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf252('0x9'));var squel=require(_0xf252('0xa'));var crypto=require(_0xf252('0xb'));var jsforce=require(_0xf252('0xc'));var deskjs=require(_0xf252('0xd'));var toCsv=require('to-csv');var querystring=require(_0xf252('0xe'));var Papa=require(_0xf252('0xf'));var Redis=require('ioredis');var authService=require(_0xf252('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xf252('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf252('0x12'))(_0xf252('0x13'));var utils=require(_0xf252('0x14'));var config=require(_0xf252('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xf252('0x16'))['db'];function respondWithStatusCode(_0xf54ee9,_0x2fc7d3){_0x2fc7d3=_0x2fc7d3||0xcc;return function(_0x10d4e1){if(_0x10d4e1){return _0xf54ee9[_0xf252('0x17')](_0x2fc7d3);}return _0xf54ee9[_0xf252('0x18')](_0x2fc7d3)['end']();};}function respondWithResult(_0x36da86,_0x18fa76){_0x18fa76=_0x18fa76||0xc8;return function(_0xbdb67a){if(_0xbdb67a){return _0x36da86['status'](_0x18fa76)[_0xf252('0x19')](_0xbdb67a);}};}function respondWithFilteredResult(_0xf7285f,_0x33c420){return function(_0x25affc){if(_0x25affc){var _0x486254=typeof _0x33c420[_0xf252('0x1a')]==='undefined'&&typeof _0x33c420[_0xf252('0x1b')]===_0xf252('0x1c');var _0x331bd6=_0x25affc['count'];var _0x4f6bd5=_0x486254?0x0:_0x33c420[_0xf252('0x1a')];var _0x34ce46=_0x486254?_0x25affc[_0xf252('0x1d')]:_0x33c420['offset']+_0x33c420[_0xf252('0x1b')];var _0x4f063c;if(_0x34ce46>=_0x331bd6){_0x34ce46=_0x331bd6;_0x4f063c=0xc8;}else{_0x4f063c=0xce;}_0xf7285f['status'](_0x4f063c);return _0xf7285f[_0xf252('0x1e')](_0xf252('0x1f'),_0x4f6bd5+'-'+_0x34ce46+'/'+_0x331bd6)[_0xf252('0x19')](_0x25affc);}return null;};}function patchUpdates(_0x2ab64c){return function(_0x4c86fb){try{jsonpatch[_0xf252('0x20')](_0x4c86fb,_0x2ab64c,!![]);}catch(_0x43a9f0){return BPromise[_0xf252('0x21')](_0x43a9f0);}return _0x4c86fb[_0xf252('0x22')]();};}function saveUpdates(_0x574614,_0x579022){return function(_0x12d287){if(_0x12d287){return _0x12d287[_0xf252('0x23')](_0x574614)[_0xf252('0x24')](function(_0x524683){return _0x524683;});}return null;};}function removeEntity(_0x18c14d,_0x2ba040){return function(_0x284dca){if(_0x284dca){return _0x284dca['destroy']()[_0xf252('0x24')](function(){_0x18c14d[_0xf252('0x18')](0xcc)[_0xf252('0x25')]();});}};}function handleEntityNotFound(_0x36f8a5,_0x74ad3c){return function(_0x165ff4){if(!_0x165ff4){_0x36f8a5['sendStatus'](0x194);}return _0x165ff4;};}function handleError(_0x4dd530,_0xdd0977){_0xdd0977=_0xdd0977||0x1f4;return function(_0x2c6073){logger[_0xf252('0x26')](_0x2c6073[_0xf252('0x27')]);if(_0x2c6073[_0xf252('0x28')]){delete _0x2c6073[_0xf252('0x28')];}_0x4dd530[_0xf252('0x18')](_0xdd0977)[_0xf252('0x29')](_0x2c6073);};}exports[_0xf252('0x2a')]=function(_0x4bc687,_0x234af2){var _0x5aedad={'raw':!![],'where':{'id':_0x4bc687[_0xf252('0x2b')]['id']}},_0x534c98={};_0x534c98[_0xf252('0x2c')]=_['keys'](db['ChatApplication']['rawAttributes']);_0x534c98[_0xf252('0x2d')]=_[_0xf252('0x2e')](_0x4bc687[_0xf252('0x2d')]);_0x534c98['filters']=_[_0xf252('0x2f')](_0x534c98['model'],_0x534c98[_0xf252('0x2d')]);_0x5aedad['attributes']=_[_0xf252('0x2f')](_0x534c98[_0xf252('0x2c')],qs[_0xf252('0x30')](_0x4bc687[_0xf252('0x2d')][_0xf252('0x30')]));_0x5aedad[_0xf252('0x31')]=_0x5aedad[_0xf252('0x31')][_0xf252('0x32')]?_0x5aedad[_0xf252('0x31')]:_0x534c98['model'];if(_0x4bc687[_0xf252('0x2d')]['includeAll']){_0x5aedad['include']=[{'all':!![]}];}_0x5aedad=_[_0xf252('0x33')]({},_0x5aedad,_0x4bc687[_0xf252('0x34')]);return db[_0xf252('0x35')][_0xf252('0x36')](_0x5aedad)['then'](handleEntityNotFound(_0x234af2,null))['then'](respondWithResult(_0x234af2,null))[_0xf252('0x37')](handleError(_0x234af2,null));};exports[_0xf252('0x23')]=function(_0x2f803b,_0x1fec2e){if(_0x2f803b[_0xf252('0x38')]['id']){delete _0x2f803b[_0xf252('0x38')]['id'];}return db['ChatApplication'][_0xf252('0x36')]({'where':{'id':_0x2f803b['params']['id']}})[_0xf252('0x24')](handleEntityNotFound(_0x1fec2e,null))['then'](saveUpdates(_0x2f803b[_0xf252('0x38')],null))[_0xf252('0x24')](respondWithResult(_0x1fec2e,null))[_0xf252('0x37')](handleError(_0x1fec2e,null));};exports[_0xf252('0x39')]=function(_0x35d20b,_0x5311f9){return db[_0xf252('0x35')][_0xf252('0x36')]({'where':{'id':_0x35d20b[_0xf252('0x2b')]['id']}})[_0xf252('0x24')](handleEntityNotFound(_0x5311f9,null))[_0xf252('0x24')](removeEntity(_0x5311f9,null))[_0xf252('0x37')](handleError(_0x5311f9,null));};