Built motion from commit 85328c08.|2.5.50
[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 _0x8328=['offset','count','Content-Range','apply','reject','save','update','then','stack','name','send','index','SquareMessage','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','filter','VIRTUAL','merge','options','findAll','rows','show','params','keys','rawAttributes','includeAll','include','create','body','catch','eml-format','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x4f7a97,_0x14f986){var _0x2d97cb=function(_0x4323b6){while(--_0x4323b6){_0x4f7a97['push'](_0x4f7a97['shift']());}};_0x2d97cb(++_0x14f986);}(_0x8328,0xb3));var _0x8832=function(_0x301152,_0x210837){_0x301152=_0x301152-0x0;var _0x2fb128=_0x8328[_0x301152];return _0x2fb128;};'use strict';var emlformat=require(_0x8832('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x8832('0x1'));var moment=require(_0x8832('0x2'));var BPromise=require(_0x8832('0x3'));var Mustache=require(_0x8832('0x4'));var util=require(_0x8832('0x5'));var path=require(_0x8832('0x6'));var sox=require('sox');var csv=require(_0x8832('0x7'));var ejs=require(_0x8832('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x8832('0x9'));var squel=require(_0x8832('0xa'));var crypto=require('crypto');var jsforce=require(_0x8832('0xb'));var deskjs=require(_0x8832('0xc'));var toCsv=require(_0x8832('0x7'));var querystring=require(_0x8832('0xd'));var Papa=require('papaparse');var Redis=require(_0x8832('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x8832('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8832('0x10'));var logger=require(_0x8832('0x11'))(_0x8832('0x12'));var utils=require('../../config/utils');var config=require(_0x8832('0x13'));var licenseUtil=require(_0x8832('0x14'));var db=require(_0x8832('0x15'))['db'];function respondWithStatusCode(_0x15f79e,_0x5529b2){_0x5529b2=_0x5529b2||0xcc;return function(_0x4e4f5b){if(_0x4e4f5b){return _0x15f79e[_0x8832('0x16')](_0x5529b2);}return _0x15f79e[_0x8832('0x17')](_0x5529b2)[_0x8832('0x18')]();};}function respondWithResult(_0x4be998,_0x494bfc){_0x494bfc=_0x494bfc||0xc8;return function(_0x2c0fd9){if(_0x2c0fd9){return _0x4be998[_0x8832('0x17')](_0x494bfc)['json'](_0x2c0fd9);}};}function respondWithFilteredResult(_0x4ce5dc,_0x170621){return function(_0x4ffec5){if(_0x4ffec5){var _0x51bd18=typeof _0x170621[_0x8832('0x19')]==='undefined'&&typeof _0x170621['limit']==='undefined';var _0x105d47=_0x4ffec5[_0x8832('0x1a')];var _0x47a7c0=_0x51bd18?0x0:_0x170621[_0x8832('0x19')];var _0x23100a=_0x51bd18?_0x4ffec5['count']:_0x170621[_0x8832('0x19')]+_0x170621['limit'];var _0x191356;if(_0x23100a>=_0x105d47){_0x23100a=_0x105d47;_0x191356=0xc8;}else{_0x191356=0xce;}_0x4ce5dc[_0x8832('0x17')](_0x191356);return _0x4ce5dc['set'](_0x8832('0x1b'),_0x47a7c0+'-'+_0x23100a+'/'+_0x105d47)['json'](_0x4ffec5);}return null;};}function patchUpdates(_0x27147f){return function(_0x448adc){try{jsonpatch[_0x8832('0x1c')](_0x448adc,_0x27147f,!![]);}catch(_0x3349ad){return BPromise[_0x8832('0x1d')](_0x3349ad);}return _0x448adc[_0x8832('0x1e')]();};}function saveUpdates(_0x5ce22f,_0x27da67){return function(_0x265c79){if(_0x265c79){return _0x265c79[_0x8832('0x1f')](_0x5ce22f)[_0x8832('0x20')](function(_0x49f465){return _0x49f465;});}return null;};}function removeEntity(_0xc3387e,_0x41d280){return function(_0x76193c){if(_0x76193c){return _0x76193c['destroy']()[_0x8832('0x20')](function(){_0xc3387e[_0x8832('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x169f96,_0x5a2d02){return function(_0x35fe81){if(!_0x35fe81){_0x169f96['sendStatus'](0x194);}return _0x35fe81;};}function handleError(_0x5ab299,_0x3e4c9b){_0x3e4c9b=_0x3e4c9b||0x1f4;return function(_0x2a0c52){logger['error'](_0x2a0c52[_0x8832('0x21')]);if(_0x2a0c52[_0x8832('0x22')]){delete _0x2a0c52[_0x8832('0x22')];}_0x5ab299['status'](_0x3e4c9b)[_0x8832('0x23')](_0x2a0c52);};}exports[_0x8832('0x24')]=function(_0x4fa4ff,_0x371f78){var _0x179d5a={},_0x127a73={},_0x4896ff={'count':0x0,'rows':[]};var _0x3f082f=_['map'](db[_0x8832('0x25')]['rawAttributes'],function(_0x64ad60){return{'name':_0x64ad60[_0x8832('0x26')],'type':_0x64ad60[_0x8832('0x27')][_0x8832('0x28')]};});_0x127a73[_0x8832('0x29')]=_['map'](_0x3f082f,_0x8832('0x22'));_0x127a73['query']=_['keys'](_0x4fa4ff['query']);_0x127a73[_0x8832('0x2a')]=_[_0x8832('0x2b')](_0x127a73[_0x8832('0x29')],_0x127a73[_0x8832('0x2c')]);_0x179d5a[_0x8832('0x2d')]=_[_0x8832('0x2b')](_0x127a73[_0x8832('0x29')],qs[_0x8832('0x2e')](_0x4fa4ff[_0x8832('0x2c')][_0x8832('0x2e')]));_0x179d5a[_0x8832('0x2d')]=_0x179d5a[_0x8832('0x2d')][_0x8832('0x2f')]?_0x179d5a['attributes']:_0x127a73[_0x8832('0x29')];if(!_0x4fa4ff[_0x8832('0x2c')][_0x8832('0x30')](_0x8832('0x31'))){_0x179d5a['limit']=qs[_0x8832('0x32')](_0x4fa4ff['query']['limit']);_0x179d5a['offset']=qs[_0x8832('0x19')](_0x4fa4ff[_0x8832('0x2c')][_0x8832('0x19')]);}_0x179d5a['order']=qs[_0x8832('0x33')](_0x4fa4ff[_0x8832('0x2c')][_0x8832('0x33')]);_0x179d5a[_0x8832('0x34')]=qs['filters'](_['pick'](_0x4fa4ff[_0x8832('0x2c')],_0x127a73['filters']),_0x3f082f);if(_0x4fa4ff[_0x8832('0x2c')][_0x8832('0x35')]){_0x179d5a[_0x8832('0x34')]=_['merge'](_0x179d5a[_0x8832('0x34')],{'$or':_['map'](_0x3f082f,function(_0x2dd7fe){if(_0x2dd7fe[_0x8832('0x27')]!==_0x8832('0x36')){var _0x53cf74={};_0x53cf74[_0x2dd7fe['name']]={'$like':'%'+_0x4fa4ff['query']['filter']+'%'};return _0x53cf74;}})});}_0x179d5a=_[_0x8832('0x37')]({},_0x179d5a,_0x4fa4ff[_0x8832('0x38')]);var _0x21421d={'where':_0x179d5a[_0x8832('0x34')]};return db[_0x8832('0x25')][_0x8832('0x1a')](_0x21421d)['then'](function(_0x4a8f83){_0x4896ff['count']=_0x4a8f83;if(_0x4fa4ff[_0x8832('0x2c')]['includeAll']){_0x179d5a['include']=[{'all':!![]}];}return db['SquareMessage'][_0x8832('0x39')](_0x179d5a);})[_0x8832('0x20')](function(_0x5117fb){_0x4896ff[_0x8832('0x3a')]=_0x5117fb;return _0x4896ff;})['then'](respondWithFilteredResult(_0x371f78,_0x179d5a))['catch'](handleError(_0x371f78,null));};exports[_0x8832('0x3b')]=function(_0x590167,_0x3efc0c){var _0x4468f5={'raw':!![],'where':{'id':_0x590167[_0x8832('0x3c')]['id']}},_0x4bb312={};_0x4bb312[_0x8832('0x29')]=_[_0x8832('0x3d')](db[_0x8832('0x25')][_0x8832('0x3e')]);_0x4bb312[_0x8832('0x2c')]=_[_0x8832('0x3d')](_0x590167['query']);_0x4bb312[_0x8832('0x2a')]=_[_0x8832('0x2b')](_0x4bb312['model'],_0x4bb312[_0x8832('0x2c')]);_0x4468f5[_0x8832('0x2d')]=_[_0x8832('0x2b')](_0x4bb312[_0x8832('0x29')],qs[_0x8832('0x2e')](_0x590167[_0x8832('0x2c')][_0x8832('0x2e')]));_0x4468f5[_0x8832('0x2d')]=_0x4468f5[_0x8832('0x2d')][_0x8832('0x2f')]?_0x4468f5[_0x8832('0x2d')]:_0x4bb312[_0x8832('0x29')];if(_0x590167[_0x8832('0x2c')][_0x8832('0x3f')]){_0x4468f5[_0x8832('0x40')]=[{'all':!![]}];}_0x4468f5=_['merge']({},_0x4468f5,_0x590167[_0x8832('0x38')]);return db[_0x8832('0x25')]['find'](_0x4468f5)[_0x8832('0x20')](handleEntityNotFound(_0x3efc0c,null))[_0x8832('0x20')](respondWithResult(_0x3efc0c,null))['catch'](handleError(_0x3efc0c,null));};exports[_0x8832('0x41')]=function(_0x1d5b7e,_0x101589){return db[_0x8832('0x25')]['create'](_0x1d5b7e[_0x8832('0x42')],{})[_0x8832('0x20')](respondWithResult(_0x101589,0xc9))['catch'](handleError(_0x101589,null));};exports[_0x8832('0x1f')]=function(_0x40378a,_0x311eac){if(_0x40378a['body']['id']){delete _0x40378a[_0x8832('0x42')]['id'];}return db[_0x8832('0x25')]['find']({'where':{'id':_0x40378a[_0x8832('0x3c')]['id']}})['then'](handleEntityNotFound(_0x311eac,null))[_0x8832('0x20')](saveUpdates(_0x40378a[_0x8832('0x42')],null))[_0x8832('0x20')](respondWithResult(_0x311eac,null))[_0x8832('0x43')](handleError(_0x311eac,null));};exports['destroy']=function(_0x3aa282,_0x2d7a35){return db[_0x8832('0x25')]['find']({'where':{'id':_0x3aa282[_0x8832('0x3c')]['id']}})[_0x8832('0x20')](handleEntityNotFound(_0x2d7a35,null))[_0x8832('0x20')](removeEntity(_0x2d7a35,null))[_0x8832('0x43')](handleError(_0x2d7a35,null));};