0d8d3826d7bcae292b77678a57737cd0fde782f9
[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 _0xa107=['undefined','limit','count','offset','set','json','apply','reject','save','update','destroy','then','sendStatus','error','stack','name','send','map','SquareMessage','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','rows','show','find','catch','create','body','params','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','end','status'];(function(_0x2136d5,_0x4b0479){var _0x3bee2e=function(_0x119e88){while(--_0x119e88){_0x2136d5['push'](_0x2136d5['shift']());}};_0x3bee2e(++_0x4b0479);}(_0xa107,0x7d));var _0x7a10=function(_0x136618,_0x4ba44d){_0x136618=_0x136618-0x0;var _0xaaa23b=_0xa107[_0x136618];return _0xaaa23b;};'use strict';var emlformat=require(_0x7a10('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7a10('0x1'));var jsonpatch=require(_0x7a10('0x2'));var rp=require(_0x7a10('0x3'));var moment=require(_0x7a10('0x4'));var BPromise=require(_0x7a10('0x5'));var Mustache=require(_0x7a10('0x6'));var util=require(_0x7a10('0x7'));var path=require(_0x7a10('0x8'));var sox=require('sox');var csv=require(_0x7a10('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7a10('0xa'));var _=require(_0x7a10('0xb'));var squel=require(_0x7a10('0xc'));var crypto=require(_0x7a10('0xd'));var jsforce=require(_0x7a10('0xe'));var deskjs=require(_0x7a10('0xf'));var toCsv=require(_0x7a10('0x9'));var querystring=require(_0x7a10('0x10'));var Papa=require(_0x7a10('0x11'));var Redis=require(_0x7a10('0x12'));var authService=require(_0x7a10('0x13'));var qs=require(_0x7a10('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7a10('0x15'));var logger=require(_0x7a10('0x16'))(_0x7a10('0x17'));var utils=require(_0x7a10('0x18'));var config=require(_0x7a10('0x19'));var licenseUtil=require(_0x7a10('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x33925d,_0x36e229){_0x36e229=_0x36e229||0xcc;return function(_0x5a4c1b){if(_0x5a4c1b){return _0x33925d['sendStatus'](_0x36e229);}return _0x33925d['status'](_0x36e229)[_0x7a10('0x1b')]();};}function respondWithResult(_0x57dbbb,_0x37ecbc){_0x37ecbc=_0x37ecbc||0xc8;return function(_0x5f52e5){if(_0x5f52e5){return _0x57dbbb[_0x7a10('0x1c')](_0x37ecbc)['json'](_0x5f52e5);}};}function respondWithFilteredResult(_0x1980c7,_0x5cf58a){return function(_0xfd7490){if(_0xfd7490){var _0x57740d=typeof _0x5cf58a['offset']===_0x7a10('0x1d')&&typeof _0x5cf58a[_0x7a10('0x1e')]===_0x7a10('0x1d');var _0x249f97=_0xfd7490[_0x7a10('0x1f')];var _0xd314a8=_0x57740d?0x0:_0x5cf58a[_0x7a10('0x20')];var _0x514bb9=_0x57740d?_0xfd7490['count']:_0x5cf58a['offset']+_0x5cf58a[_0x7a10('0x1e')];var _0x59eb66;if(_0x514bb9>=_0x249f97){_0x514bb9=_0x249f97;_0x59eb66=0xc8;}else{_0x59eb66=0xce;}_0x1980c7[_0x7a10('0x1c')](_0x59eb66);return _0x1980c7[_0x7a10('0x21')]('Content-Range',_0xd314a8+'-'+_0x514bb9+'/'+_0x249f97)[_0x7a10('0x22')](_0xfd7490);}return null;};}function patchUpdates(_0x46bd2e){return function(_0x240165){try{jsonpatch[_0x7a10('0x23')](_0x240165,_0x46bd2e,!![]);}catch(_0x11d5ce){return BPromise[_0x7a10('0x24')](_0x11d5ce);}return _0x240165[_0x7a10('0x25')]();};}function saveUpdates(_0x313ba1,_0xd7afe3){return function(_0x2d2a54){if(_0x2d2a54){return _0x2d2a54[_0x7a10('0x26')](_0x313ba1)['then'](function(_0x51702c){return _0x51702c;});}return null;};}function removeEntity(_0x16c496,_0x48b6b5){return function(_0x2bf6b2){if(_0x2bf6b2){return _0x2bf6b2[_0x7a10('0x27')]()[_0x7a10('0x28')](function(){_0x16c496[_0x7a10('0x1c')](0xcc)[_0x7a10('0x1b')]();});}};}function handleEntityNotFound(_0x162935,_0x368cbc){return function(_0x3a2225){if(!_0x3a2225){_0x162935[_0x7a10('0x29')](0x194);}return _0x3a2225;};}function handleError(_0x2b4425,_0x4a5582){_0x4a5582=_0x4a5582||0x1f4;return function(_0x78efac){logger[_0x7a10('0x2a')](_0x78efac[_0x7a10('0x2b')]);if(_0x78efac['name']){delete _0x78efac[_0x7a10('0x2c')];}_0x2b4425[_0x7a10('0x1c')](_0x4a5582)[_0x7a10('0x2d')](_0x78efac);};}exports['index']=function(_0x37bf04,_0x48c3e6){var _0x528a0b={},_0x3bbb79={},_0x43eaec={'count':0x0,'rows':[]};var _0xe5a80e=_[_0x7a10('0x2e')](db[_0x7a10('0x2f')][_0x7a10('0x30')],function(_0x18166a){return{'name':_0x18166a['fieldName'],'type':_0x18166a[_0x7a10('0x31')][_0x7a10('0x32')]};});_0x3bbb79[_0x7a10('0x33')]=_[_0x7a10('0x2e')](_0xe5a80e,_0x7a10('0x2c'));_0x3bbb79[_0x7a10('0x34')]=_[_0x7a10('0x35')](_0x37bf04[_0x7a10('0x34')]);_0x3bbb79[_0x7a10('0x36')]=_['intersection'](_0x3bbb79[_0x7a10('0x33')],_0x3bbb79[_0x7a10('0x34')]);_0x528a0b[_0x7a10('0x37')]=_[_0x7a10('0x38')](_0x3bbb79[_0x7a10('0x33')],qs[_0x7a10('0x39')](_0x37bf04[_0x7a10('0x34')][_0x7a10('0x39')]));_0x528a0b[_0x7a10('0x37')]=_0x528a0b[_0x7a10('0x37')][_0x7a10('0x3a')]?_0x528a0b[_0x7a10('0x37')]:_0x3bbb79[_0x7a10('0x33')];if(!_0x37bf04[_0x7a10('0x34')][_0x7a10('0x3b')](_0x7a10('0x3c'))){_0x528a0b[_0x7a10('0x1e')]=qs[_0x7a10('0x1e')](_0x37bf04[_0x7a10('0x34')][_0x7a10('0x1e')]);_0x528a0b[_0x7a10('0x20')]=qs[_0x7a10('0x20')](_0x37bf04[_0x7a10('0x34')][_0x7a10('0x20')]);}_0x528a0b[_0x7a10('0x3d')]=qs[_0x7a10('0x3e')](_0x37bf04[_0x7a10('0x34')]['sort']);_0x528a0b[_0x7a10('0x3f')]=qs[_0x7a10('0x36')](_['pick'](_0x37bf04['query'],_0x3bbb79[_0x7a10('0x36')]),_0xe5a80e);if(_0x37bf04[_0x7a10('0x34')][_0x7a10('0x40')]){_0x528a0b[_0x7a10('0x3f')]=_[_0x7a10('0x41')](_0x528a0b[_0x7a10('0x3f')],{'$or':_[_0x7a10('0x2e')](_0xe5a80e,function(_0x3a2579){if(_0x3a2579['type']!==_0x7a10('0x42')){var _0xf81a44={};_0xf81a44[_0x3a2579[_0x7a10('0x2c')]]={'$like':'%'+_0x37bf04[_0x7a10('0x34')][_0x7a10('0x40')]+'%'};return _0xf81a44;}})});}_0x528a0b=_[_0x7a10('0x41')]({},_0x528a0b,_0x37bf04[_0x7a10('0x43')]);var _0x5a3e6c={'where':_0x528a0b[_0x7a10('0x3f')]};return db[_0x7a10('0x2f')]['count'](_0x5a3e6c)[_0x7a10('0x28')](function(_0x459b13){_0x43eaec[_0x7a10('0x1f')]=_0x459b13;if(_0x37bf04[_0x7a10('0x34')][_0x7a10('0x44')]){_0x528a0b[_0x7a10('0x45')]=[{'all':!![]}];}return db['SquareMessage']['findAll'](_0x528a0b);})['then'](function(_0x151141){_0x43eaec[_0x7a10('0x46')]=_0x151141;return _0x43eaec;})['then'](respondWithFilteredResult(_0x48c3e6,_0x528a0b))['catch'](handleError(_0x48c3e6,null));};exports[_0x7a10('0x47')]=function(_0x187895,_0x165eaf){var _0x1ba1e3={'raw':!![],'where':{'id':_0x187895['params']['id']}},_0x2683dc={};_0x2683dc[_0x7a10('0x33')]=_[_0x7a10('0x35')](db[_0x7a10('0x2f')][_0x7a10('0x30')]);_0x2683dc['query']=_[_0x7a10('0x35')](_0x187895[_0x7a10('0x34')]);_0x2683dc['filters']=_[_0x7a10('0x38')](_0x2683dc[_0x7a10('0x33')],_0x2683dc['query']);_0x1ba1e3[_0x7a10('0x37')]=_['intersection'](_0x2683dc[_0x7a10('0x33')],qs[_0x7a10('0x39')](_0x187895[_0x7a10('0x34')]['fields']));_0x1ba1e3[_0x7a10('0x37')]=_0x1ba1e3[_0x7a10('0x37')][_0x7a10('0x3a')]?_0x1ba1e3['attributes']:_0x2683dc[_0x7a10('0x33')];if(_0x187895[_0x7a10('0x34')][_0x7a10('0x44')]){_0x1ba1e3[_0x7a10('0x45')]=[{'all':!![]}];}_0x1ba1e3=_['merge']({},_0x1ba1e3,_0x187895['options']);return db[_0x7a10('0x2f')][_0x7a10('0x48')](_0x1ba1e3)[_0x7a10('0x28')](handleEntityNotFound(_0x165eaf,null))[_0x7a10('0x28')](respondWithResult(_0x165eaf,null))[_0x7a10('0x49')](handleError(_0x165eaf,null));};exports['create']=function(_0x2c2aa8,_0x4fad0d){return db[_0x7a10('0x2f')][_0x7a10('0x4a')](_0x2c2aa8[_0x7a10('0x4b')],{})[_0x7a10('0x28')](respondWithResult(_0x4fad0d,0xc9))['catch'](handleError(_0x4fad0d,null));};exports[_0x7a10('0x26')]=function(_0x7e1c0b,_0x2f9514){if(_0x7e1c0b['body']['id']){delete _0x7e1c0b[_0x7a10('0x4b')]['id'];}return db[_0x7a10('0x2f')][_0x7a10('0x48')]({'where':{'id':_0x7e1c0b[_0x7a10('0x4c')]['id']}})[_0x7a10('0x28')](handleEntityNotFound(_0x2f9514,null))[_0x7a10('0x28')](saveUpdates(_0x7e1c0b['body'],null))['then'](respondWithResult(_0x2f9514,null))[_0x7a10('0x49')](handleError(_0x2f9514,null));};exports[_0x7a10('0x27')]=function(_0x492e7a,_0x320889){return db[_0x7a10('0x2f')][_0x7a10('0x48')]({'where':{'id':_0x492e7a[_0x7a10('0x4c')]['id']}})[_0x7a10('0x28')](handleEntityNotFound(_0x320889,null))[_0x7a10('0x28')](removeEntity(_0x320889,null))[_0x7a10('0x49')](handleError(_0x320889,null));};