Built motion from commit 47436d59.|2.6.7
[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 _0xd027=['update','then','destroy','error','stack','name','send','SquareMessage','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','sort','pick','filter','where','merge','map','VIRTUAL','includeAll','include','findAll','params','rawAttributes','length','options','find','create','body','catch','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','apply','reject','save'];(function(_0x43dc7e,_0xd0c60b){var _0x556e98=function(_0x5daf19){while(--_0x5daf19){_0x43dc7e['push'](_0x43dc7e['shift']());}};_0x556e98(++_0xd0c60b);}(_0xd027,0x197));var _0x7d02=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd027[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7d02('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x7d02('0x1'));var moment=require(_0x7d02('0x2'));var BPromise=require(_0x7d02('0x3'));var Mustache=require(_0x7d02('0x4'));var util=require(_0x7d02('0x5'));var path=require(_0x7d02('0x6'));var sox=require(_0x7d02('0x7'));var csv=require(_0x7d02('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7d02('0x9'));var _=require(_0x7d02('0xa'));var squel=require(_0x7d02('0xb'));var crypto=require(_0x7d02('0xc'));var jsforce=require(_0x7d02('0xd'));var deskjs=require(_0x7d02('0xe'));var toCsv=require(_0x7d02('0x8'));var querystring=require(_0x7d02('0xf'));var Papa=require(_0x7d02('0x10'));var Redis=require(_0x7d02('0x11'));var authService=require(_0x7d02('0x12'));var qs=require(_0x7d02('0x13'));var as=require(_0x7d02('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7d02('0x15'))(_0x7d02('0x16'));var utils=require('../../config/utils');var config=require(_0x7d02('0x17'));var licenseUtil=require(_0x7d02('0x18'));var db=require(_0x7d02('0x19'))['db'];function respondWithStatusCode(_0x32ad15,_0x533045){_0x533045=_0x533045||0xcc;return function(_0x3ef85f){if(_0x3ef85f){return _0x32ad15['sendStatus'](_0x533045);}return _0x32ad15[_0x7d02('0x1a')](_0x533045)[_0x7d02('0x1b')]();};}function respondWithResult(_0x5351aa,_0x1cab87){_0x1cab87=_0x1cab87||0xc8;return function(_0x416849){if(_0x416849){return _0x5351aa['status'](_0x1cab87)[_0x7d02('0x1c')](_0x416849);}};}function respondWithFilteredResult(_0x398913,_0x93c887){return function(_0x53ba2a){if(_0x53ba2a){var _0xec4879=typeof _0x93c887[_0x7d02('0x1d')]===_0x7d02('0x1e')&&typeof _0x93c887[_0x7d02('0x1f')]===_0x7d02('0x1e');var _0x3d1735=_0x53ba2a[_0x7d02('0x20')];var _0x3024d2=_0xec4879?0x0:_0x93c887[_0x7d02('0x1d')];var _0xe0f2f3=_0xec4879?_0x53ba2a[_0x7d02('0x20')]:_0x93c887[_0x7d02('0x1d')]+_0x93c887[_0x7d02('0x1f')];var _0x209421;if(_0xe0f2f3>=_0x3d1735){_0xe0f2f3=_0x3d1735;_0x209421=0xc8;}else{_0x209421=0xce;}_0x398913[_0x7d02('0x1a')](_0x209421);return _0x398913[_0x7d02('0x21')]('Content-Range',_0x3024d2+'-'+_0xe0f2f3+'/'+_0x3d1735)[_0x7d02('0x1c')](_0x53ba2a);}return null;};}function patchUpdates(_0x152291){return function(_0x422024){try{jsonpatch[_0x7d02('0x22')](_0x422024,_0x152291,!![]);}catch(_0x3f687b){return BPromise[_0x7d02('0x23')](_0x3f687b);}return _0x422024[_0x7d02('0x24')]();};}function saveUpdates(_0x5a8d0e,_0x163bbc){return function(_0x14212d){if(_0x14212d){return _0x14212d[_0x7d02('0x25')](_0x5a8d0e)[_0x7d02('0x26')](function(_0x102631){return _0x102631;});}return null;};}function removeEntity(_0xfc7e99,_0x8f4e38){return function(_0x241303){if(_0x241303){return _0x241303[_0x7d02('0x27')]()[_0x7d02('0x26')](function(){_0xfc7e99[_0x7d02('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x26630f,_0x1f87a0){return function(_0xe81f55){if(!_0xe81f55){_0x26630f['sendStatus'](0x194);}return _0xe81f55;};}function handleError(_0x56572a,_0x341d94){_0x341d94=_0x341d94||0x1f4;return function(_0x18fa77){logger[_0x7d02('0x28')](_0x18fa77[_0x7d02('0x29')]);if(_0x18fa77[_0x7d02('0x2a')]){delete _0x18fa77[_0x7d02('0x2a')];}_0x56572a[_0x7d02('0x1a')](_0x341d94)[_0x7d02('0x2b')](_0x18fa77);};}exports['index']=function(_0x5b94c8,_0x4ae0c9){var _0x16f1da={},_0x7d4706={},_0x2d6132={'count':0x0,'rows':[]};var _0x2ab1ae=_['map'](db[_0x7d02('0x2c')]['rawAttributes'],function(_0x4f10e0){return{'name':_0x4f10e0[_0x7d02('0x2d')],'type':_0x4f10e0[_0x7d02('0x2e')][_0x7d02('0x2f')]};});_0x7d4706[_0x7d02('0x30')]=_['map'](_0x2ab1ae,_0x7d02('0x2a'));_0x7d4706[_0x7d02('0x31')]=_[_0x7d02('0x32')](_0x5b94c8['query']);_0x7d4706[_0x7d02('0x33')]=_[_0x7d02('0x34')](_0x7d4706[_0x7d02('0x30')],_0x7d4706[_0x7d02('0x31')]);_0x16f1da[_0x7d02('0x35')]=_[_0x7d02('0x34')](_0x7d4706[_0x7d02('0x30')],qs[_0x7d02('0x36')](_0x5b94c8[_0x7d02('0x31')][_0x7d02('0x36')]));_0x16f1da[_0x7d02('0x35')]=_0x16f1da[_0x7d02('0x35')]['length']?_0x16f1da[_0x7d02('0x35')]:_0x7d4706[_0x7d02('0x30')];if(!_0x5b94c8[_0x7d02('0x31')][_0x7d02('0x37')]('nolimit')){_0x16f1da['limit']=qs[_0x7d02('0x1f')](_0x5b94c8['query']['limit']);_0x16f1da[_0x7d02('0x1d')]=qs['offset'](_0x5b94c8['query'][_0x7d02('0x1d')]);}_0x16f1da['order']=qs[_0x7d02('0x38')](_0x5b94c8['query'][_0x7d02('0x38')]);_0x16f1da['where']=qs[_0x7d02('0x33')](_[_0x7d02('0x39')](_0x5b94c8[_0x7d02('0x31')],_0x7d4706['filters']),_0x2ab1ae);if(_0x5b94c8['query'][_0x7d02('0x3a')]){_0x16f1da[_0x7d02('0x3b')]=_[_0x7d02('0x3c')](_0x16f1da[_0x7d02('0x3b')],{'$or':_[_0x7d02('0x3d')](_0x2ab1ae,function(_0x306a84){if(_0x306a84[_0x7d02('0x2e')]!==_0x7d02('0x3e')){var _0x148fb3={};_0x148fb3[_0x306a84[_0x7d02('0x2a')]]={'$like':'%'+_0x5b94c8[_0x7d02('0x31')]['filter']+'%'};return _0x148fb3;}})});}_0x16f1da=_['merge']({},_0x16f1da,_0x5b94c8['options']);var _0x1eb42b={'where':_0x16f1da[_0x7d02('0x3b')]};return db[_0x7d02('0x2c')][_0x7d02('0x20')](_0x1eb42b)[_0x7d02('0x26')](function(_0x2bca84){_0x2d6132[_0x7d02('0x20')]=_0x2bca84;if(_0x5b94c8[_0x7d02('0x31')][_0x7d02('0x3f')]){_0x16f1da[_0x7d02('0x40')]=[{'all':!![]}];}return db[_0x7d02('0x2c')][_0x7d02('0x41')](_0x16f1da);})[_0x7d02('0x26')](function(_0x4fb1cf){_0x2d6132['rows']=_0x4fb1cf;return _0x2d6132;})[_0x7d02('0x26')](respondWithFilteredResult(_0x4ae0c9,_0x16f1da))['catch'](handleError(_0x4ae0c9,null));};exports['show']=function(_0x3e048d,_0x143f8f){var _0x375833={'raw':!![],'where':{'id':_0x3e048d[_0x7d02('0x42')]['id']}},_0x1ebdda={};_0x1ebdda[_0x7d02('0x30')]=_[_0x7d02('0x32')](db['SquareMessage'][_0x7d02('0x43')]);_0x1ebdda[_0x7d02('0x31')]=_['keys'](_0x3e048d[_0x7d02('0x31')]);_0x1ebdda['filters']=_['intersection'](_0x1ebdda[_0x7d02('0x30')],_0x1ebdda[_0x7d02('0x31')]);_0x375833[_0x7d02('0x35')]=_[_0x7d02('0x34')](_0x1ebdda[_0x7d02('0x30')],qs[_0x7d02('0x36')](_0x3e048d[_0x7d02('0x31')]['fields']));_0x375833[_0x7d02('0x35')]=_0x375833[_0x7d02('0x35')][_0x7d02('0x44')]?_0x375833[_0x7d02('0x35')]:_0x1ebdda[_0x7d02('0x30')];if(_0x3e048d['query']['includeAll']){_0x375833[_0x7d02('0x40')]=[{'all':!![]}];}_0x375833=_[_0x7d02('0x3c')]({},_0x375833,_0x3e048d[_0x7d02('0x45')]);return db[_0x7d02('0x2c')][_0x7d02('0x46')](_0x375833)['then'](handleEntityNotFound(_0x143f8f,null))[_0x7d02('0x26')](respondWithResult(_0x143f8f,null))['catch'](handleError(_0x143f8f,null));};exports[_0x7d02('0x47')]=function(_0x368f3f,_0x7c9623){return db[_0x7d02('0x2c')][_0x7d02('0x47')](_0x368f3f[_0x7d02('0x48')],{})[_0x7d02('0x26')](respondWithResult(_0x7c9623,0xc9))[_0x7d02('0x49')](handleError(_0x7c9623,null));};exports[_0x7d02('0x25')]=function(_0x55ddc8,_0x5283eb){if(_0x55ddc8[_0x7d02('0x48')]['id']){delete _0x55ddc8[_0x7d02('0x48')]['id'];}return db[_0x7d02('0x2c')]['find']({'where':{'id':_0x55ddc8[_0x7d02('0x42')]['id']}})[_0x7d02('0x26')](handleEntityNotFound(_0x5283eb,null))['then'](saveUpdates(_0x55ddc8[_0x7d02('0x48')],null))[_0x7d02('0x26')](respondWithResult(_0x5283eb,null))['catch'](handleError(_0x5283eb,null));};exports[_0x7d02('0x27')]=function(_0x17ec2b,_0x1696f7){return db[_0x7d02('0x2c')][_0x7d02('0x46')]({'where':{'id':_0x17ec2b[_0x7d02('0x42')]['id']}})['then'](handleEntityNotFound(_0x1696f7,null))['then'](removeEntity(_0x1696f7,null))['catch'](handleError(_0x1696f7,null));};