f4278f21be67eb7ca1d99a3cbff3432708aeaa10
[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 _0x94e6=['limit','Content-Range','reject','save','update','then','sendStatus','error','name','send','index','map','rawAttributes','type','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','params','SquareMessage','find','create','body','destroy','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','fs-extra','lodash','squel','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count'];(function(_0x18f804,_0xded1a6){var _0x129c67=function(_0x4b6855){while(--_0x4b6855){_0x18f804['push'](_0x18f804['shift']());}};_0x129c67(++_0xded1a6);}(_0x94e6,0x194));var _0x694e=function(_0xd08cd4,_0x5825d8){_0xd08cd4=_0xd08cd4-0x0;var _0x2f58b9=_0x94e6[_0xd08cd4];return _0x2f58b9;};'use strict';var emlformat=require(_0x694e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x694e('0x1'));var jsonpatch=require(_0x694e('0x2'));var rp=require(_0x694e('0x3'));var moment=require(_0x694e('0x4'));var BPromise=require(_0x694e('0x5'));var Mustache=require(_0x694e('0x6'));var util=require('util');var path=require(_0x694e('0x7'));var sox=require(_0x694e('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x694e('0x9'));var _=require(_0x694e('0xa'));var squel=require(_0x694e('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x694e('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x694e('0xd'));var authService=require(_0x694e('0xe'));var qs=require(_0x694e('0xf'));var as=require(_0x694e('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x694e('0x11'))(_0x694e('0x12'));var utils=require('../../config/utils');var config=require(_0x694e('0x13'));var licenseUtil=require(_0x694e('0x14'));var db=require(_0x694e('0x15'))['db'];function respondWithStatusCode(_0x184613,_0x5c0035){_0x5c0035=_0x5c0035||0xcc;return function(_0x32ce10){if(_0x32ce10){return _0x184613['sendStatus'](_0x5c0035);}return _0x184613[_0x694e('0x16')](_0x5c0035)[_0x694e('0x17')]();};}function respondWithResult(_0x2c7eec,_0x3a4a60){_0x3a4a60=_0x3a4a60||0xc8;return function(_0x1532f6){if(_0x1532f6){return _0x2c7eec[_0x694e('0x16')](_0x3a4a60)[_0x694e('0x18')](_0x1532f6);}};}function respondWithFilteredResult(_0x21b683,_0x42d3f6){return function(_0x1f4df1){if(_0x1f4df1){var _0x327f83=typeof _0x42d3f6[_0x694e('0x19')]===_0x694e('0x1a')&&typeof _0x42d3f6['limit']===_0x694e('0x1a');var _0x414a6c=_0x1f4df1[_0x694e('0x1b')];var _0x38966f=_0x327f83?0x0:_0x42d3f6[_0x694e('0x19')];var _0x3cd7b9=_0x327f83?_0x1f4df1[_0x694e('0x1b')]:_0x42d3f6[_0x694e('0x19')]+_0x42d3f6[_0x694e('0x1c')];var _0x42a46c;if(_0x3cd7b9>=_0x414a6c){_0x3cd7b9=_0x414a6c;_0x42a46c=0xc8;}else{_0x42a46c=0xce;}_0x21b683[_0x694e('0x16')](_0x42a46c);return _0x21b683['set'](_0x694e('0x1d'),_0x38966f+'-'+_0x3cd7b9+'/'+_0x414a6c)['json'](_0x1f4df1);}return null;};}function patchUpdates(_0x29601b){return function(_0x46868d){try{jsonpatch['apply'](_0x46868d,_0x29601b,!![]);}catch(_0x3982d5){return BPromise[_0x694e('0x1e')](_0x3982d5);}return _0x46868d[_0x694e('0x1f')]();};}function saveUpdates(_0x469a7a,_0x22d614){return function(_0x308e24){if(_0x308e24){return _0x308e24[_0x694e('0x20')](_0x469a7a)[_0x694e('0x21')](function(_0x562ef3){return _0x562ef3;});}return null;};}function removeEntity(_0x40b126,_0x415eb0){return function(_0x508b9b){if(_0x508b9b){return _0x508b9b['destroy']()[_0x694e('0x21')](function(){_0x40b126[_0x694e('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1e8647,_0x2f6984){return function(_0x389a5a){if(!_0x389a5a){_0x1e8647[_0x694e('0x22')](0x194);}return _0x389a5a;};}function handleError(_0x1085ac,_0x154305){_0x154305=_0x154305||0x1f4;return function(_0x442eef){logger[_0x694e('0x23')](_0x442eef['stack']);if(_0x442eef[_0x694e('0x24')]){delete _0x442eef[_0x694e('0x24')];}_0x1085ac[_0x694e('0x16')](_0x154305)[_0x694e('0x25')](_0x442eef);};}exports[_0x694e('0x26')]=function(_0x3fe22a,_0x482209){var _0x3d8a5b={},_0x50bdf2={},_0x2167c5={'count':0x0,'rows':[]};var _0x1134cd=_[_0x694e('0x27')](db['SquareMessage'][_0x694e('0x28')],function(_0x5a59cf){return{'name':_0x5a59cf['fieldName'],'type':_0x5a59cf[_0x694e('0x29')][_0x694e('0x2a')]};});_0x50bdf2[_0x694e('0x2b')]=_['map'](_0x1134cd,_0x694e('0x24'));_0x50bdf2['query']=_[_0x694e('0x2c')](_0x3fe22a[_0x694e('0x2d')]);_0x50bdf2['filters']=_[_0x694e('0x2e')](_0x50bdf2[_0x694e('0x2b')],_0x50bdf2[_0x694e('0x2d')]);_0x3d8a5b[_0x694e('0x2f')]=_['intersection'](_0x50bdf2[_0x694e('0x2b')],qs['fields'](_0x3fe22a[_0x694e('0x2d')][_0x694e('0x30')]));_0x3d8a5b[_0x694e('0x2f')]=_0x3d8a5b['attributes'][_0x694e('0x31')]?_0x3d8a5b[_0x694e('0x2f')]:_0x50bdf2[_0x694e('0x2b')];if(!_0x3fe22a[_0x694e('0x2d')][_0x694e('0x32')](_0x694e('0x33'))){_0x3d8a5b[_0x694e('0x1c')]=qs[_0x694e('0x1c')](_0x3fe22a['query'][_0x694e('0x1c')]);_0x3d8a5b[_0x694e('0x19')]=qs[_0x694e('0x19')](_0x3fe22a[_0x694e('0x2d')]['offset']);}_0x3d8a5b[_0x694e('0x34')]=qs[_0x694e('0x35')](_0x3fe22a[_0x694e('0x2d')][_0x694e('0x35')]);_0x3d8a5b[_0x694e('0x36')]=qs[_0x694e('0x37')](_[_0x694e('0x38')](_0x3fe22a[_0x694e('0x2d')],_0x50bdf2[_0x694e('0x37')]),_0x1134cd);if(_0x3fe22a['query']['filter']){_0x3d8a5b[_0x694e('0x36')]=_[_0x694e('0x39')](_0x3d8a5b[_0x694e('0x36')],{'$or':_[_0x694e('0x27')](_0x1134cd,function(_0xd80554){if(_0xd80554['type']!==_0x694e('0x3a')){var _0x474971={};_0x474971[_0xd80554[_0x694e('0x24')]]={'$like':'%'+_0x3fe22a[_0x694e('0x2d')][_0x694e('0x3b')]+'%'};return _0x474971;}})});}_0x3d8a5b=_[_0x694e('0x39')]({},_0x3d8a5b,_0x3fe22a[_0x694e('0x3c')]);var _0x196c9a={'where':_0x3d8a5b[_0x694e('0x36')]};return db['SquareMessage'][_0x694e('0x1b')](_0x196c9a)['then'](function(_0x443cdd){_0x2167c5['count']=_0x443cdd;if(_0x3fe22a[_0x694e('0x2d')][_0x694e('0x3d')]){_0x3d8a5b[_0x694e('0x3e')]=[{'all':!![]}];}return db['SquareMessage'][_0x694e('0x3f')](_0x3d8a5b);})[_0x694e('0x21')](function(_0x150201){_0x2167c5[_0x694e('0x40')]=_0x150201;return _0x2167c5;})[_0x694e('0x21')](respondWithFilteredResult(_0x482209,_0x3d8a5b))[_0x694e('0x41')](handleError(_0x482209,null));};exports['show']=function(_0x1af89f,_0x59d2e7){var _0x5c2236={'raw':!![],'where':{'id':_0x1af89f[_0x694e('0x42')]['id']}},_0x5aff61={};_0x5aff61[_0x694e('0x2b')]=_[_0x694e('0x2c')](db[_0x694e('0x43')][_0x694e('0x28')]);_0x5aff61['query']=_[_0x694e('0x2c')](_0x1af89f[_0x694e('0x2d')]);_0x5aff61[_0x694e('0x37')]=_[_0x694e('0x2e')](_0x5aff61[_0x694e('0x2b')],_0x5aff61[_0x694e('0x2d')]);_0x5c2236[_0x694e('0x2f')]=_[_0x694e('0x2e')](_0x5aff61['model'],qs['fields'](_0x1af89f[_0x694e('0x2d')][_0x694e('0x30')]));_0x5c2236[_0x694e('0x2f')]=_0x5c2236['attributes'][_0x694e('0x31')]?_0x5c2236[_0x694e('0x2f')]:_0x5aff61[_0x694e('0x2b')];if(_0x1af89f[_0x694e('0x2d')][_0x694e('0x3d')]){_0x5c2236[_0x694e('0x3e')]=[{'all':!![]}];}_0x5c2236=_[_0x694e('0x39')]({},_0x5c2236,_0x1af89f[_0x694e('0x3c')]);return db['SquareMessage'][_0x694e('0x44')](_0x5c2236)[_0x694e('0x21')](handleEntityNotFound(_0x59d2e7,null))[_0x694e('0x21')](respondWithResult(_0x59d2e7,null))['catch'](handleError(_0x59d2e7,null));};exports[_0x694e('0x45')]=function(_0x15be19,_0x2075fe){return db[_0x694e('0x43')]['create'](_0x15be19[_0x694e('0x46')],{})[_0x694e('0x21')](respondWithResult(_0x2075fe,0xc9))[_0x694e('0x41')](handleError(_0x2075fe,null));};exports['update']=function(_0x131851,_0xdfa0dd){if(_0x131851[_0x694e('0x46')]['id']){delete _0x131851['body']['id'];}return db[_0x694e('0x43')][_0x694e('0x44')]({'where':{'id':_0x131851[_0x694e('0x42')]['id']}})[_0x694e('0x21')](handleEntityNotFound(_0xdfa0dd,null))[_0x694e('0x21')](saveUpdates(_0x131851['body'],null))[_0x694e('0x21')](respondWithResult(_0xdfa0dd,null))[_0x694e('0x41')](handleError(_0xdfa0dd,null));};exports[_0x694e('0x47')]=function(_0x3bdf6b,_0x449675){return db[_0x694e('0x43')][_0x694e('0x44')]({'where':{'id':_0x3bdf6b[_0x694e('0x42')]['id']}})[_0x694e('0x21')](handleEntityNotFound(_0x449675,null))[_0x694e('0x21')](removeEntity(_0x449675,null))[_0x694e('0x41')](handleError(_0x449675,null));};