90cb3e779ad472369d1189faa03af0d298695b4c
[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 _0xf5d8=['filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','length','options','find','create','body','update','destroy','html-pdf','rimraf','zip-dir','request-promise','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','then','end','sendStatus','name','send','index','SquareMessage','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','fields','attributes','nolimit','sort','where'];(function(_0x5de77e,_0x664b64){var _0x5148cd=function(_0xf78140){while(--_0xf78140){_0x5de77e['push'](_0x5de77e['shift']());}};_0x5148cd(++_0x664b64);}(_0xf5d8,0xec));var _0x8f5d=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xf5d8[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0x8f5d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x8f5d('0x1'));var zipdir=require(_0x8f5d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8f5d('0x3'));var moment=require('moment');var BPromise=require(_0x8f5d('0x4'));var Mustache=require(_0x8f5d('0x5'));var util=require(_0x8f5d('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x8f5d('0x7'));var ejs=require(_0x8f5d('0x8'));var fs=require('fs');var _=require(_0x8f5d('0x9'));var squel=require(_0x8f5d('0xa'));var crypto=require('crypto');var jsforce=require(_0x8f5d('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x8f5d('0xc'));var Papa=require(_0x8f5d('0xd'));var Redis=require(_0x8f5d('0xe'));var authService=require(_0x8f5d('0xf'));var qs=require(_0x8f5d('0x10'));var as=require(_0x8f5d('0x11'));var hardwareService=require(_0x8f5d('0x12'));var logger=require(_0x8f5d('0x13'))('api');var utils=require(_0x8f5d('0x14'));var config=require(_0x8f5d('0x15'));var licenseUtil=require(_0x8f5d('0x16'));var db=require(_0x8f5d('0x17'))['db'];function respondWithStatusCode(_0x35a033,_0x134ad7){_0x134ad7=_0x134ad7||0xcc;return function(_0x2b3416){if(_0x2b3416){return _0x35a033['sendStatus'](_0x134ad7);}return _0x35a033[_0x8f5d('0x18')](_0x134ad7)['end']();};}function respondWithResult(_0x4edd90,_0x48adae){_0x48adae=_0x48adae||0xc8;return function(_0x30fdc4){if(_0x30fdc4){return _0x4edd90[_0x8f5d('0x18')](_0x48adae)[_0x8f5d('0x19')](_0x30fdc4);}};}function respondWithFilteredResult(_0x2fd16c,_0xb690b7){return function(_0xcd775b){if(_0xcd775b){var _0x3b72ca=_0xcd775b[_0x8f5d('0x1a')],_0x3e7412=_0xb690b7[_0x8f5d('0x1b')],_0x1aec01=_0xb690b7[_0x8f5d('0x1b')]+_0xb690b7[_0x8f5d('0x1c')],_0x16ba87;if(_0x1aec01>=_0x3b72ca){_0x1aec01=_0x3b72ca;_0x16ba87=0xc8;}else{_0x16ba87=0xce;}_0x2fd16c[_0x8f5d('0x18')](_0x16ba87);return _0x2fd16c[_0x8f5d('0x1d')](_0x8f5d('0x1e'),_0x3e7412+'-'+_0x1aec01+'/'+_0x3b72ca)[_0x8f5d('0x19')](_0xcd775b);}return null;};}function patchUpdates(_0x2cf784){return function(_0x1b848b){try{jsonpatch[_0x8f5d('0x1f')](_0x1b848b,_0x2cf784,!![]);}catch(_0x566673){return BPromise[_0x8f5d('0x20')](_0x566673);}return _0x1b848b[_0x8f5d('0x21')]();};}function saveUpdates(_0x412051,_0x192cc2){return function(_0x5d023d){if(_0x5d023d){return _0x5d023d['update'](_0x412051)[_0x8f5d('0x22')](function(_0x281bc5){return _0x281bc5;});}return null;};}function removeEntity(_0x27e073,_0x49480e){return function(_0x36b6ed){if(_0x36b6ed){return _0x36b6ed['destroy']()[_0x8f5d('0x22')](function(){_0x27e073[_0x8f5d('0x18')](0xcc)[_0x8f5d('0x23')]();});}};}function handleEntityNotFound(_0xf42b3,_0x51117f){return function(_0x59a9e6){if(!_0x59a9e6){_0xf42b3[_0x8f5d('0x24')](0x194);}return _0x59a9e6;};}function handleError(_0x507011,_0x56351f){_0x56351f=_0x56351f||0x1f4;return function(_0x10e896){logger['error'](_0x10e896['stack']);if(_0x10e896['name']){delete _0x10e896[_0x8f5d('0x25')];}_0x507011[_0x8f5d('0x18')](_0x56351f)[_0x8f5d('0x26')](_0x10e896);};}exports[_0x8f5d('0x27')]=function(_0x25595c,_0x59d51d){var _0x1ad77e={},_0x5e489e={},_0x1023d0={'count':0x0,'rows':[]};var _0x553619=_['map'](db[_0x8f5d('0x28')][_0x8f5d('0x29')],function(_0x14ff7a){return{'name':_0x14ff7a[_0x8f5d('0x2a')],'type':_0x14ff7a[_0x8f5d('0x2b')][_0x8f5d('0x2c')]};});_0x5e489e['model']=_[_0x8f5d('0x2d')](_0x553619,_0x8f5d('0x25'));_0x5e489e[_0x8f5d('0x2e')]=_[_0x8f5d('0x2f')](_0x25595c[_0x8f5d('0x2e')]);_0x5e489e[_0x8f5d('0x30')]=_[_0x8f5d('0x31')](_0x5e489e[_0x8f5d('0x32')],_0x5e489e[_0x8f5d('0x2e')]);_0x1ad77e['attributes']=_[_0x8f5d('0x31')](_0x5e489e['model'],qs[_0x8f5d('0x33')](_0x25595c[_0x8f5d('0x2e')][_0x8f5d('0x33')]));_0x1ad77e[_0x8f5d('0x34')]=_0x1ad77e[_0x8f5d('0x34')]['length']?_0x1ad77e['attributes']:_0x5e489e[_0x8f5d('0x32')];if(!_0x25595c[_0x8f5d('0x2e')]['hasOwnProperty'](_0x8f5d('0x35'))){_0x1ad77e['limit']=qs[_0x8f5d('0x1c')](_0x25595c[_0x8f5d('0x2e')][_0x8f5d('0x1c')]);_0x1ad77e[_0x8f5d('0x1b')]=qs[_0x8f5d('0x1b')](_0x25595c[_0x8f5d('0x2e')][_0x8f5d('0x1b')]);}_0x1ad77e['order']=qs[_0x8f5d('0x36')](_0x25595c[_0x8f5d('0x2e')][_0x8f5d('0x36')]);_0x1ad77e[_0x8f5d('0x37')]=qs[_0x8f5d('0x30')](_['pick'](_0x25595c[_0x8f5d('0x2e')],_0x5e489e['filters']),_0x553619);if(_0x25595c['query'][_0x8f5d('0x38')]){_0x1ad77e['where']=_[_0x8f5d('0x39')](_0x1ad77e['where'],{'$or':_['map'](_0x553619,function(_0x57359e){if(_0x57359e[_0x8f5d('0x2b')]!==_0x8f5d('0x3a')){var _0xf0b04a={};_0xf0b04a[_0x57359e[_0x8f5d('0x25')]]={'$like':'%'+_0x25595c[_0x8f5d('0x2e')]['filter']+'%'};return _0xf0b04a;}})});}_0x1ad77e=_['merge']({},_0x1ad77e,_0x25595c['options']);var _0x5547ad={'where':_0x1ad77e[_0x8f5d('0x37')]};return db[_0x8f5d('0x28')]['count'](_0x5547ad)[_0x8f5d('0x22')](function(_0x421121){_0x1023d0['count']=_0x421121;if(_0x25595c['query'][_0x8f5d('0x3b')]){_0x1ad77e[_0x8f5d('0x3c')]=[{'all':!![]}];}return db[_0x8f5d('0x28')][_0x8f5d('0x3d')](_0x1ad77e);})[_0x8f5d('0x22')](function(_0x2743f8){_0x1023d0[_0x8f5d('0x3e')]=_0x2743f8;return _0x1023d0;})[_0x8f5d('0x22')](respondWithFilteredResult(_0x59d51d,_0x1ad77e))[_0x8f5d('0x3f')](handleError(_0x59d51d,null));};exports[_0x8f5d('0x40')]=function(_0x4bd8ba,_0x3ecbff){var _0x3de7cf={'raw':!![],'where':{'id':_0x4bd8ba[_0x8f5d('0x41')]['id']}},_0x45a5b8={};_0x45a5b8[_0x8f5d('0x32')]=_[_0x8f5d('0x2f')](db['SquareMessage'][_0x8f5d('0x29')]);_0x45a5b8[_0x8f5d('0x2e')]=_[_0x8f5d('0x2f')](_0x4bd8ba[_0x8f5d('0x2e')]);_0x45a5b8[_0x8f5d('0x30')]=_[_0x8f5d('0x31')](_0x45a5b8[_0x8f5d('0x32')],_0x45a5b8[_0x8f5d('0x2e')]);_0x3de7cf[_0x8f5d('0x34')]=_[_0x8f5d('0x31')](_0x45a5b8[_0x8f5d('0x32')],qs[_0x8f5d('0x33')](_0x4bd8ba[_0x8f5d('0x2e')]['fields']));_0x3de7cf[_0x8f5d('0x34')]=_0x3de7cf[_0x8f5d('0x34')][_0x8f5d('0x42')]?_0x3de7cf[_0x8f5d('0x34')]:_0x45a5b8[_0x8f5d('0x32')];if(_0x4bd8ba['query'][_0x8f5d('0x3b')]){_0x3de7cf[_0x8f5d('0x3c')]=[{'all':!![]}];}_0x3de7cf=_['merge']({},_0x3de7cf,_0x4bd8ba[_0x8f5d('0x43')]);return db[_0x8f5d('0x28')][_0x8f5d('0x44')](_0x3de7cf)['then'](handleEntityNotFound(_0x3ecbff,null))[_0x8f5d('0x22')](respondWithResult(_0x3ecbff,null))['catch'](handleError(_0x3ecbff,null));};exports[_0x8f5d('0x45')]=function(_0x33a3ab,_0xeb1c91){return db['SquareMessage']['create'](_0x33a3ab[_0x8f5d('0x46')],{})[_0x8f5d('0x22')](respondWithResult(_0xeb1c91,0xc9))[_0x8f5d('0x3f')](handleError(_0xeb1c91,null));};exports[_0x8f5d('0x47')]=function(_0x17a23d,_0x3bbd8c){if(_0x17a23d[_0x8f5d('0x46')]['id']){delete _0x17a23d[_0x8f5d('0x46')]['id'];}return db[_0x8f5d('0x28')][_0x8f5d('0x44')]({'where':{'id':_0x17a23d[_0x8f5d('0x41')]['id']}})[_0x8f5d('0x22')](handleEntityNotFound(_0x3bbd8c,null))[_0x8f5d('0x22')](saveUpdates(_0x17a23d['body'],null))[_0x8f5d('0x22')](respondWithResult(_0x3bbd8c,null))[_0x8f5d('0x3f')](handleError(_0x3bbd8c,null));};exports[_0x8f5d('0x48')]=function(_0x3061c2,_0x2e5730){return db['SquareMessage'][_0x8f5d('0x44')]({'where':{'id':_0x3061c2[_0x8f5d('0x41')]['id']}})[_0x8f5d('0x22')](handleEntityNotFound(_0x2e5730,null))[_0x8f5d('0x22')](removeEntity(_0x2e5730,null))[_0x8f5d('0x3f')](handleError(_0x2e5730,null));};