5973b80c670dd90deb6180d4297b7c660af0fd4a
[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 _0x434b=['attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','params','filters','include','find','create','body','update','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','destroy','sendStatus','error','name','send','SquareMessage','rawAttributes','fieldName','type','model','map','query','keys','intersection','fields'];(function(_0x13ce0c,_0x3f2a0d){var _0x4388fb=function(_0x27db4b){while(--_0x27db4b){_0x13ce0c['push'](_0x13ce0c['shift']());}};_0x4388fb(++_0x3f2a0d);}(_0x434b,0x17f));var _0xb434=function(_0x1ae4a9,_0x4c0ed9){_0x1ae4a9=_0x1ae4a9-0x0;var _0x54d0b0=_0x434b[_0x1ae4a9];return _0x54d0b0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xb434('0x0'));var jsonpatch=require(_0xb434('0x1'));var rp=require('request-promise');var moment=require(_0xb434('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xb434('0x3'));var util=require(_0xb434('0x4'));var path=require(_0xb434('0x5'));var sox=require(_0xb434('0x6'));var csv=require(_0xb434('0x7'));var ejs=require(_0xb434('0x8'));var fs=require('fs');var fs_extra=require(_0xb434('0x9'));var _=require(_0xb434('0xa'));var squel=require(_0xb434('0xb'));var crypto=require('crypto');var jsforce=require(_0xb434('0xc'));var deskjs=require(_0xb434('0xd'));var toCsv=require(_0xb434('0x7'));var querystring=require(_0xb434('0xe'));var Papa=require(_0xb434('0xf'));var Redis=require(_0xb434('0x10'));var authService=require(_0xb434('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb434('0x12'));var logger=require(_0xb434('0x13'))('api');var utils=require('../../config/utils');var config=require(_0xb434('0x14'));var licenseUtil=require(_0xb434('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x53690e,_0x427774){_0x427774=_0x427774||0xcc;return function(_0x5424a1){if(_0x5424a1){return _0x53690e['sendStatus'](_0x427774);}return _0x53690e[_0xb434('0x16')](_0x427774)[_0xb434('0x17')]();};}function respondWithResult(_0x414c36,_0x3a757f){_0x3a757f=_0x3a757f||0xc8;return function(_0x17713e){if(_0x17713e){return _0x414c36[_0xb434('0x16')](_0x3a757f)[_0xb434('0x18')](_0x17713e);}};}function respondWithFilteredResult(_0x2cd945,_0x589140){return function(_0x3b13a1){if(_0x3b13a1){var _0x1ef9d2=typeof _0x589140[_0xb434('0x19')]===_0xb434('0x1a')&&typeof _0x589140[_0xb434('0x1b')]===_0xb434('0x1a');var _0x7255f4=_0x3b13a1[_0xb434('0x1c')];var _0x5cb20f=_0x1ef9d2?0x0:_0x589140['offset'];var _0x51e73d=_0x1ef9d2?_0x3b13a1['count']:_0x589140[_0xb434('0x19')]+_0x589140[_0xb434('0x1b')];var _0x5d86d9;if(_0x51e73d>=_0x7255f4){_0x51e73d=_0x7255f4;_0x5d86d9=0xc8;}else{_0x5d86d9=0xce;}_0x2cd945[_0xb434('0x16')](_0x5d86d9);return _0x2cd945['set'](_0xb434('0x1d'),_0x5cb20f+'-'+_0x51e73d+'/'+_0x7255f4)[_0xb434('0x18')](_0x3b13a1);}return null;};}function patchUpdates(_0x3ed842){return function(_0x3d8ffd){try{jsonpatch[_0xb434('0x1e')](_0x3d8ffd,_0x3ed842,!![]);}catch(_0x321871){return BPromise[_0xb434('0x1f')](_0x321871);}return _0x3d8ffd[_0xb434('0x20')]();};}function saveUpdates(_0x3572c6,_0x8a80ec){return function(_0x1fa8cf){if(_0x1fa8cf){return _0x1fa8cf['update'](_0x3572c6)[_0xb434('0x21')](function(_0x515921){return _0x515921;});}return null;};}function removeEntity(_0x3ea18e,_0x13a8a6){return function(_0xca14ec){if(_0xca14ec){return _0xca14ec[_0xb434('0x22')]()[_0xb434('0x21')](function(){_0x3ea18e[_0xb434('0x16')](0xcc)[_0xb434('0x17')]();});}};}function handleEntityNotFound(_0x32d79a,_0x169a6d){return function(_0x576f0e){if(!_0x576f0e){_0x32d79a[_0xb434('0x23')](0x194);}return _0x576f0e;};}function handleError(_0x2fea05,_0x47d51e){_0x47d51e=_0x47d51e||0x1f4;return function(_0x4937f8){logger[_0xb434('0x24')](_0x4937f8['stack']);if(_0x4937f8[_0xb434('0x25')]){delete _0x4937f8[_0xb434('0x25')];}_0x2fea05['status'](_0x47d51e)[_0xb434('0x26')](_0x4937f8);};}exports['index']=function(_0x49e6ef,_0xc93a5c){var _0x2790dd={},_0x296a66={},_0x533c7b={'count':0x0,'rows':[]};var _0xfd8355=_['map'](db[_0xb434('0x27')][_0xb434('0x28')],function(_0x1b0e7f){return{'name':_0x1b0e7f[_0xb434('0x29')],'type':_0x1b0e7f[_0xb434('0x2a')]['key']};});_0x296a66[_0xb434('0x2b')]=_[_0xb434('0x2c')](_0xfd8355,_0xb434('0x25'));_0x296a66[_0xb434('0x2d')]=_[_0xb434('0x2e')](_0x49e6ef['query']);_0x296a66['filters']=_['intersection'](_0x296a66['model'],_0x296a66[_0xb434('0x2d')]);_0x2790dd['attributes']=_[_0xb434('0x2f')](_0x296a66[_0xb434('0x2b')],qs[_0xb434('0x30')](_0x49e6ef[_0xb434('0x2d')][_0xb434('0x30')]));_0x2790dd[_0xb434('0x31')]=_0x2790dd['attributes'][_0xb434('0x32')]?_0x2790dd['attributes']:_0x296a66[_0xb434('0x2b')];if(!_0x49e6ef[_0xb434('0x2d')][_0xb434('0x33')](_0xb434('0x34'))){_0x2790dd[_0xb434('0x1b')]=qs[_0xb434('0x1b')](_0x49e6ef[_0xb434('0x2d')]['limit']);_0x2790dd[_0xb434('0x19')]=qs[_0xb434('0x19')](_0x49e6ef[_0xb434('0x2d')][_0xb434('0x19')]);}_0x2790dd[_0xb434('0x35')]=qs[_0xb434('0x36')](_0x49e6ef[_0xb434('0x2d')]['sort']);_0x2790dd[_0xb434('0x37')]=qs['filters'](_[_0xb434('0x38')](_0x49e6ef[_0xb434('0x2d')],_0x296a66['filters']),_0xfd8355);if(_0x49e6ef[_0xb434('0x2d')][_0xb434('0x39')]){_0x2790dd[_0xb434('0x37')]=_[_0xb434('0x3a')](_0x2790dd[_0xb434('0x37')],{'$or':_[_0xb434('0x2c')](_0xfd8355,function(_0x222914){if(_0x222914[_0xb434('0x2a')]!==_0xb434('0x3b')){var _0x36b5dd={};_0x36b5dd[_0x222914[_0xb434('0x25')]]={'$like':'%'+_0x49e6ef[_0xb434('0x2d')][_0xb434('0x39')]+'%'};return _0x36b5dd;}})});}_0x2790dd=_[_0xb434('0x3a')]({},_0x2790dd,_0x49e6ef[_0xb434('0x3c')]);var _0x42b2b8={'where':_0x2790dd[_0xb434('0x37')]};return db[_0xb434('0x27')][_0xb434('0x1c')](_0x42b2b8)[_0xb434('0x21')](function(_0x464e3c){_0x533c7b[_0xb434('0x1c')]=_0x464e3c;if(_0x49e6ef[_0xb434('0x2d')][_0xb434('0x3d')]){_0x2790dd['include']=[{'all':!![]}];}return db[_0xb434('0x27')][_0xb434('0x3e')](_0x2790dd);})[_0xb434('0x21')](function(_0x4453c6){_0x533c7b[_0xb434('0x3f')]=_0x4453c6;return _0x533c7b;})[_0xb434('0x21')](respondWithFilteredResult(_0xc93a5c,_0x2790dd))[_0xb434('0x40')](handleError(_0xc93a5c,null));};exports['show']=function(_0x33c57a,_0x23f343){var _0x2bf815={'raw':!![],'where':{'id':_0x33c57a[_0xb434('0x41')]['id']}},_0x372431={};_0x372431[_0xb434('0x2b')]=_[_0xb434('0x2e')](db[_0xb434('0x27')][_0xb434('0x28')]);_0x372431[_0xb434('0x2d')]=_[_0xb434('0x2e')](_0x33c57a[_0xb434('0x2d')]);_0x372431[_0xb434('0x42')]=_['intersection'](_0x372431[_0xb434('0x2b')],_0x372431['query']);_0x2bf815[_0xb434('0x31')]=_['intersection'](_0x372431[_0xb434('0x2b')],qs[_0xb434('0x30')](_0x33c57a[_0xb434('0x2d')][_0xb434('0x30')]));_0x2bf815[_0xb434('0x31')]=_0x2bf815['attributes'][_0xb434('0x32')]?_0x2bf815['attributes']:_0x372431[_0xb434('0x2b')];if(_0x33c57a[_0xb434('0x2d')][_0xb434('0x3d')]){_0x2bf815[_0xb434('0x43')]=[{'all':!![]}];}_0x2bf815=_[_0xb434('0x3a')]({},_0x2bf815,_0x33c57a[_0xb434('0x3c')]);return db[_0xb434('0x27')][_0xb434('0x44')](_0x2bf815)[_0xb434('0x21')](handleEntityNotFound(_0x23f343,null))[_0xb434('0x21')](respondWithResult(_0x23f343,null))['catch'](handleError(_0x23f343,null));};exports[_0xb434('0x45')]=function(_0x170268,_0x3206b9){return db[_0xb434('0x27')]['create'](_0x170268[_0xb434('0x46')],{})['then'](respondWithResult(_0x3206b9,0xc9))[_0xb434('0x40')](handleError(_0x3206b9,null));};exports[_0xb434('0x47')]=function(_0x266506,_0x4dc2bb){if(_0x266506[_0xb434('0x46')]['id']){delete _0x266506['body']['id'];}return db[_0xb434('0x27')]['find']({'where':{'id':_0x266506[_0xb434('0x41')]['id']}})['then'](handleEntityNotFound(_0x4dc2bb,null))[_0xb434('0x21')](saveUpdates(_0x266506[_0xb434('0x46')],null))[_0xb434('0x21')](respondWithResult(_0x4dc2bb,null))[_0xb434('0x40')](handleError(_0x4dc2bb,null));};exports['destroy']=function(_0x52229e,_0xdd6b52){return db[_0xb434('0x27')]['find']({'where':{'id':_0x52229e[_0xb434('0x41')]['id']}})['then'](handleEntityNotFound(_0xdd6b52,null))[_0xb434('0x21')](removeEntity(_0xdd6b52,null))[_0xb434('0x40')](handleError(_0xdd6b52,null));};