71d8023b61c2ba4f0aeab337b4183e4127be4669
[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 _0x202a=['intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','count','include','findAll','rows','catch','show','rawAttributes','includeAll','body','find','params','destroy','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','offset','undefined','limit','set','Content-Range','json','apply','update','then','sendStatus','error','stack','name','send','index','map','SquareMessage','fieldName','model','query','keys','filters'];(function(_0xb27371,_0x47fc76){var _0x67bcd0=function(_0xb4ea02){while(--_0xb4ea02){_0xb27371['push'](_0xb27371['shift']());}};_0x67bcd0(++_0x47fc76);}(_0x202a,0xf8));var _0xa202=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x202a[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa202('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa202('0x1'));var rp=require(_0xa202('0x2'));var moment=require(_0xa202('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xa202('0x4'));var util=require(_0xa202('0x5'));var path=require(_0xa202('0x6'));var sox=require('sox');var csv=require(_0xa202('0x7'));var ejs=require(_0xa202('0x8'));var fs=require('fs');var fs_extra=require(_0xa202('0x9'));var _=require(_0xa202('0xa'));var squel=require(_0xa202('0xb'));var crypto=require(_0xa202('0xc'));var jsforce=require(_0xa202('0xd'));var deskjs=require(_0xa202('0xe'));var toCsv=require(_0xa202('0x7'));var querystring=require(_0xa202('0xf'));var Papa=require(_0xa202('0x10'));var Redis=require(_0xa202('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xa202('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa202('0x13'));var logger=require(_0xa202('0x14'))('api');var utils=require(_0xa202('0x15'));var config=require(_0xa202('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xa202('0x17'))['db'];function respondWithStatusCode(_0x6787f7,_0x745440){_0x745440=_0x745440||0xcc;return function(_0x1dca69){if(_0x1dca69){return _0x6787f7['sendStatus'](_0x745440);}return _0x6787f7[_0xa202('0x18')](_0x745440)[_0xa202('0x19')]();};}function respondWithResult(_0x3d83ee,_0x105350){_0x105350=_0x105350||0xc8;return function(_0x33294d){if(_0x33294d){return _0x3d83ee[_0xa202('0x18')](_0x105350)['json'](_0x33294d);}};}function respondWithFilteredResult(_0x6acd9a,_0x5cec1f){return function(_0x16b3d5){if(_0x16b3d5){var _0x2ef86f=typeof _0x5cec1f[_0xa202('0x1a')]===_0xa202('0x1b')&&typeof _0x5cec1f[_0xa202('0x1c')]===_0xa202('0x1b');var _0xac27e6=_0x16b3d5['count'];var _0x5ea51d=_0x2ef86f?0x0:_0x5cec1f[_0xa202('0x1a')];var _0x1f70d5=_0x2ef86f?_0x16b3d5['count']:_0x5cec1f[_0xa202('0x1a')]+_0x5cec1f[_0xa202('0x1c')];var _0x28d479;if(_0x1f70d5>=_0xac27e6){_0x1f70d5=_0xac27e6;_0x28d479=0xc8;}else{_0x28d479=0xce;}_0x6acd9a[_0xa202('0x18')](_0x28d479);return _0x6acd9a[_0xa202('0x1d')](_0xa202('0x1e'),_0x5ea51d+'-'+_0x1f70d5+'/'+_0xac27e6)[_0xa202('0x1f')](_0x16b3d5);}return null;};}function patchUpdates(_0xce5cc7){return function(_0x2e08cb){try{jsonpatch[_0xa202('0x20')](_0x2e08cb,_0xce5cc7,!![]);}catch(_0x266dd7){return BPromise['reject'](_0x266dd7);}return _0x2e08cb['save']();};}function saveUpdates(_0x2b8983,_0x8a840f){return function(_0x3666b7){if(_0x3666b7){return _0x3666b7[_0xa202('0x21')](_0x2b8983)[_0xa202('0x22')](function(_0x72b956){return _0x72b956;});}return null;};}function removeEntity(_0xbb4b2b,_0x155baf){return function(_0x3bb45a){if(_0x3bb45a){return _0x3bb45a['destroy']()[_0xa202('0x22')](function(){_0xbb4b2b['status'](0xcc)[_0xa202('0x19')]();});}};}function handleEntityNotFound(_0x4e771d,_0x550bb5){return function(_0x33012c){if(!_0x33012c){_0x4e771d[_0xa202('0x23')](0x194);}return _0x33012c;};}function handleError(_0x26541b,_0x4b215c){_0x4b215c=_0x4b215c||0x1f4;return function(_0x17c2b8){logger[_0xa202('0x24')](_0x17c2b8[_0xa202('0x25')]);if(_0x17c2b8[_0xa202('0x26')]){delete _0x17c2b8[_0xa202('0x26')];}_0x26541b[_0xa202('0x18')](_0x4b215c)[_0xa202('0x27')](_0x17c2b8);};}exports[_0xa202('0x28')]=function(_0x10975e,_0x5e3307){var _0x30f1c3={},_0x378d3d={},_0x9736d={'count':0x0,'rows':[]};var _0x4b8305=_[_0xa202('0x29')](db[_0xa202('0x2a')]['rawAttributes'],function(_0x3939c6){return{'name':_0x3939c6[_0xa202('0x2b')],'type':_0x3939c6['type']['key']};});_0x378d3d[_0xa202('0x2c')]=_['map'](_0x4b8305,'name');_0x378d3d[_0xa202('0x2d')]=_[_0xa202('0x2e')](_0x10975e[_0xa202('0x2d')]);_0x378d3d[_0xa202('0x2f')]=_[_0xa202('0x30')](_0x378d3d[_0xa202('0x2c')],_0x378d3d[_0xa202('0x2d')]);_0x30f1c3[_0xa202('0x31')]=_[_0xa202('0x30')](_0x378d3d[_0xa202('0x2c')],qs[_0xa202('0x32')](_0x10975e[_0xa202('0x2d')][_0xa202('0x32')]));_0x30f1c3[_0xa202('0x31')]=_0x30f1c3[_0xa202('0x31')][_0xa202('0x33')]?_0x30f1c3[_0xa202('0x31')]:_0x378d3d[_0xa202('0x2c')];if(!_0x10975e['query'][_0xa202('0x34')](_0xa202('0x35'))){_0x30f1c3[_0xa202('0x1c')]=qs[_0xa202('0x1c')](_0x10975e[_0xa202('0x2d')]['limit']);_0x30f1c3[_0xa202('0x1a')]=qs['offset'](_0x10975e['query'][_0xa202('0x1a')]);}_0x30f1c3[_0xa202('0x36')]=qs['sort'](_0x10975e[_0xa202('0x2d')][_0xa202('0x37')]);_0x30f1c3[_0xa202('0x38')]=qs[_0xa202('0x2f')](_[_0xa202('0x39')](_0x10975e[_0xa202('0x2d')],_0x378d3d['filters']),_0x4b8305);if(_0x10975e[_0xa202('0x2d')][_0xa202('0x3a')]){_0x30f1c3[_0xa202('0x38')]=_[_0xa202('0x3b')](_0x30f1c3['where'],{'$or':_[_0xa202('0x29')](_0x4b8305,function(_0x188db2){if(_0x188db2[_0xa202('0x3c')]!=='VIRTUAL'){var _0x16be42={};_0x16be42[_0x188db2['name']]={'$like':'%'+_0x10975e[_0xa202('0x2d')][_0xa202('0x3a')]+'%'};return _0x16be42;}})});}_0x30f1c3=_[_0xa202('0x3b')]({},_0x30f1c3,_0x10975e[_0xa202('0x3d')]);var _0x4a38a2={'where':_0x30f1c3['where']};return db[_0xa202('0x2a')][_0xa202('0x3e')](_0x4a38a2)['then'](function(_0x2bf33f){_0x9736d[_0xa202('0x3e')]=_0x2bf33f;if(_0x10975e['query']['includeAll']){_0x30f1c3[_0xa202('0x3f')]=[{'all':!![]}];}return db[_0xa202('0x2a')][_0xa202('0x40')](_0x30f1c3);})[_0xa202('0x22')](function(_0x1fa08e){_0x9736d[_0xa202('0x41')]=_0x1fa08e;return _0x9736d;})[_0xa202('0x22')](respondWithFilteredResult(_0x5e3307,_0x30f1c3))[_0xa202('0x42')](handleError(_0x5e3307,null));};exports[_0xa202('0x43')]=function(_0x5ecdb6,_0xed7568){var _0x52ba46={'raw':!![],'where':{'id':_0x5ecdb6['params']['id']}},_0xd3ce4b={};_0xd3ce4b['model']=_['keys'](db['SquareMessage'][_0xa202('0x44')]);_0xd3ce4b['query']=_['keys'](_0x5ecdb6['query']);_0xd3ce4b[_0xa202('0x2f')]=_[_0xa202('0x30')](_0xd3ce4b['model'],_0xd3ce4b[_0xa202('0x2d')]);_0x52ba46[_0xa202('0x31')]=_[_0xa202('0x30')](_0xd3ce4b[_0xa202('0x2c')],qs[_0xa202('0x32')](_0x5ecdb6[_0xa202('0x2d')]['fields']));_0x52ba46[_0xa202('0x31')]=_0x52ba46[_0xa202('0x31')]['length']?_0x52ba46['attributes']:_0xd3ce4b[_0xa202('0x2c')];if(_0x5ecdb6[_0xa202('0x2d')][_0xa202('0x45')]){_0x52ba46[_0xa202('0x3f')]=[{'all':!![]}];}_0x52ba46=_[_0xa202('0x3b')]({},_0x52ba46,_0x5ecdb6[_0xa202('0x3d')]);return db['SquareMessage']['find'](_0x52ba46)[_0xa202('0x22')](handleEntityNotFound(_0xed7568,null))['then'](respondWithResult(_0xed7568,null))[_0xa202('0x42')](handleError(_0xed7568,null));};exports['create']=function(_0x2136de,_0x5a70ad){return db[_0xa202('0x2a')]['create'](_0x2136de[_0xa202('0x46')],{})['then'](respondWithResult(_0x5a70ad,0xc9))['catch'](handleError(_0x5a70ad,null));};exports[_0xa202('0x21')]=function(_0x4623ca,_0x411f20){if(_0x4623ca['body']['id']){delete _0x4623ca[_0xa202('0x46')]['id'];}return db[_0xa202('0x2a')][_0xa202('0x47')]({'where':{'id':_0x4623ca[_0xa202('0x48')]['id']}})[_0xa202('0x22')](handleEntityNotFound(_0x411f20,null))[_0xa202('0x22')](saveUpdates(_0x4623ca[_0xa202('0x46')],null))[_0xa202('0x22')](respondWithResult(_0x411f20,null))['catch'](handleError(_0x411f20,null));};exports[_0xa202('0x49')]=function(_0x16d49f,_0x485f5e){return db['SquareMessage'][_0xa202('0x47')]({'where':{'id':_0x16d49f[_0xa202('0x48')]['id']}})['then'](handleEntityNotFound(_0x485f5e,null))[_0xa202('0x22')](removeEntity(_0x485f5e,null))[_0xa202('0x42')](handleError(_0x485f5e,null));};