Built motion from commit (unavailable).|2.5.30
[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 _0x926a=['intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','includeAll','include','findAll','rows','catch','params','options','find','create','body','join','root','server','files','attachments','offline-chat','basename','remove','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','save','update','destroy','then','error','stack','name','send','index','map','ChatOfflineMessage','rawAttributes','fieldName','type','model','keys','query','filters'];(function(_0x259fcc,_0x5af770){var _0x198cc9=function(_0x1e9403){while(--_0x1e9403){_0x259fcc['push'](_0x259fcc['shift']());}};_0x198cc9(++_0x5af770);}(_0x926a,0x11a));var _0xa926=function(_0x2df16a,_0x50f02b){_0x2df16a=_0x2df16a-0x0;var _0x357818=_0x926a[_0x2df16a];return _0x357818;};'use strict';var emlformat=require(_0xa926('0x0'));var rimraf=require(_0xa926('0x1'));var zipdir=require(_0xa926('0x2'));var jsonpatch=require(_0xa926('0x3'));var rp=require('request-promise');var moment=require(_0xa926('0x4'));var BPromise=require(_0xa926('0x5'));var Mustache=require(_0xa926('0x6'));var util=require(_0xa926('0x7'));var path=require(_0xa926('0x8'));var sox=require(_0xa926('0x9'));var csv=require(_0xa926('0xa'));var ejs=require(_0xa926('0xb'));var fs=require('fs');var fs_extra=require(_0xa926('0xc'));var _=require(_0xa926('0xd'));var squel=require(_0xa926('0xe'));var crypto=require('crypto');var jsforce=require(_0xa926('0xf'));var deskjs=require(_0xa926('0x10'));var toCsv=require(_0xa926('0xa'));var querystring=require(_0xa926('0x11'));var Papa=require(_0xa926('0x12'));var Redis=require(_0xa926('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xa926('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xa926('0x15'))(_0xa926('0x16'));var utils=require(_0xa926('0x17'));var config=require(_0xa926('0x18'));var licenseUtil=require(_0xa926('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2d3826,_0x260505){_0x260505=_0x260505||0xcc;return function(_0x528919){if(_0x528919){return _0x2d3826[_0xa926('0x1a')](_0x260505);}return _0x2d3826['status'](_0x260505)[_0xa926('0x1b')]();};}function respondWithResult(_0x54a325,_0x5965bd){_0x5965bd=_0x5965bd||0xc8;return function(_0x40eee4){if(_0x40eee4){return _0x54a325[_0xa926('0x1c')](_0x5965bd)[_0xa926('0x1d')](_0x40eee4);}};}function respondWithFilteredResult(_0x4bf03e,_0x466e3a){return function(_0x414310){if(_0x414310){var _0x305555=typeof _0x466e3a[_0xa926('0x1e')]===_0xa926('0x1f')&&typeof _0x466e3a[_0xa926('0x20')]===_0xa926('0x1f');var _0x425784=_0x414310[_0xa926('0x21')];var _0x15a7db=_0x305555?0x0:_0x466e3a[_0xa926('0x1e')];var _0x2dd93b=_0x305555?_0x414310[_0xa926('0x21')]:_0x466e3a['offset']+_0x466e3a[_0xa926('0x20')];var _0x5aaf59;if(_0x2dd93b>=_0x425784){_0x2dd93b=_0x425784;_0x5aaf59=0xc8;}else{_0x5aaf59=0xce;}_0x4bf03e[_0xa926('0x1c')](_0x5aaf59);return _0x4bf03e[_0xa926('0x22')]('Content-Range',_0x15a7db+'-'+_0x2dd93b+'/'+_0x425784)[_0xa926('0x1d')](_0x414310);}return null;};}function patchUpdates(_0x55c856){return function(_0x1a4973){try{jsonpatch[_0xa926('0x23')](_0x1a4973,_0x55c856,!![]);}catch(_0xfff494){return BPromise['reject'](_0xfff494);}return _0x1a4973[_0xa926('0x24')]();};}function saveUpdates(_0x46879f,_0xe3c01e){return function(_0x25d8ba){if(_0x25d8ba){return _0x25d8ba[_0xa926('0x25')](_0x46879f)['then'](function(_0x5b25f0){return _0x5b25f0;});}return null;};}function removeEntity(_0x541d1c,_0x53f514){return function(_0x2d0c99){if(_0x2d0c99){return _0x2d0c99[_0xa926('0x26')]()[_0xa926('0x27')](function(){_0x541d1c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e8a0d,_0x5e22ec){return function(_0x369141){if(!_0x369141){_0x2e8a0d[_0xa926('0x1a')](0x194);}return _0x369141;};}function handleError(_0x453c94,_0x3222fa){_0x3222fa=_0x3222fa||0x1f4;return function(_0x4eb57e){logger[_0xa926('0x28')](_0x4eb57e[_0xa926('0x29')]);if(_0x4eb57e[_0xa926('0x2a')]){delete _0x4eb57e[_0xa926('0x2a')];}_0x453c94[_0xa926('0x1c')](_0x3222fa)[_0xa926('0x2b')](_0x4eb57e);};}exports[_0xa926('0x2c')]=function(_0x3f421e,_0x2dcaef){var _0x4a42be={},_0x3df829={},_0xaa9e23={'count':0x0,'rows':[]};var _0xcb8ce8=_[_0xa926('0x2d')](db[_0xa926('0x2e')][_0xa926('0x2f')],function(_0x4aeac2){return{'name':_0x4aeac2[_0xa926('0x30')],'type':_0x4aeac2[_0xa926('0x31')]['key']};});_0x3df829[_0xa926('0x32')]=_[_0xa926('0x2d')](_0xcb8ce8,_0xa926('0x2a'));_0x3df829['query']=_[_0xa926('0x33')](_0x3f421e[_0xa926('0x34')]);_0x3df829[_0xa926('0x35')]=_['intersection'](_0x3df829[_0xa926('0x32')],_0x3df829[_0xa926('0x34')]);_0x4a42be['attributes']=_[_0xa926('0x36')](_0x3df829[_0xa926('0x32')],qs['fields'](_0x3f421e[_0xa926('0x34')][_0xa926('0x37')]));_0x4a42be[_0xa926('0x38')]=_0x4a42be[_0xa926('0x38')][_0xa926('0x39')]?_0x4a42be[_0xa926('0x38')]:_0x3df829[_0xa926('0x32')];if(!_0x3f421e[_0xa926('0x34')][_0xa926('0x3a')](_0xa926('0x3b'))){_0x4a42be[_0xa926('0x20')]=qs[_0xa926('0x20')](_0x3f421e[_0xa926('0x34')][_0xa926('0x20')]);_0x4a42be[_0xa926('0x1e')]=qs[_0xa926('0x1e')](_0x3f421e[_0xa926('0x34')][_0xa926('0x1e')]);}_0x4a42be['order']=qs['sort'](_0x3f421e[_0xa926('0x34')][_0xa926('0x3c')]);_0x4a42be[_0xa926('0x3d')]=qs[_0xa926('0x35')](_[_0xa926('0x3e')](_0x3f421e[_0xa926('0x34')],_0x3df829['filters']),_0xcb8ce8);if(_0x3f421e['query'][_0xa926('0x3f')]){_0x4a42be[_0xa926('0x3d')]=_['merge'](_0x4a42be['where'],{'$or':_[_0xa926('0x2d')](_0xcb8ce8,function(_0x1227c2){if(_0x1227c2['type']!==_0xa926('0x40')){var _0x100afb={};_0x100afb[_0x1227c2['name']]={'$like':'%'+_0x3f421e[_0xa926('0x34')][_0xa926('0x3f')]+'%'};return _0x100afb;}})});}_0x4a42be=_['merge']({},_0x4a42be,_0x3f421e['options']);var _0x2d0b3a={'where':_0x4a42be[_0xa926('0x3d')]};return db[_0xa926('0x2e')][_0xa926('0x21')](_0x2d0b3a)[_0xa926('0x27')](function(_0x55aa3d){_0xaa9e23[_0xa926('0x21')]=_0x55aa3d;if(_0x3f421e[_0xa926('0x34')][_0xa926('0x41')]){_0x4a42be[_0xa926('0x42')]=[{'all':!![]}];}return db[_0xa926('0x2e')][_0xa926('0x43')](_0x4a42be);})[_0xa926('0x27')](function(_0x4672da){_0xaa9e23[_0xa926('0x44')]=_0x4672da;return _0xaa9e23;})['then'](respondWithFilteredResult(_0x2dcaef,_0x4a42be))[_0xa926('0x45')](handleError(_0x2dcaef,null));};exports['show']=function(_0x33276f,_0x5626b8){var _0x1b50df={'raw':!![],'where':{'id':_0x33276f[_0xa926('0x46')]['id']}},_0x1a67b9={};_0x1a67b9[_0xa926('0x32')]=_['keys'](db[_0xa926('0x2e')][_0xa926('0x2f')]);_0x1a67b9[_0xa926('0x34')]=_[_0xa926('0x33')](_0x33276f[_0xa926('0x34')]);_0x1a67b9[_0xa926('0x35')]=_['intersection'](_0x1a67b9['model'],_0x1a67b9['query']);_0x1b50df[_0xa926('0x38')]=_['intersection'](_0x1a67b9[_0xa926('0x32')],qs[_0xa926('0x37')](_0x33276f[_0xa926('0x34')][_0xa926('0x37')]));_0x1b50df[_0xa926('0x38')]=_0x1b50df['attributes']['length']?_0x1b50df['attributes']:_0x1a67b9[_0xa926('0x32')];if(_0x33276f[_0xa926('0x34')][_0xa926('0x41')]){_0x1b50df[_0xa926('0x42')]=[{'all':!![]}];}_0x1b50df=_['merge']({},_0x1b50df,_0x33276f[_0xa926('0x47')]);return db[_0xa926('0x2e')][_0xa926('0x48')](_0x1b50df)[_0xa926('0x27')](handleEntityNotFound(_0x5626b8,null))['then'](respondWithResult(_0x5626b8,null))[_0xa926('0x45')](handleError(_0x5626b8,null));};exports[_0xa926('0x49')]=function(_0x419011,_0x4520ff){return db[_0xa926('0x2e')]['create'](_0x419011[_0xa926('0x4a')],{})[_0xa926('0x27')](respondWithResult(_0x4520ff,0xc9))[_0xa926('0x45')](handleError(_0x4520ff,null));};exports[_0xa926('0x25')]=function(_0xcdc645,_0xca8b3d){if(_0xcdc645[_0xa926('0x4a')]['id']){delete _0xcdc645['body']['id'];}return db[_0xa926('0x2e')]['find']({'where':{'id':_0xcdc645[_0xa926('0x46')]['id']}})[_0xa926('0x27')](handleEntityNotFound(_0xca8b3d,null))[_0xa926('0x27')](saveUpdates(_0xcdc645[_0xa926('0x4a')],null))[_0xa926('0x27')](respondWithResult(_0xca8b3d,null))[_0xa926('0x45')](handleError(_0xca8b3d,null));};exports[_0xa926('0x26')]=function(_0x1542d6,_0x5d3048){return db['Attachment'][_0xa926('0x43')]({'where':{'ChatOfflineMessageId':_0x1542d6[_0xa926('0x46')]['id']},'raw':!![]})[_0xa926('0x27')](function(_0x230085){_0x230085['forEach'](function(_0x2d079c){var _0x514caf=path[_0xa926('0x4b')](config[_0xa926('0x4c')],_0xa926('0x4d'),_0xa926('0x4e'),_0xa926('0x4f'),_0xa926('0x50'),_0x2d079c[_0xa926('0x51')]);var _0x46307e=fs['existsSync'](_0x514caf);if(_0x46307e)fs_extra[_0xa926('0x52')](_0x514caf);});})[_0xa926('0x27')](function(){return db['ChatOfflineMessage']['find']({'where':{'id':_0x1542d6[_0xa926('0x46')]['id']},'individualHooks':!![]});})[_0xa926('0x27')](handleEntityNotFound(_0x5d3048,null))[_0xa926('0x27')](removeEntity(_0x5d3048,null))['catch'](handleError(_0x5d3048,null));};exports[_0xa926('0x53')]=function(_0x2d23a6,_0x19c1e2){return db[_0xa926('0x2e')][_0xa926('0x53')]()['then'](respondWithResult(_0x19c1e2,null))[_0xa926('0x45')](handleError(_0x19c1e2,null));};