48c53655a7da0037f65daae2d4f18104b438a24c
[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 _0xeffd=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','offset','undefined','limit','set','Content-Range','json','reject','update','then','destroy','stack','name','send','show','params','keys','ChatApplication','rawAttributes','query','intersection','model','fields','attributes','includeAll','include','merge','options','find','catch','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0x4e389d,_0x4e108f){var _0x318212=function(_0x368163){while(--_0x368163){_0x4e389d['push'](_0x4e389d['shift']());}};_0x318212(++_0x4e108f);}(_0xeffd,0x6b));var _0xdeff=function(_0x24b305,_0x5f05d5){_0x24b305=_0x24b305-0x0;var _0x340a4b=_0xeffd[_0x24b305];return _0x340a4b;};'use strict';var emlformat=require(_0xdeff('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdeff('0x1'));var jsonpatch=require(_0xdeff('0x2'));var rp=require(_0xdeff('0x3'));var moment=require(_0xdeff('0x4'));var BPromise=require(_0xdeff('0x5'));var Mustache=require(_0xdeff('0x6'));var util=require(_0xdeff('0x7'));var path=require(_0xdeff('0x8'));var sox=require(_0xdeff('0x9'));var csv=require(_0xdeff('0xa'));var ejs=require(_0xdeff('0xb'));var fs=require('fs');var fs_extra=require(_0xdeff('0xc'));var _=require(_0xdeff('0xd'));var squel=require(_0xdeff('0xe'));var crypto=require(_0xdeff('0xf'));var jsforce=require(_0xdeff('0x10'));var deskjs=require(_0xdeff('0x11'));var toCsv=require('to-csv');var querystring=require(_0xdeff('0x12'));var Papa=require(_0xdeff('0x13'));var Redis=require(_0xdeff('0x14'));var authService=require('../../components/auth/service');var qs=require(_0xdeff('0x15'));var as=require(_0xdeff('0x16'));var hardwareService=require(_0xdeff('0x17'));var logger=require(_0xdeff('0x18'))(_0xdeff('0x19'));var utils=require(_0xdeff('0x1a'));var config=require(_0xdeff('0x1b'));var licenseUtil=require(_0xdeff('0x1c'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x461699,_0x116bf9){_0x116bf9=_0x116bf9||0xcc;return function(_0x4952f2){if(_0x4952f2){return _0x461699[_0xdeff('0x1d')](_0x116bf9);}return _0x461699['status'](_0x116bf9)['end']();};}function respondWithResult(_0x3e56a1,_0x47410f){_0x47410f=_0x47410f||0xc8;return function(_0x1585e8){if(_0x1585e8){return _0x3e56a1[_0xdeff('0x1e')](_0x47410f)['json'](_0x1585e8);}};}function respondWithFilteredResult(_0x826132,_0x314ded){return function(_0xea6c4){if(_0xea6c4){var _0x391633=typeof _0x314ded[_0xdeff('0x1f')]===_0xdeff('0x20')&&typeof _0x314ded['limit']==='undefined';var _0x7440af=_0xea6c4['count'];var _0x5c9837=_0x391633?0x0:_0x314ded[_0xdeff('0x1f')];var _0x369e13=_0x391633?_0xea6c4['count']:_0x314ded[_0xdeff('0x1f')]+_0x314ded[_0xdeff('0x21')];var _0x1ab1fa;if(_0x369e13>=_0x7440af){_0x369e13=_0x7440af;_0x1ab1fa=0xc8;}else{_0x1ab1fa=0xce;}_0x826132[_0xdeff('0x1e')](_0x1ab1fa);return _0x826132[_0xdeff('0x22')](_0xdeff('0x23'),_0x5c9837+'-'+_0x369e13+'/'+_0x7440af)[_0xdeff('0x24')](_0xea6c4);}return null;};}function patchUpdates(_0x919c93){return function(_0x488faa){try{jsonpatch['apply'](_0x488faa,_0x919c93,!![]);}catch(_0x56cb84){return BPromise[_0xdeff('0x25')](_0x56cb84);}return _0x488faa['save']();};}function saveUpdates(_0x189627,_0x91c0b4){return function(_0x543653){if(_0x543653){return _0x543653[_0xdeff('0x26')](_0x189627)[_0xdeff('0x27')](function(_0x4eb2a8){return _0x4eb2a8;});}return null;};}function removeEntity(_0x5dbe96,_0x3b2554){return function(_0x15c425){if(_0x15c425){return _0x15c425[_0xdeff('0x28')]()[_0xdeff('0x27')](function(){_0x5dbe96[_0xdeff('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0xb08f19,_0x412db3){return function(_0x3741fb){if(!_0x3741fb){_0xb08f19[_0xdeff('0x1d')](0x194);}return _0x3741fb;};}function handleError(_0x16974b,_0x35823c){_0x35823c=_0x35823c||0x1f4;return function(_0x3d0111){logger['error'](_0x3d0111[_0xdeff('0x29')]);if(_0x3d0111[_0xdeff('0x2a')]){delete _0x3d0111['name'];}_0x16974b['status'](_0x35823c)[_0xdeff('0x2b')](_0x3d0111);};}exports[_0xdeff('0x2c')]=function(_0x16b2d0,_0xcb819c){var _0x533069={'raw':!![],'where':{'id':_0x16b2d0[_0xdeff('0x2d')]['id']}},_0xf9b278={};_0xf9b278['model']=_[_0xdeff('0x2e')](db[_0xdeff('0x2f')][_0xdeff('0x30')]);_0xf9b278['query']=_['keys'](_0x16b2d0[_0xdeff('0x31')]);_0xf9b278['filters']=_[_0xdeff('0x32')](_0xf9b278[_0xdeff('0x33')],_0xf9b278[_0xdeff('0x31')]);_0x533069['attributes']=_[_0xdeff('0x32')](_0xf9b278['model'],qs['fields'](_0x16b2d0[_0xdeff('0x31')][_0xdeff('0x34')]));_0x533069[_0xdeff('0x35')]=_0x533069[_0xdeff('0x35')]['length']?_0x533069[_0xdeff('0x35')]:_0xf9b278[_0xdeff('0x33')];if(_0x16b2d0[_0xdeff('0x31')][_0xdeff('0x36')]){_0x533069[_0xdeff('0x37')]=[{'all':!![]}];}_0x533069=_[_0xdeff('0x38')]({},_0x533069,_0x16b2d0[_0xdeff('0x39')]);return db['ChatApplication'][_0xdeff('0x3a')](_0x533069)['then'](handleEntityNotFound(_0xcb819c,null))[_0xdeff('0x27')](respondWithResult(_0xcb819c,null))[_0xdeff('0x3b')](handleError(_0xcb819c,null));};exports[_0xdeff('0x26')]=function(_0x28b21a,_0x210dd6){if(_0x28b21a[_0xdeff('0x3c')]['id']){delete _0x28b21a['body']['id'];}return db[_0xdeff('0x2f')][_0xdeff('0x3a')]({'where':{'id':_0x28b21a['params']['id']}})[_0xdeff('0x27')](handleEntityNotFound(_0x210dd6,null))[_0xdeff('0x27')](saveUpdates(_0x28b21a[_0xdeff('0x3c')],null))[_0xdeff('0x27')](respondWithResult(_0x210dd6,null))[_0xdeff('0x3b')](handleError(_0x210dd6,null));};exports[_0xdeff('0x28')]=function(_0x4268e4,_0x54c20e){return db['ChatApplication'][_0xdeff('0x3a')]({'where':{'id':_0x4268e4['params']['id']}})[_0xdeff('0x27')](handleEntityNotFound(_0x54c20e,null))[_0xdeff('0x27')](removeEntity(_0x54c20e,null))[_0xdeff('0x3b')](handleError(_0x54c20e,null));};