f3ccd98665f1754b157b731846d636ab9b48ff6a
[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 _0x272a=['create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','sendStatus','error','stack','name','send','index','fieldName','type','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','filter','options','SquareMessage','include','findAll','rows','catch','show','params','rawAttributes','includeAll','find'];(function(_0x9df060,_0x253d33){var _0x338dfe=function(_0x17d9a5){while(--_0x17d9a5){_0x9df060['push'](_0x9df060['shift']());}};_0x338dfe(++_0x253d33);}(_0x272a,0x132));var _0xa272=function(_0x1ea5a1,_0x490472){_0x1ea5a1=_0x1ea5a1-0x0;var _0xd53a86=_0x272a[_0x1ea5a1];return _0xd53a86;};'use strict';var emlformat=require(_0xa272('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa272('0x1'));var jsonpatch=require(_0xa272('0x2'));var rp=require(_0xa272('0x3'));var moment=require(_0xa272('0x4'));var BPromise=require(_0xa272('0x5'));var Mustache=require(_0xa272('0x6'));var util=require(_0xa272('0x7'));var path=require(_0xa272('0x8'));var sox=require(_0xa272('0x9'));var csv=require(_0xa272('0xa'));var ejs=require(_0xa272('0xb'));var fs=require('fs');var fs_extra=require(_0xa272('0xc'));var _=require(_0xa272('0xd'));var squel=require(_0xa272('0xe'));var crypto=require('crypto');var jsforce=require(_0xa272('0xf'));var deskjs=require(_0xa272('0x10'));var toCsv=require(_0xa272('0xa'));var querystring=require('querystring');var Papa=require(_0xa272('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa272('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa272('0x13'));var logger=require(_0xa272('0x14'))(_0xa272('0x15'));var utils=require(_0xa272('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xa272('0x17'));var db=require(_0xa272('0x18'))['db'];function respondWithStatusCode(_0x434b34,_0x44f92e){_0x44f92e=_0x44f92e||0xcc;return function(_0x461210){if(_0x461210){return _0x434b34['sendStatus'](_0x44f92e);}return _0x434b34[_0xa272('0x19')](_0x44f92e)[_0xa272('0x1a')]();};}function respondWithResult(_0x5d5ee6,_0x5ef847){_0x5ef847=_0x5ef847||0xc8;return function(_0x131bba){if(_0x131bba){return _0x5d5ee6[_0xa272('0x19')](_0x5ef847)['json'](_0x131bba);}};}function respondWithFilteredResult(_0x38da0d,_0x571c96){return function(_0x658261){if(_0x658261){var _0x4ddee6=typeof _0x571c96[_0xa272('0x1b')]===_0xa272('0x1c')&&typeof _0x571c96[_0xa272('0x1d')]===_0xa272('0x1c');var _0x34171e=_0x658261[_0xa272('0x1e')];var _0x8406a3=_0x4ddee6?0x0:_0x571c96[_0xa272('0x1b')];var _0x4cc65d=_0x4ddee6?_0x658261['count']:_0x571c96[_0xa272('0x1b')]+_0x571c96[_0xa272('0x1d')];var _0x4bd420;if(_0x4cc65d>=_0x34171e){_0x4cc65d=_0x34171e;_0x4bd420=0xc8;}else{_0x4bd420=0xce;}_0x38da0d[_0xa272('0x19')](_0x4bd420);return _0x38da0d[_0xa272('0x1f')](_0xa272('0x20'),_0x8406a3+'-'+_0x4cc65d+'/'+_0x34171e)['json'](_0x658261);}return null;};}function patchUpdates(_0x1cccff){return function(_0x19760b){try{jsonpatch[_0xa272('0x21')](_0x19760b,_0x1cccff,!![]);}catch(_0x13eeb7){return BPromise['reject'](_0x13eeb7);}return _0x19760b[_0xa272('0x22')]();};}function saveUpdates(_0x5e67a9,_0x578cb9){return function(_0x489d94){if(_0x489d94){return _0x489d94[_0xa272('0x23')](_0x5e67a9)[_0xa272('0x24')](function(_0xe7b1a5){return _0xe7b1a5;});}return null;};}function removeEntity(_0x173b1c,_0x59ee62){return function(_0x209b8d){if(_0x209b8d){return _0x209b8d[_0xa272('0x25')]()[_0xa272('0x24')](function(){_0x173b1c[_0xa272('0x19')](0xcc)[_0xa272('0x1a')]();});}};}function handleEntityNotFound(_0x3908c2,_0x1992d4){return function(_0x3bd59a){if(!_0x3bd59a){_0x3908c2[_0xa272('0x26')](0x194);}return _0x3bd59a;};}function handleError(_0x58569e,_0x440c59){_0x440c59=_0x440c59||0x1f4;return function(_0x24004b){logger[_0xa272('0x27')](_0x24004b[_0xa272('0x28')]);if(_0x24004b[_0xa272('0x29')]){delete _0x24004b[_0xa272('0x29')];}_0x58569e[_0xa272('0x19')](_0x440c59)[_0xa272('0x2a')](_0x24004b);};}exports[_0xa272('0x2b')]=function(_0x2e8c84,_0x54f19f){var _0x539639={},_0x11daeb={},_0x156125={'count':0x0,'rows':[]};var _0x2485fd=_['map'](db['SquareMessage']['rawAttributes'],function(_0x37d43b){return{'name':_0x37d43b[_0xa272('0x2c')],'type':_0x37d43b[_0xa272('0x2d')]['key']};});_0x11daeb[_0xa272('0x2e')]=_['map'](_0x2485fd,_0xa272('0x29'));_0x11daeb['query']=_[_0xa272('0x2f')](_0x2e8c84['query']);_0x11daeb[_0xa272('0x30')]=_[_0xa272('0x31')](_0x11daeb[_0xa272('0x2e')],_0x11daeb[_0xa272('0x32')]);_0x539639[_0xa272('0x33')]=_[_0xa272('0x31')](_0x11daeb['model'],qs[_0xa272('0x34')](_0x2e8c84[_0xa272('0x32')][_0xa272('0x34')]));_0x539639[_0xa272('0x33')]=_0x539639[_0xa272('0x33')][_0xa272('0x35')]?_0x539639[_0xa272('0x33')]:_0x11daeb['model'];if(!_0x2e8c84[_0xa272('0x32')][_0xa272('0x36')](_0xa272('0x37'))){_0x539639['limit']=qs[_0xa272('0x1d')](_0x2e8c84[_0xa272('0x32')]['limit']);_0x539639[_0xa272('0x1b')]=qs[_0xa272('0x1b')](_0x2e8c84['query'][_0xa272('0x1b')]);}_0x539639[_0xa272('0x38')]=qs['sort'](_0x2e8c84[_0xa272('0x32')][_0xa272('0x39')]);_0x539639[_0xa272('0x3a')]=qs[_0xa272('0x30')](_[_0xa272('0x3b')](_0x2e8c84[_0xa272('0x32')],_0x11daeb[_0xa272('0x30')]),_0x2485fd);if(_0x2e8c84[_0xa272('0x32')]['filter']){_0x539639[_0xa272('0x3a')]=_[_0xa272('0x3c')](_0x539639[_0xa272('0x3a')],{'$or':_[_0xa272('0x3d')](_0x2485fd,function(_0x1bc070){if(_0x1bc070[_0xa272('0x2d')]!=='VIRTUAL'){var _0x3d1b72={};_0x3d1b72[_0x1bc070[_0xa272('0x29')]]={'$like':'%'+_0x2e8c84[_0xa272('0x32')][_0xa272('0x3e')]+'%'};return _0x3d1b72;}})});}_0x539639=_[_0xa272('0x3c')]({},_0x539639,_0x2e8c84[_0xa272('0x3f')]);var _0x297625={'where':_0x539639['where']};return db[_0xa272('0x40')][_0xa272('0x1e')](_0x297625)[_0xa272('0x24')](function(_0x4bfab4){_0x156125[_0xa272('0x1e')]=_0x4bfab4;if(_0x2e8c84[_0xa272('0x32')]['includeAll']){_0x539639[_0xa272('0x41')]=[{'all':!![]}];}return db[_0xa272('0x40')][_0xa272('0x42')](_0x539639);})[_0xa272('0x24')](function(_0x40865d){_0x156125[_0xa272('0x43')]=_0x40865d;return _0x156125;})['then'](respondWithFilteredResult(_0x54f19f,_0x539639))[_0xa272('0x44')](handleError(_0x54f19f,null));};exports[_0xa272('0x45')]=function(_0x3a8320,_0x2570fe){var _0x203071={'raw':!![],'where':{'id':_0x3a8320[_0xa272('0x46')]['id']}},_0x59f073={};_0x59f073[_0xa272('0x2e')]=_[_0xa272('0x2f')](db[_0xa272('0x40')][_0xa272('0x47')]);_0x59f073[_0xa272('0x32')]=_[_0xa272('0x2f')](_0x3a8320['query']);_0x59f073['filters']=_[_0xa272('0x31')](_0x59f073[_0xa272('0x2e')],_0x59f073[_0xa272('0x32')]);_0x203071[_0xa272('0x33')]=_[_0xa272('0x31')](_0x59f073[_0xa272('0x2e')],qs['fields'](_0x3a8320[_0xa272('0x32')]['fields']));_0x203071['attributes']=_0x203071[_0xa272('0x33')]['length']?_0x203071[_0xa272('0x33')]:_0x59f073[_0xa272('0x2e')];if(_0x3a8320[_0xa272('0x32')][_0xa272('0x48')]){_0x203071['include']=[{'all':!![]}];}_0x203071=_['merge']({},_0x203071,_0x3a8320['options']);return db[_0xa272('0x40')][_0xa272('0x49')](_0x203071)[_0xa272('0x24')](handleEntityNotFound(_0x2570fe,null))[_0xa272('0x24')](respondWithResult(_0x2570fe,null))[_0xa272('0x44')](handleError(_0x2570fe,null));};exports[_0xa272('0x4a')]=function(_0x36fff9,_0xa3689a){return db[_0xa272('0x40')]['create'](_0x36fff9[_0xa272('0x4b')],{})[_0xa272('0x24')](respondWithResult(_0xa3689a,0xc9))[_0xa272('0x44')](handleError(_0xa3689a,null));};exports[_0xa272('0x23')]=function(_0x383f6e,_0x56d917){if(_0x383f6e[_0xa272('0x4b')]['id']){delete _0x383f6e[_0xa272('0x4b')]['id'];}return db[_0xa272('0x40')][_0xa272('0x49')]({'where':{'id':_0x383f6e[_0xa272('0x46')]['id']}})[_0xa272('0x24')](handleEntityNotFound(_0x56d917,null))[_0xa272('0x24')](saveUpdates(_0x383f6e[_0xa272('0x4b')],null))[_0xa272('0x24')](respondWithResult(_0x56d917,null))['catch'](handleError(_0x56d917,null));};exports['destroy']=function(_0x48fbc7,_0x2534f7){return db[_0xa272('0x40')][_0xa272('0x49')]({'where':{'id':_0x48fbc7['params']['id']}})[_0xa272('0x24')](handleEntityNotFound(_0x2534f7,null))[_0xa272('0x24')](removeEntity(_0x2534f7,null))[_0xa272('0x44')](handleError(_0x2534f7,null));};