Built motion from commit (unavailable).|2.5.31
[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 _0xb03e=['query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','pick','filter','where','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','body','findAll','forEach','join','root','server','files','attachments','offline-chat','basename','existsSync','remove','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','error','stack','name','send','render','merge','contact','index','map','ChatOfflineMessage','rawAttributes','type','model'];(function(_0x168127,_0x59cea1){var _0x4c99ad=function(_0x4ab3f2){while(--_0x4ab3f2){_0x168127['push'](_0x168127['shift']());}};_0x4c99ad(++_0x59cea1);}(_0xb03e,0x1eb));var _0xeb03=function(_0x228099,_0x1193bf){_0x228099=_0x228099-0x0;var _0x543c24=_0xb03e[_0x228099];return _0x543c24;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xeb03('0x0'));var zipdir=require(_0xeb03('0x1'));var jsonpatch=require(_0xeb03('0x2'));var rp=require(_0xeb03('0x3'));var moment=require(_0xeb03('0x4'));var BPromise=require(_0xeb03('0x5'));var Mustache=require(_0xeb03('0x6'));var util=require(_0xeb03('0x7'));var path=require(_0xeb03('0x8'));var sox=require(_0xeb03('0x9'));var csv=require(_0xeb03('0xa'));var ejs=require(_0xeb03('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xeb03('0xc'));var squel=require(_0xeb03('0xd'));var crypto=require(_0xeb03('0xe'));var jsforce=require(_0xeb03('0xf'));var deskjs=require(_0xeb03('0x10'));var toCsv=require(_0xeb03('0xa'));var querystring=require('querystring');var Papa=require(_0xeb03('0x11'));var Redis=require(_0xeb03('0x12'));var authService=require(_0xeb03('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xeb03('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xeb03('0x15'))(_0xeb03('0x16'));var utils=require(_0xeb03('0x17'));var config=require(_0xeb03('0x18'));var licenseUtil=require(_0xeb03('0x19'));var db=require(_0xeb03('0x1a'))['db'];function respondWithStatusCode(_0x367d36,_0x384cbe){_0x384cbe=_0x384cbe||0xcc;return function(_0x97f46d){if(_0x97f46d){return _0x367d36[_0xeb03('0x1b')](_0x384cbe);}return _0x367d36[_0xeb03('0x1c')](_0x384cbe)[_0xeb03('0x1d')]();};}function respondWithResult(_0x4d9c8e,_0x212082){_0x212082=_0x212082||0xc8;return function(_0x100bef){if(_0x100bef){return _0x4d9c8e[_0xeb03('0x1c')](_0x212082)[_0xeb03('0x1e')](_0x100bef);}};}function respondWithFilteredResult(_0x52be5b,_0x15f4fe){return function(_0x36f5d8){if(_0x36f5d8){var _0x3f26ef=typeof _0x15f4fe['offset']===_0xeb03('0x1f')&&typeof _0x15f4fe[_0xeb03('0x20')]===_0xeb03('0x1f');var _0x44716c=_0x36f5d8[_0xeb03('0x21')];var _0x1b4cbd=_0x3f26ef?0x0:_0x15f4fe[_0xeb03('0x22')];var _0x8d6725=_0x3f26ef?_0x36f5d8[_0xeb03('0x21')]:_0x15f4fe[_0xeb03('0x22')]+_0x15f4fe[_0xeb03('0x20')];var _0x2c238d;if(_0x8d6725>=_0x44716c){_0x8d6725=_0x44716c;_0x2c238d=0xc8;}else{_0x2c238d=0xce;}_0x52be5b[_0xeb03('0x1c')](_0x2c238d);return _0x52be5b[_0xeb03('0x23')]('Content-Range',_0x1b4cbd+'-'+_0x8d6725+'/'+_0x44716c)[_0xeb03('0x1e')](_0x36f5d8);}return null;};}function patchUpdates(_0x3855dd){return function(_0x413d3e){try{jsonpatch[_0xeb03('0x24')](_0x413d3e,_0x3855dd,!![]);}catch(_0xe5a1c2){return BPromise[_0xeb03('0x25')](_0xe5a1c2);}return _0x413d3e[_0xeb03('0x26')]();};}function saveUpdates(_0x2c795b,_0x3c3d09){return function(_0x5a704b){if(_0x5a704b){return _0x5a704b[_0xeb03('0x27')](_0x2c795b)[_0xeb03('0x28')](function(_0x11ea85){return _0x11ea85;});}return null;};}function removeEntity(_0x300dc0,_0x2f99e6){return function(_0x5dcda3){if(_0x5dcda3){return _0x5dcda3[_0xeb03('0x29')]()[_0xeb03('0x28')](function(){_0x300dc0[_0xeb03('0x1c')](0xcc)[_0xeb03('0x1d')]();});}};}function handleEntityNotFound(_0x3f276a,_0x119697){return function(_0xb04f34){if(!_0xb04f34){_0x3f276a[_0xeb03('0x1b')](0x194);}return _0xb04f34;};}function handleError(_0xbb7ff,_0x4984f6){_0x4984f6=_0x4984f6||0x1f4;return function(_0x832372){logger[_0xeb03('0x2a')](_0x832372[_0xeb03('0x2b')]);if(_0x832372[_0xeb03('0x2c')]){delete _0x832372['name'];}_0xbb7ff['status'](_0x4984f6)[_0xeb03('0x2d')](_0x832372);};}function getMustacheRender(_0x49e449,_0x31a622){return Mustache[_0xeb03('0x2e')](_0x49e449,_[_0xeb03('0x2f')](_0x31a622['body'],{'contact':_0x31a622[_0xeb03('0x30')],'message':_0x31a622['message'],'agent':_0x31a622['agent'],'interaction':_0x31a622['interaction'],'account':_0x31a622['account']}))||'';}exports[_0xeb03('0x31')]=function(_0x433ce8,_0x5d0cc1){var _0x528479={},_0x4d830a={},_0x47f7d8={'count':0x0,'rows':[]};var _0x1e8009=_[_0xeb03('0x32')](db[_0xeb03('0x33')][_0xeb03('0x34')],function(_0x19fa35){return{'name':_0x19fa35['fieldName'],'type':_0x19fa35[_0xeb03('0x35')]['key']};});_0x4d830a[_0xeb03('0x36')]=_[_0xeb03('0x32')](_0x1e8009,_0xeb03('0x2c'));_0x4d830a[_0xeb03('0x37')]=_[_0xeb03('0x38')](_0x433ce8[_0xeb03('0x37')]);_0x4d830a[_0xeb03('0x39')]=_[_0xeb03('0x3a')](_0x4d830a['model'],_0x4d830a[_0xeb03('0x37')]);_0x528479['attributes']=_[_0xeb03('0x3a')](_0x4d830a[_0xeb03('0x36')],qs[_0xeb03('0x3b')](_0x433ce8[_0xeb03('0x37')][_0xeb03('0x3b')]));_0x528479[_0xeb03('0x3c')]=_0x528479['attributes'][_0xeb03('0x3d')]?_0x528479['attributes']:_0x4d830a['model'];if(!_0x433ce8['query'][_0xeb03('0x3e')](_0xeb03('0x3f'))){_0x528479[_0xeb03('0x20')]=qs[_0xeb03('0x20')](_0x433ce8[_0xeb03('0x37')]['limit']);_0x528479[_0xeb03('0x22')]=qs[_0xeb03('0x22')](_0x433ce8[_0xeb03('0x37')]['offset']);}_0x528479['order']=qs[_0xeb03('0x40')](_0x433ce8[_0xeb03('0x37')][_0xeb03('0x40')]);_0x528479['where']=qs[_0xeb03('0x39')](_[_0xeb03('0x41')](_0x433ce8['query'],_0x4d830a['filters']),_0x1e8009);if(_0x433ce8[_0xeb03('0x37')][_0xeb03('0x42')]){_0x528479['where']=_[_0xeb03('0x2f')](_0x528479[_0xeb03('0x43')],{'$or':_[_0xeb03('0x32')](_0x1e8009,function(_0x1d28ec){if(_0x1d28ec[_0xeb03('0x35')]!==_0xeb03('0x44')){var _0x278529={};_0x278529[_0x1d28ec[_0xeb03('0x2c')]]={'$like':'%'+_0x433ce8[_0xeb03('0x37')][_0xeb03('0x42')]+'%'};return _0x278529;}})});}_0x528479=_[_0xeb03('0x2f')]({},_0x528479,_0x433ce8[_0xeb03('0x45')]);var _0x2a9348={'where':_0x528479[_0xeb03('0x43')]};return db[_0xeb03('0x33')][_0xeb03('0x21')](_0x2a9348)[_0xeb03('0x28')](function(_0x3f93ef){_0x47f7d8[_0xeb03('0x21')]=_0x3f93ef;if(_0x433ce8[_0xeb03('0x37')][_0xeb03('0x46')]){_0x528479[_0xeb03('0x47')]=[{'all':!![]}];}return db[_0xeb03('0x33')]['findAll'](_0x528479);})['then'](function(_0x44aa30){_0x47f7d8[_0xeb03('0x48')]=_0x44aa30;return _0x47f7d8;})[_0xeb03('0x28')](respondWithFilteredResult(_0x5d0cc1,_0x528479))[_0xeb03('0x49')](handleError(_0x5d0cc1,null));};exports[_0xeb03('0x4a')]=function(_0x39ab97,_0x103c78){var _0xcd049b={'raw':!![],'where':{'id':_0x39ab97[_0xeb03('0x4b')]['id']}},_0x5d91c1={};_0x5d91c1[_0xeb03('0x36')]=_[_0xeb03('0x38')](db[_0xeb03('0x33')][_0xeb03('0x34')]);_0x5d91c1['query']=_['keys'](_0x39ab97[_0xeb03('0x37')]);_0x5d91c1['filters']=_['intersection'](_0x5d91c1['model'],_0x5d91c1[_0xeb03('0x37')]);_0xcd049b[_0xeb03('0x3c')]=_[_0xeb03('0x3a')](_0x5d91c1[_0xeb03('0x36')],qs[_0xeb03('0x3b')](_0x39ab97[_0xeb03('0x37')]['fields']));_0xcd049b[_0xeb03('0x3c')]=_0xcd049b['attributes']['length']?_0xcd049b[_0xeb03('0x3c')]:_0x5d91c1[_0xeb03('0x36')];if(_0x39ab97[_0xeb03('0x37')]['includeAll']){_0xcd049b[_0xeb03('0x47')]=[{'all':!![]}];}_0xcd049b=_[_0xeb03('0x2f')]({},_0xcd049b,_0x39ab97[_0xeb03('0x45')]);return db[_0xeb03('0x33')][_0xeb03('0x4c')](_0xcd049b)['then'](handleEntityNotFound(_0x103c78,null))[_0xeb03('0x28')](respondWithResult(_0x103c78,null))['catch'](handleError(_0x103c78,null));};exports[_0xeb03('0x4d')]=function(_0x2c99d0,_0x14f1d0){return db[_0xeb03('0x33')][_0xeb03('0x4d')](_0x2c99d0[_0xeb03('0x4e')],{})[_0xeb03('0x28')](respondWithResult(_0x14f1d0,0xc9))[_0xeb03('0x49')](handleError(_0x14f1d0,null));};exports[_0xeb03('0x27')]=function(_0x2fe435,_0x40ea76){if(_0x2fe435[_0xeb03('0x4e')]['id']){delete _0x2fe435[_0xeb03('0x4e')]['id'];}return db[_0xeb03('0x33')][_0xeb03('0x4c')]({'where':{'id':_0x2fe435[_0xeb03('0x4b')]['id']}})[_0xeb03('0x28')](handleEntityNotFound(_0x40ea76,null))[_0xeb03('0x28')](saveUpdates(_0x2fe435[_0xeb03('0x4e')],null))[_0xeb03('0x28')](respondWithResult(_0x40ea76,null))[_0xeb03('0x49')](handleError(_0x40ea76,null));};exports[_0xeb03('0x29')]=function(_0x1761ab,_0x365520){return db['Attachment'][_0xeb03('0x4f')]({'where':{'ChatOfflineMessageId':_0x1761ab[_0xeb03('0x4b')]['id']},'raw':!![]})[_0xeb03('0x28')](function(_0x5405b4){_0x5405b4[_0xeb03('0x50')](function(_0x3604e8){var _0x3a6532=path[_0xeb03('0x51')](config[_0xeb03('0x52')],_0xeb03('0x53'),_0xeb03('0x54'),_0xeb03('0x55'),_0xeb03('0x56'),_0x3604e8[_0xeb03('0x57')]);var _0x46f52e=fs[_0xeb03('0x58')](_0x3a6532);if(_0x46f52e)fs_extra[_0xeb03('0x59')](_0x3a6532);});})[_0xeb03('0x28')](function(){return db['ChatOfflineMessage'][_0xeb03('0x4c')]({'where':{'id':_0x1761ab[_0xeb03('0x4b')]['id']},'individualHooks':!![]});})[_0xeb03('0x28')](handleEntityNotFound(_0x365520,null))[_0xeb03('0x28')](removeEntity(_0x365520,null))[_0xeb03('0x49')](handleError(_0x365520,null));};exports[_0xeb03('0x5a')]=function(_0x4320f7,_0x3ae424){return db[_0xeb03('0x33')][_0xeb03('0x5a')]()['then'](respondWithResult(_0x3ae424,null))[_0xeb03('0x49')](handleError(_0x3ae424,null));};