Built motion from commit b5996064.|2.6.21
[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 _0xb986=['find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','to-csv','lodash','crypto','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','reject','save','then','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','SquareMessage','includeAll','catch','show','params','include','options','create','body','update'];(function(_0x38a260,_0x1f0880){var _0x45bccc=function(_0x94868e){while(--_0x94868e){_0x38a260['push'](_0x38a260['shift']());}};_0x45bccc(++_0x1f0880);}(_0xb986,0x89));var _0x6b98=function(_0x5c79e7,_0x5bbbac){_0x5c79e7=_0x5c79e7-0x0;var _0x48d1aa=_0xb986[_0x5c79e7];return _0x48d1aa;};'use strict';var emlformat=require(_0x6b98('0x0'));var rimraf=require(_0x6b98('0x1'));var zipdir=require(_0x6b98('0x2'));var jsonpatch=require(_0x6b98('0x3'));var rp=require(_0x6b98('0x4'));var moment=require(_0x6b98('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x6b98('0x6'));var util=require('util');var path=require('path');var sox=require(_0x6b98('0x7'));var csv=require(_0x6b98('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6b98('0x9'));var squel=require('squel');var crypto=require(_0x6b98('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6b98('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6b98('0xb'));var authService=require(_0x6b98('0xc'));var qs=require(_0x6b98('0xd'));var as=require(_0x6b98('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x6b98('0xf'));var utils=require('../../config/utils');var config=require(_0x6b98('0x10'));var licenseUtil=require('../../config/license/util');var db=require(_0x6b98('0x11'))['db'];function respondWithStatusCode(_0x3b4d78,_0x3f3a7e){_0x3f3a7e=_0x3f3a7e||0xcc;return function(_0x40bfb3){if(_0x40bfb3){return _0x3b4d78[_0x6b98('0x12')](_0x3f3a7e);}return _0x3b4d78[_0x6b98('0x13')](_0x3f3a7e)[_0x6b98('0x14')]();};}function respondWithResult(_0x4efa0a,_0xfbc073){_0xfbc073=_0xfbc073||0xc8;return function(_0x29c6a4){if(_0x29c6a4){return _0x4efa0a[_0x6b98('0x13')](_0xfbc073)['json'](_0x29c6a4);}};}function respondWithFilteredResult(_0x3a785c,_0x1a60e7){return function(_0x24ae2e){if(_0x24ae2e){var _0x1e53b8=typeof _0x1a60e7[_0x6b98('0x15')]===_0x6b98('0x16')&&typeof _0x1a60e7[_0x6b98('0x17')]===_0x6b98('0x16');var _0x2a9512=_0x24ae2e[_0x6b98('0x18')];var _0x333435=_0x1e53b8?0x0:_0x1a60e7[_0x6b98('0x15')];var _0x3af701=_0x1e53b8?_0x24ae2e[_0x6b98('0x18')]:_0x1a60e7[_0x6b98('0x15')]+_0x1a60e7[_0x6b98('0x17')];var _0x301faa;if(_0x3af701>=_0x2a9512){_0x3af701=_0x2a9512;_0x301faa=0xc8;}else{_0x301faa=0xce;}_0x3a785c[_0x6b98('0x13')](_0x301faa);return _0x3a785c['set'](_0x6b98('0x19'),_0x333435+'-'+_0x3af701+'/'+_0x2a9512)[_0x6b98('0x1a')](_0x24ae2e);}return null;};}function patchUpdates(_0x187ccd){return function(_0x1f996c){try{jsonpatch[_0x6b98('0x1b')](_0x1f996c,_0x187ccd,!![]);}catch(_0x11b86b){return BPromise[_0x6b98('0x1c')](_0x11b86b);}return _0x1f996c[_0x6b98('0x1d')]();};}function saveUpdates(_0x542e5f,_0x4f8e53){return function(_0x31bad4){if(_0x31bad4){return _0x31bad4['update'](_0x542e5f)[_0x6b98('0x1e')](function(_0x385c50){return _0x385c50;});}return null;};}function removeEntity(_0x4cc9ec,_0xd12e5b){return function(_0x3f4f34){if(_0x3f4f34){return _0x3f4f34[_0x6b98('0x1f')]()['then'](function(){_0x4cc9ec[_0x6b98('0x13')](0xcc)[_0x6b98('0x14')]();});}};}function handleEntityNotFound(_0x21c1ba,_0xb8081b){return function(_0x6c7b44){if(!_0x6c7b44){_0x21c1ba[_0x6b98('0x12')](0x194);}return _0x6c7b44;};}function handleError(_0xe3c167,_0x1d3955){_0x1d3955=_0x1d3955||0x1f4;return function(_0x211a9a){logger['error'](_0x211a9a[_0x6b98('0x20')]);if(_0x211a9a[_0x6b98('0x21')]){delete _0x211a9a[_0x6b98('0x21')];}_0xe3c167[_0x6b98('0x13')](_0x1d3955)[_0x6b98('0x22')](_0x211a9a);};}exports[_0x6b98('0x23')]=function(_0x3c7e41,_0x269687){var _0x3512bc={},_0x5681bf={},_0x2f0b37={'count':0x0,'rows':[]};var _0x443dd8=_[_0x6b98('0x24')](db['SquareMessage'][_0x6b98('0x25')],function(_0x1a5b12){return{'name':_0x1a5b12[_0x6b98('0x26')],'type':_0x1a5b12[_0x6b98('0x27')][_0x6b98('0x28')]};});_0x5681bf['model']=_['map'](_0x443dd8,_0x6b98('0x21'));_0x5681bf[_0x6b98('0x29')]=_[_0x6b98('0x2a')](_0x3c7e41[_0x6b98('0x29')]);_0x5681bf[_0x6b98('0x2b')]=_[_0x6b98('0x2c')](_0x5681bf[_0x6b98('0x2d')],_0x5681bf['query']);_0x3512bc[_0x6b98('0x2e')]=_[_0x6b98('0x2c')](_0x5681bf['model'],qs[_0x6b98('0x2f')](_0x3c7e41['query'][_0x6b98('0x2f')]));_0x3512bc[_0x6b98('0x2e')]=_0x3512bc['attributes'][_0x6b98('0x30')]?_0x3512bc['attributes']:_0x5681bf[_0x6b98('0x2d')];if(!_0x3c7e41[_0x6b98('0x29')]['hasOwnProperty'](_0x6b98('0x31'))){_0x3512bc[_0x6b98('0x17')]=qs[_0x6b98('0x17')](_0x3c7e41[_0x6b98('0x29')][_0x6b98('0x17')]);_0x3512bc['offset']=qs[_0x6b98('0x15')](_0x3c7e41[_0x6b98('0x29')][_0x6b98('0x15')]);}_0x3512bc[_0x6b98('0x32')]=qs[_0x6b98('0x33')](_0x3c7e41['query'][_0x6b98('0x33')]);_0x3512bc[_0x6b98('0x34')]=qs[_0x6b98('0x2b')](_[_0x6b98('0x35')](_0x3c7e41['query'],_0x5681bf[_0x6b98('0x2b')]),_0x443dd8);if(_0x3c7e41[_0x6b98('0x29')][_0x6b98('0x36')]){_0x3512bc[_0x6b98('0x34')]=_['merge'](_0x3512bc[_0x6b98('0x34')],{'$or':_[_0x6b98('0x24')](_0x443dd8,function(_0x2d4f8b){if(_0x2d4f8b[_0x6b98('0x27')]!==_0x6b98('0x37')){var _0x372053={};_0x372053[_0x2d4f8b[_0x6b98('0x21')]]={'$like':'%'+_0x3c7e41[_0x6b98('0x29')][_0x6b98('0x36')]+'%'};return _0x372053;}})});}_0x3512bc=_[_0x6b98('0x38')]({},_0x3512bc,_0x3c7e41['options']);var _0x1f58fc={'where':_0x3512bc[_0x6b98('0x34')]};return db[_0x6b98('0x39')][_0x6b98('0x18')](_0x1f58fc)[_0x6b98('0x1e')](function(_0x3c706a){_0x2f0b37[_0x6b98('0x18')]=_0x3c706a;if(_0x3c7e41[_0x6b98('0x29')][_0x6b98('0x3a')]){_0x3512bc['include']=[{'all':!![]}];}return db[_0x6b98('0x39')]['findAll'](_0x3512bc);})[_0x6b98('0x1e')](function(_0x2aecba){_0x2f0b37['rows']=_0x2aecba;return _0x2f0b37;})[_0x6b98('0x1e')](respondWithFilteredResult(_0x269687,_0x3512bc))[_0x6b98('0x3b')](handleError(_0x269687,null));};exports[_0x6b98('0x3c')]=function(_0x4fec42,_0x1a8565){var _0x406e32={'raw':!![],'where':{'id':_0x4fec42[_0x6b98('0x3d')]['id']}},_0x4ed523={};_0x4ed523['model']=_[_0x6b98('0x2a')](db[_0x6b98('0x39')]['rawAttributes']);_0x4ed523[_0x6b98('0x29')]=_[_0x6b98('0x2a')](_0x4fec42[_0x6b98('0x29')]);_0x4ed523[_0x6b98('0x2b')]=_[_0x6b98('0x2c')](_0x4ed523[_0x6b98('0x2d')],_0x4ed523['query']);_0x406e32['attributes']=_['intersection'](_0x4ed523[_0x6b98('0x2d')],qs[_0x6b98('0x2f')](_0x4fec42[_0x6b98('0x29')]['fields']));_0x406e32['attributes']=_0x406e32[_0x6b98('0x2e')]['length']?_0x406e32[_0x6b98('0x2e')]:_0x4ed523[_0x6b98('0x2d')];if(_0x4fec42[_0x6b98('0x29')][_0x6b98('0x3a')]){_0x406e32[_0x6b98('0x3e')]=[{'all':!![]}];}_0x406e32=_['merge']({},_0x406e32,_0x4fec42[_0x6b98('0x3f')]);return db['SquareMessage']['find'](_0x406e32)['then'](handleEntityNotFound(_0x1a8565,null))[_0x6b98('0x1e')](respondWithResult(_0x1a8565,null))[_0x6b98('0x3b')](handleError(_0x1a8565,null));};exports[_0x6b98('0x40')]=function(_0x41dae7,_0x3a9b80){return db[_0x6b98('0x39')][_0x6b98('0x40')](_0x41dae7[_0x6b98('0x41')],{})[_0x6b98('0x1e')](respondWithResult(_0x3a9b80,0xc9))[_0x6b98('0x3b')](handleError(_0x3a9b80,null));};exports[_0x6b98('0x42')]=function(_0x108771,_0x5cf575){if(_0x108771['body']['id']){delete _0x108771[_0x6b98('0x41')]['id'];}return db['SquareMessage'][_0x6b98('0x43')]({'where':{'id':_0x108771[_0x6b98('0x3d')]['id']}})['then'](handleEntityNotFound(_0x5cf575,null))[_0x6b98('0x1e')](saveUpdates(_0x108771[_0x6b98('0x41')],null))['then'](respondWithResult(_0x5cf575,null))['catch'](handleError(_0x5cf575,null));};exports[_0x6b98('0x1f')]=function(_0x1a2ac0,_0x28cf35){return db[_0x6b98('0x39')][_0x6b98('0x43')]({'where':{'id':_0x1a2ac0[_0x6b98('0x3d')]['id']}})[_0x6b98('0x1e')](handleEntityNotFound(_0x28cf35,null))[_0x6b98('0x1e')](removeEntity(_0x28cf35,null))['catch'](handleError(_0x28cf35,null));};