924deef8eb7a679e6d805278588616b979eaa659
[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 _0x6b24=['fast-json-patch','request-promise','util','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','stack','name','send','show','ChatApplication','rawAttributes','query','filters','model','attributes','intersection','fields','length','includeAll','include','merge','options','find','catch','body','params','rimraf','zip-dir'];(function(_0x9e5cfb,_0x5e1a0f){var _0x5a3140=function(_0x287290){while(--_0x287290){_0x9e5cfb['push'](_0x9e5cfb['shift']());}};_0x5a3140(++_0x5e1a0f);}(_0x6b24,0x1ce));var _0x46b2=function(_0x51fc7c,_0x475586){_0x51fc7c=_0x51fc7c-0x0;var _0x1482a7=_0x6b24[_0x51fc7c];return _0x1482a7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x46b2('0x0'));var zipdir=require(_0x46b2('0x1'));var jsonpatch=require(_0x46b2('0x2'));var rp=require(_0x46b2('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x46b2('0x4'));var path=require('path');var sox=require(_0x46b2('0x5'));var csv=require('to-csv');var ejs=require(_0x46b2('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x46b2('0x7'));var crypto=require(_0x46b2('0x8'));var jsforce=require(_0x46b2('0x9'));var deskjs=require(_0x46b2('0xa'));var toCsv=require(_0x46b2('0xb'));var querystring=require(_0x46b2('0xc'));var Papa=require(_0x46b2('0xd'));var Redis=require(_0x46b2('0xe'));var authService=require(_0x46b2('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x46b2('0x10'));var logger=require(_0x46b2('0x11'))(_0x46b2('0x12'));var utils=require('../../config/utils');var config=require(_0x46b2('0x13'));var licenseUtil=require(_0x46b2('0x14'));var db=require(_0x46b2('0x15'))['db'];function respondWithStatusCode(_0x5343fc,_0x468ae9){_0x468ae9=_0x468ae9||0xcc;return function(_0x886e41){if(_0x886e41){return _0x5343fc[_0x46b2('0x16')](_0x468ae9);}return _0x5343fc[_0x46b2('0x17')](_0x468ae9)[_0x46b2('0x18')]();};}function respondWithResult(_0x1cf0f0,_0x3ff25d){_0x3ff25d=_0x3ff25d||0xc8;return function(_0x228261){if(_0x228261){return _0x1cf0f0[_0x46b2('0x17')](_0x3ff25d)[_0x46b2('0x19')](_0x228261);}};}function respondWithFilteredResult(_0x563b05,_0x43e0d9){return function(_0x5b49da){if(_0x5b49da){var _0x49479c=typeof _0x43e0d9[_0x46b2('0x1a')]===_0x46b2('0x1b')&&typeof _0x43e0d9[_0x46b2('0x1c')]===_0x46b2('0x1b');var _0x373c49=_0x5b49da[_0x46b2('0x1d')];var _0x226ab5=_0x49479c?0x0:_0x43e0d9['offset'];var _0x316c39=_0x49479c?_0x5b49da['count']:_0x43e0d9[_0x46b2('0x1a')]+_0x43e0d9[_0x46b2('0x1c')];var _0x9b4723;if(_0x316c39>=_0x373c49){_0x316c39=_0x373c49;_0x9b4723=0xc8;}else{_0x9b4723=0xce;}_0x563b05['status'](_0x9b4723);return _0x563b05[_0x46b2('0x1e')](_0x46b2('0x1f'),_0x226ab5+'-'+_0x316c39+'/'+_0x373c49)[_0x46b2('0x19')](_0x5b49da);}return null;};}function patchUpdates(_0x1e5c35){return function(_0x350f85){try{jsonpatch[_0x46b2('0x20')](_0x350f85,_0x1e5c35,!![]);}catch(_0x3a0ea5){return BPromise[_0x46b2('0x21')](_0x3a0ea5);}return _0x350f85[_0x46b2('0x22')]();};}function saveUpdates(_0x259f2f,_0x29ade9){return function(_0x1b5fbe){if(_0x1b5fbe){return _0x1b5fbe[_0x46b2('0x23')](_0x259f2f)[_0x46b2('0x24')](function(_0x1caa77){return _0x1caa77;});}return null;};}function removeEntity(_0x50011b,_0x209519){return function(_0x4c2983){if(_0x4c2983){return _0x4c2983['destroy']()[_0x46b2('0x24')](function(){_0x50011b[_0x46b2('0x17')](0xcc)[_0x46b2('0x18')]();});}};}function handleEntityNotFound(_0x134526,_0x16f646){return function(_0x58069e){if(!_0x58069e){_0x134526[_0x46b2('0x16')](0x194);}return _0x58069e;};}function handleError(_0x138f6c,_0x5ca1c7){_0x5ca1c7=_0x5ca1c7||0x1f4;return function(_0x3c5997){logger['error'](_0x3c5997[_0x46b2('0x25')]);if(_0x3c5997[_0x46b2('0x26')]){delete _0x3c5997[_0x46b2('0x26')];}_0x138f6c[_0x46b2('0x17')](_0x5ca1c7)[_0x46b2('0x27')](_0x3c5997);};}exports[_0x46b2('0x28')]=function(_0x74615,_0x1a6caf){var _0x429496={'raw':!![],'where':{'id':_0x74615['params']['id']}},_0x20ccb2={};_0x20ccb2['model']=_['keys'](db[_0x46b2('0x29')][_0x46b2('0x2a')]);_0x20ccb2[_0x46b2('0x2b')]=_['keys'](_0x74615[_0x46b2('0x2b')]);_0x20ccb2[_0x46b2('0x2c')]=_['intersection'](_0x20ccb2[_0x46b2('0x2d')],_0x20ccb2[_0x46b2('0x2b')]);_0x429496[_0x46b2('0x2e')]=_[_0x46b2('0x2f')](_0x20ccb2[_0x46b2('0x2d')],qs[_0x46b2('0x30')](_0x74615[_0x46b2('0x2b')][_0x46b2('0x30')]));_0x429496[_0x46b2('0x2e')]=_0x429496['attributes'][_0x46b2('0x31')]?_0x429496[_0x46b2('0x2e')]:_0x20ccb2[_0x46b2('0x2d')];if(_0x74615['query'][_0x46b2('0x32')]){_0x429496[_0x46b2('0x33')]=[{'all':!![]}];}_0x429496=_[_0x46b2('0x34')]({},_0x429496,_0x74615[_0x46b2('0x35')]);return db['ChatApplication'][_0x46b2('0x36')](_0x429496)['then'](handleEntityNotFound(_0x1a6caf,null))[_0x46b2('0x24')](respondWithResult(_0x1a6caf,null))[_0x46b2('0x37')](handleError(_0x1a6caf,null));};exports[_0x46b2('0x23')]=function(_0x8bae67,_0x12c5a5){if(_0x8bae67[_0x46b2('0x38')]['id']){delete _0x8bae67[_0x46b2('0x38')]['id'];}return db['ChatApplication'][_0x46b2('0x36')]({'where':{'id':_0x8bae67[_0x46b2('0x39')]['id']}})[_0x46b2('0x24')](handleEntityNotFound(_0x12c5a5,null))[_0x46b2('0x24')](saveUpdates(_0x8bae67[_0x46b2('0x38')],null))[_0x46b2('0x24')](respondWithResult(_0x12c5a5,null))[_0x46b2('0x37')](handleError(_0x12c5a5,null));};exports['destroy']=function(_0x4a2d30,_0x4cb294){return db[_0x46b2('0x29')][_0x46b2('0x36')]({'where':{'id':_0x4a2d30['params']['id']}})[_0x46b2('0x24')](handleEntityNotFound(_0x4cb294,null))['then'](removeEntity(_0x4cb294,null))['catch'](handleError(_0x4cb294,null));};