c0a7364deb9179ba8684ab14431b2c401dac52ee
[motion2.git] / server / api / chatOfflineMessage / chatOfflineMessage.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 _0xa49e=['stack','name','map','ChatOfflineMessage','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','catch','params','keys','rawAttributes','options','create','body','find','describe','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','status','end','json','count','offset','limit','Content-Range','apply','update','then','destroy','error'];(function(_0x1e30da,_0x105fe9){var _0x48c43b=function(_0x479461){while(--_0x479461){_0x1e30da['push'](_0x1e30da['shift']());}};_0x48c43b(++_0x105fe9);}(_0xa49e,0x147));var _0xea49=function(_0x591896,_0x386bac){_0x591896=_0x591896-0x0;var _0x5eaa48=_0xa49e[_0x591896];return _0x5eaa48;};'use strict';var pdf=require(_0xea49('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xea49('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xea49('0x2'));var rp=require(_0xea49('0x3'));var moment=require(_0xea49('0x4'));var BPromise=require(_0xea49('0x5'));var Mustache=require(_0xea49('0x6'));var util=require(_0xea49('0x7'));var path=require(_0xea49('0x8'));var sox=require(_0xea49('0x9'));var csv=require(_0xea49('0xa'));var ejs=require(_0xea49('0xb'));var fs=require('fs');var _=require(_0xea49('0xc'));var squel=require(_0xea49('0xd'));var crypto=require('crypto');var jsforce=require(_0xea49('0xe'));var deskjs=require(_0xea49('0xf'));var toCsv=require('to-csv');var querystring=require(_0xea49('0x10'));var Papa=require(_0xea49('0x11'));var Redis=require(_0xea49('0x12'));var authService=require(_0xea49('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xea49('0x14'));var hardwareService=require(_0xea49('0x15'));var logger=require(_0xea49('0x16'))(_0xea49('0x17'));var utils=require(_0xea49('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xea49('0x19'))['db'];function respondWithStatusCode(_0x52000d,_0x387cc4){_0x387cc4=_0x387cc4||0xcc;return function(_0x4140a9){if(_0x4140a9){return _0x52000d['sendStatus'](_0x387cc4);}return _0x52000d[_0xea49('0x1a')](_0x387cc4)[_0xea49('0x1b')]();};}function respondWithResult(_0x4f64f3,_0x2055aa){_0x2055aa=_0x2055aa||0xc8;return function(_0x3255a5){if(_0x3255a5){return _0x4f64f3[_0xea49('0x1a')](_0x2055aa)[_0xea49('0x1c')](_0x3255a5);}};}function respondWithFilteredResult(_0x7e3365,_0x144632){return function(_0x4e6147){if(_0x4e6147){var _0x1ca630=_0x4e6147[_0xea49('0x1d')],_0x30e0ed=_0x144632[_0xea49('0x1e')],_0x3f82b9=_0x144632[_0xea49('0x1e')]+_0x144632[_0xea49('0x1f')],_0x33c3a5;if(_0x3f82b9>=_0x1ca630){_0x3f82b9=_0x1ca630;_0x33c3a5=0xc8;}else{_0x33c3a5=0xce;}_0x7e3365[_0xea49('0x1a')](_0x33c3a5);return _0x7e3365['set'](_0xea49('0x20'),_0x30e0ed+'-'+_0x3f82b9+'/'+_0x1ca630)['json'](_0x4e6147);}return null;};}function patchUpdates(_0x315eea){return function(_0x2d83de){try{jsonpatch[_0xea49('0x21')](_0x2d83de,_0x315eea,!![]);}catch(_0x2a26e2){return BPromise['reject'](_0x2a26e2);}return _0x2d83de['save']();};}function saveUpdates(_0x243a26,_0x1fcd82){return function(_0x307c82){if(_0x307c82){return _0x307c82[_0xea49('0x22')](_0x243a26)[_0xea49('0x23')](function(_0x388e36){return _0x388e36;});}return null;};}function removeEntity(_0x23f7a,_0x1900d1){return function(_0x1caeec){if(_0x1caeec){return _0x1caeec[_0xea49('0x24')]()[_0xea49('0x23')](function(){_0x23f7a[_0xea49('0x1a')](0xcc)[_0xea49('0x1b')]();});}};}function handleEntityNotFound(_0xe06d89,_0x597add){return function(_0x49ed0d){if(!_0x49ed0d){_0xe06d89['sendStatus'](0x194);}return _0x49ed0d;};}function handleError(_0x173e4e,_0x2c3dbb){_0x2c3dbb=_0x2c3dbb||0x1f4;return function(_0x4fe8cf){logger[_0xea49('0x25')](_0x4fe8cf[_0xea49('0x26')]);if(_0x4fe8cf[_0xea49('0x27')]){delete _0x4fe8cf[_0xea49('0x27')];}_0x173e4e[_0xea49('0x1a')](_0x2c3dbb)['send'](_0x4fe8cf);};}exports['index']=function(_0xe98653,_0x4f3066){var _0x586834={},_0x448dea={},_0x24ed1f={'count':0x0,'rows':[]};var _0x20a0ee=_[_0xea49('0x28')](db[_0xea49('0x29')]['rawAttributes'],function(_0xe6430e){return{'name':_0xe6430e[_0xea49('0x2a')],'type':_0xe6430e['type'][_0xea49('0x2b')]};});_0x448dea[_0xea49('0x2c')]=_['map'](_0x20a0ee,_0xea49('0x27'));_0x448dea[_0xea49('0x2d')]=_['keys'](_0xe98653['query']);_0x448dea[_0xea49('0x2e')]=_[_0xea49('0x2f')](_0x448dea[_0xea49('0x2c')],_0x448dea[_0xea49('0x2d')]);_0x586834[_0xea49('0x30')]=_[_0xea49('0x2f')](_0x448dea[_0xea49('0x2c')],qs[_0xea49('0x31')](_0xe98653[_0xea49('0x2d')]['fields']));_0x586834[_0xea49('0x30')]=_0x586834[_0xea49('0x30')][_0xea49('0x32')]?_0x586834['attributes']:_0x448dea[_0xea49('0x2c')];if(!_0xe98653[_0xea49('0x2d')][_0xea49('0x33')]('nolimit')){_0x586834['limit']=qs[_0xea49('0x1f')](_0xe98653[_0xea49('0x2d')][_0xea49('0x1f')]);_0x586834[_0xea49('0x1e')]=qs[_0xea49('0x1e')](_0xe98653['query'][_0xea49('0x1e')]);}_0x586834[_0xea49('0x34')]=qs['sort'](_0xe98653[_0xea49('0x2d')][_0xea49('0x35')]);_0x586834[_0xea49('0x36')]=qs[_0xea49('0x2e')](_[_0xea49('0x37')](_0xe98653['query'],_0x448dea[_0xea49('0x2e')]),_0x20a0ee);if(_0xe98653[_0xea49('0x2d')][_0xea49('0x38')]){_0x586834['where']=_[_0xea49('0x39')](_0x586834[_0xea49('0x36')],{'$or':_[_0xea49('0x28')](_0x20a0ee,function(_0x5630a2){if(_0x5630a2[_0xea49('0x3a')]!==_0xea49('0x3b')){var _0x2b7002={};_0x2b7002[_0x5630a2['name']]={'$like':'%'+_0xe98653[_0xea49('0x2d')]['filter']+'%'};return _0x2b7002;}})});}_0x586834=_[_0xea49('0x39')]({},_0x586834,_0xe98653['options']);var _0x2e5a24={'where':_0x586834[_0xea49('0x36')]};return db['ChatOfflineMessage'][_0xea49('0x1d')](_0x2e5a24)[_0xea49('0x23')](function(_0x3e5701){_0x24ed1f[_0xea49('0x1d')]=_0x3e5701;if(_0xe98653['query'][_0xea49('0x3c')]){_0x586834[_0xea49('0x3d')]=[{'all':!![]}];}return db[_0xea49('0x29')][_0xea49('0x3e')](_0x586834);})[_0xea49('0x23')](function(_0x1ee5b0){_0x24ed1f[_0xea49('0x3f')]=_0x1ee5b0;return _0x24ed1f;})[_0xea49('0x23')](respondWithFilteredResult(_0x4f3066,_0x586834))[_0xea49('0x40')](handleError(_0x4f3066,null));};exports['show']=function(_0x27cf7a,_0x40b485){var _0x21ec3d={'raw':!![],'where':{'id':_0x27cf7a[_0xea49('0x41')]['id']}},_0x47a6f9={};_0x47a6f9[_0xea49('0x2c')]=_[_0xea49('0x42')](db[_0xea49('0x29')][_0xea49('0x43')]);_0x47a6f9[_0xea49('0x2d')]=_[_0xea49('0x42')](_0x27cf7a[_0xea49('0x2d')]);_0x47a6f9['filters']=_[_0xea49('0x2f')](_0x47a6f9[_0xea49('0x2c')],_0x47a6f9[_0xea49('0x2d')]);_0x21ec3d['attributes']=_[_0xea49('0x2f')](_0x47a6f9[_0xea49('0x2c')],qs[_0xea49('0x31')](_0x27cf7a[_0xea49('0x2d')][_0xea49('0x31')]));_0x21ec3d[_0xea49('0x30')]=_0x21ec3d[_0xea49('0x30')][_0xea49('0x32')]?_0x21ec3d['attributes']:_0x47a6f9[_0xea49('0x2c')];if(_0x27cf7a[_0xea49('0x2d')][_0xea49('0x3c')]){_0x21ec3d[_0xea49('0x3d')]=[{'all':!![]}];}_0x21ec3d=_[_0xea49('0x39')]({},_0x21ec3d,_0x27cf7a[_0xea49('0x44')]);return db[_0xea49('0x29')]['find'](_0x21ec3d)[_0xea49('0x23')](handleEntityNotFound(_0x40b485,null))[_0xea49('0x23')](respondWithResult(_0x40b485,null))['catch'](handleError(_0x40b485,null));};exports[_0xea49('0x45')]=function(_0x3ab37a,_0xfadda6){return db[_0xea49('0x29')]['create'](_0x3ab37a['body'],{})[_0xea49('0x23')](respondWithResult(_0xfadda6,0xc9))['catch'](handleError(_0xfadda6,null));};exports[_0xea49('0x22')]=function(_0x9cbd,_0x21963b){if(_0x9cbd['body']['id']){delete _0x9cbd[_0xea49('0x46')]['id'];}return db['ChatOfflineMessage'][_0xea49('0x47')]({'where':{'id':_0x9cbd[_0xea49('0x41')]['id']}})['then'](handleEntityNotFound(_0x21963b,null))[_0xea49('0x23')](saveUpdates(_0x9cbd[_0xea49('0x46')],null))[_0xea49('0x23')](respondWithResult(_0x21963b,null))[_0xea49('0x40')](handleError(_0x21963b,null));};exports[_0xea49('0x24')]=function(_0x54a9ae,_0xf56ed5){return db['ChatOfflineMessage'][_0xea49('0x47')]({'where':{'id':_0x54a9ae[_0xea49('0x41')]['id']}})[_0xea49('0x23')](handleEntityNotFound(_0xf56ed5,null))[_0xea49('0x23')](removeEntity(_0xf56ed5,null))[_0xea49('0x40')](handleError(_0xf56ed5,null));};exports[_0xea49('0x48')]=function(_0x3eeeda,_0x39d9e7){return db[_0xea49('0x29')][_0xea49('0x48')]()['then'](respondWithResult(_0x39d9e7,null))['catch'](handleError(_0x39d9e7,null));};