dc666f62bb0fe4143957a2bafe997925553f552d
[motion2.git] / server / api / squareMessage / squareMessage.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 _0xd2f3=['map','SquareMessage','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','merge','options','findAll','catch','params','includeAll','include','create','body','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','fs-extra','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','sendStatus','error','stack','name','send','index'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xd2f3,0x169));var _0x3d2f=function(_0x53ac06,_0x42c4e0){_0x53ac06=_0x53ac06-0x0;var _0x32fd3c=_0xd2f3[_0x53ac06];return _0x32fd3c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3d2f('0x0'));var zipdir=require(_0x3d2f('0x1'));var jsonpatch=require(_0x3d2f('0x2'));var rp=require('request-promise');var moment=require(_0x3d2f('0x3'));var BPromise=require(_0x3d2f('0x4'));var Mustache=require(_0x3d2f('0x5'));var util=require(_0x3d2f('0x6'));var path=require('path');var sox=require(_0x3d2f('0x7'));var csv=require(_0x3d2f('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3d2f('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3d2f('0x8'));var querystring=require(_0x3d2f('0xa'));var Papa=require('papaparse');var Redis=require(_0x3d2f('0xb'));var authService=require(_0x3d2f('0xc'));var qs=require(_0x3d2f('0xd'));var as=require(_0x3d2f('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3d2f('0xf'))(_0x3d2f('0x10'));var utils=require(_0x3d2f('0x11'));var config=require(_0x3d2f('0x12'));var licenseUtil=require(_0x3d2f('0x13'));var db=require(_0x3d2f('0x14'))['db'];function respondWithStatusCode(_0x4c284d,_0x220f37){_0x220f37=_0x220f37||0xcc;return function(_0x1ae241){if(_0x1ae241){return _0x4c284d['sendStatus'](_0x220f37);}return _0x4c284d[_0x3d2f('0x15')](_0x220f37)[_0x3d2f('0x16')]();};}function respondWithResult(_0x3372ba,_0x334dee){_0x334dee=_0x334dee||0xc8;return function(_0x35ac64){if(_0x35ac64){return _0x3372ba[_0x3d2f('0x15')](_0x334dee)[_0x3d2f('0x17')](_0x35ac64);}};}function respondWithFilteredResult(_0x4fb426,_0x541dfb){return function(_0x3cce6f){if(_0x3cce6f){var _0x3df64e=typeof _0x541dfb[_0x3d2f('0x18')]===_0x3d2f('0x19')&&typeof _0x541dfb[_0x3d2f('0x1a')]===_0x3d2f('0x19');var _0x62f63e=_0x3cce6f[_0x3d2f('0x1b')];var _0x3e8193=_0x3df64e?0x0:_0x541dfb['offset'];var _0x1feee9=_0x3df64e?_0x3cce6f['count']:_0x541dfb[_0x3d2f('0x18')]+_0x541dfb['limit'];var _0x30185c;if(_0x1feee9>=_0x62f63e){_0x1feee9=_0x62f63e;_0x30185c=0xc8;}else{_0x30185c=0xce;}_0x4fb426['status'](_0x30185c);return _0x4fb426[_0x3d2f('0x1c')](_0x3d2f('0x1d'),_0x3e8193+'-'+_0x1feee9+'/'+_0x62f63e)[_0x3d2f('0x17')](_0x3cce6f);}return null;};}function patchUpdates(_0x434cf2){return function(_0x2bf633){try{jsonpatch[_0x3d2f('0x1e')](_0x2bf633,_0x434cf2,!![]);}catch(_0x2fb332){return BPromise['reject'](_0x2fb332);}return _0x2bf633[_0x3d2f('0x1f')]();};}function saveUpdates(_0x5abf9c,_0x4a3f78){return function(_0x5d8282){if(_0x5d8282){return _0x5d8282[_0x3d2f('0x20')](_0x5abf9c)[_0x3d2f('0x21')](function(_0x54fefb){return _0x54fefb;});}return null;};}function removeEntity(_0x36c4af,_0x30214f){return function(_0x3c79e4){if(_0x3c79e4){return _0x3c79e4[_0x3d2f('0x22')]()[_0x3d2f('0x21')](function(){_0x36c4af[_0x3d2f('0x15')](0xcc)[_0x3d2f('0x16')]();});}};}function handleEntityNotFound(_0x480e72,_0x36b5d5){return function(_0x29de79){if(!_0x29de79){_0x480e72[_0x3d2f('0x23')](0x194);}return _0x29de79;};}function handleError(_0x95bc7a,_0x3bd1e2){_0x3bd1e2=_0x3bd1e2||0x1f4;return function(_0x31ba50){logger[_0x3d2f('0x24')](_0x31ba50[_0x3d2f('0x25')]);if(_0x31ba50[_0x3d2f('0x26')]){delete _0x31ba50['name'];}_0x95bc7a['status'](_0x3bd1e2)[_0x3d2f('0x27')](_0x31ba50);};}exports[_0x3d2f('0x28')]=function(_0x32379d,_0x33d170){var _0x5784a4={},_0x494e3a={},_0x5e8c0f={'count':0x0,'rows':[]};var _0x500689=_[_0x3d2f('0x29')](db[_0x3d2f('0x2a')][_0x3d2f('0x2b')],function(_0x4ad34f){return{'name':_0x4ad34f['fieldName'],'type':_0x4ad34f[_0x3d2f('0x2c')][_0x3d2f('0x2d')]};});_0x494e3a[_0x3d2f('0x2e')]=_[_0x3d2f('0x29')](_0x500689,'name');_0x494e3a[_0x3d2f('0x2f')]=_[_0x3d2f('0x30')](_0x32379d[_0x3d2f('0x2f')]);_0x494e3a[_0x3d2f('0x31')]=_[_0x3d2f('0x32')](_0x494e3a[_0x3d2f('0x2e')],_0x494e3a[_0x3d2f('0x2f')]);_0x5784a4[_0x3d2f('0x33')]=_[_0x3d2f('0x32')](_0x494e3a[_0x3d2f('0x2e')],qs[_0x3d2f('0x34')](_0x32379d[_0x3d2f('0x2f')][_0x3d2f('0x34')]));_0x5784a4['attributes']=_0x5784a4[_0x3d2f('0x33')][_0x3d2f('0x35')]?_0x5784a4[_0x3d2f('0x33')]:_0x494e3a[_0x3d2f('0x2e')];if(!_0x32379d[_0x3d2f('0x2f')][_0x3d2f('0x36')]('nolimit')){_0x5784a4[_0x3d2f('0x1a')]=qs['limit'](_0x32379d[_0x3d2f('0x2f')]['limit']);_0x5784a4[_0x3d2f('0x18')]=qs[_0x3d2f('0x18')](_0x32379d[_0x3d2f('0x2f')][_0x3d2f('0x18')]);}_0x5784a4[_0x3d2f('0x37')]=qs[_0x3d2f('0x38')](_0x32379d['query'][_0x3d2f('0x38')]);_0x5784a4[_0x3d2f('0x39')]=qs['filters'](_['pick'](_0x32379d['query'],_0x494e3a[_0x3d2f('0x31')]),_0x500689);if(_0x32379d[_0x3d2f('0x2f')]['filter']){_0x5784a4[_0x3d2f('0x39')]=_['merge'](_0x5784a4[_0x3d2f('0x39')],{'$or':_[_0x3d2f('0x29')](_0x500689,function(_0x11965a){if(_0x11965a[_0x3d2f('0x2c')]!=='VIRTUAL'){var _0x3d4c69={};_0x3d4c69[_0x11965a[_0x3d2f('0x26')]]={'$like':'%'+_0x32379d[_0x3d2f('0x2f')]['filter']+'%'};return _0x3d4c69;}})});}_0x5784a4=_[_0x3d2f('0x3a')]({},_0x5784a4,_0x32379d[_0x3d2f('0x3b')]);var _0x5e2aa0={'where':_0x5784a4[_0x3d2f('0x39')]};return db[_0x3d2f('0x2a')][_0x3d2f('0x1b')](_0x5e2aa0)[_0x3d2f('0x21')](function(_0x161f16){_0x5e8c0f[_0x3d2f('0x1b')]=_0x161f16;if(_0x32379d[_0x3d2f('0x2f')]['includeAll']){_0x5784a4['include']=[{'all':!![]}];}return db[_0x3d2f('0x2a')][_0x3d2f('0x3c')](_0x5784a4);})[_0x3d2f('0x21')](function(_0x31d921){_0x5e8c0f['rows']=_0x31d921;return _0x5e8c0f;})[_0x3d2f('0x21')](respondWithFilteredResult(_0x33d170,_0x5784a4))[_0x3d2f('0x3d')](handleError(_0x33d170,null));};exports['show']=function(_0x435a64,_0x47e1d9){var _0x2eb3b3={'raw':!![],'where':{'id':_0x435a64[_0x3d2f('0x3e')]['id']}},_0x62987b={};_0x62987b[_0x3d2f('0x2e')]=_[_0x3d2f('0x30')](db[_0x3d2f('0x2a')]['rawAttributes']);_0x62987b[_0x3d2f('0x2f')]=_[_0x3d2f('0x30')](_0x435a64[_0x3d2f('0x2f')]);_0x62987b['filters']=_[_0x3d2f('0x32')](_0x62987b[_0x3d2f('0x2e')],_0x62987b['query']);_0x2eb3b3['attributes']=_['intersection'](_0x62987b['model'],qs[_0x3d2f('0x34')](_0x435a64['query']['fields']));_0x2eb3b3['attributes']=_0x2eb3b3[_0x3d2f('0x33')][_0x3d2f('0x35')]?_0x2eb3b3['attributes']:_0x62987b['model'];if(_0x435a64['query'][_0x3d2f('0x3f')]){_0x2eb3b3[_0x3d2f('0x40')]=[{'all':!![]}];}_0x2eb3b3=_[_0x3d2f('0x3a')]({},_0x2eb3b3,_0x435a64[_0x3d2f('0x3b')]);return db[_0x3d2f('0x2a')]['find'](_0x2eb3b3)[_0x3d2f('0x21')](handleEntityNotFound(_0x47e1d9,null))['then'](respondWithResult(_0x47e1d9,null))['catch'](handleError(_0x47e1d9,null));};exports[_0x3d2f('0x41')]=function(_0x56e33f,_0x241fbe){return db['SquareMessage'][_0x3d2f('0x41')](_0x56e33f[_0x3d2f('0x42')],{})[_0x3d2f('0x21')](respondWithResult(_0x241fbe,0xc9))[_0x3d2f('0x3d')](handleError(_0x241fbe,null));};exports['update']=function(_0x2ffe85,_0x1befdf){if(_0x2ffe85[_0x3d2f('0x42')]['id']){delete _0x2ffe85[_0x3d2f('0x42')]['id'];}return db[_0x3d2f('0x2a')]['find']({'where':{'id':_0x2ffe85[_0x3d2f('0x3e')]['id']}})[_0x3d2f('0x21')](handleEntityNotFound(_0x1befdf,null))[_0x3d2f('0x21')](saveUpdates(_0x2ffe85[_0x3d2f('0x42')],null))[_0x3d2f('0x21')](respondWithResult(_0x1befdf,null))[_0x3d2f('0x3d')](handleError(_0x1befdf,null));};exports[_0x3d2f('0x22')]=function(_0x498243,_0x3520e1){return db[_0x3d2f('0x2a')]['find']({'where':{'id':_0x498243[_0x3d2f('0x3e')]['id']}})['then'](handleEntityNotFound(_0x3520e1,null))[_0x3d2f('0x21')](removeEntity(_0x3520e1,null))['catch'](handleError(_0x3520e1,null));};