1d2e29dbd5866b1be42a216c390d67c09f1f68f7
[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 _0x5c13=['json','apply','reject','save','update','then','error','name','index','map','SquareMessage','fieldName','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','keys','length','create','body','find','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range'];(function(_0x14bebd,_0x2d7427){var _0xf1c499=function(_0x47eab4){while(--_0x47eab4){_0x14bebd['push'](_0x14bebd['shift']());}};_0xf1c499(++_0x2d7427);}(_0x5c13,0x103));var _0x35c1=function(_0x338f73,_0x1945c8){_0x338f73=_0x338f73-0x0;var _0x163fdf=_0x5c13[_0x338f73];return _0x163fdf;};'use strict';var emlformat=require(_0x35c1('0x0'));var rimraf=require(_0x35c1('0x1'));var zipdir=require(_0x35c1('0x2'));var jsonpatch=require(_0x35c1('0x3'));var rp=require(_0x35c1('0x4'));var moment=require(_0x35c1('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x35c1('0x6'));var util=require(_0x35c1('0x7'));var path=require('path');var sox=require(_0x35c1('0x8'));var csv=require(_0x35c1('0x9'));var ejs=require(_0x35c1('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x35c1('0xb'));var squel=require(_0x35c1('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x35c1('0xd'));var toCsv=require(_0x35c1('0x9'));var querystring=require(_0x35c1('0xe'));var Papa=require(_0x35c1('0xf'));var Redis=require(_0x35c1('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x35c1('0x11'));var as=require(_0x35c1('0x12'));var hardwareService=require(_0x35c1('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x35c1('0x14'));var config=require(_0x35c1('0x15'));var licenseUtil=require(_0x35c1('0x16'));var db=require(_0x35c1('0x17'))['db'];function respondWithStatusCode(_0x1deaed,_0x5e28ad){_0x5e28ad=_0x5e28ad||0xcc;return function(_0x525cf6){if(_0x525cf6){return _0x1deaed[_0x35c1('0x18')](_0x5e28ad);}return _0x1deaed[_0x35c1('0x19')](_0x5e28ad)[_0x35c1('0x1a')]();};}function respondWithResult(_0x1189c0,_0xa1ebb9){_0xa1ebb9=_0xa1ebb9||0xc8;return function(_0x1dc4e3){if(_0x1dc4e3){return _0x1189c0['status'](_0xa1ebb9)['json'](_0x1dc4e3);}};}function respondWithFilteredResult(_0x416746,_0x555b3d){return function(_0x4a0d73){if(_0x4a0d73){var _0xb8f1=typeof _0x555b3d[_0x35c1('0x1b')]===_0x35c1('0x1c')&&typeof _0x555b3d[_0x35c1('0x1d')]===_0x35c1('0x1c');var _0x506c3d=_0x4a0d73[_0x35c1('0x1e')];var _0x5b954c=_0xb8f1?0x0:_0x555b3d[_0x35c1('0x1b')];var _0x3e5375=_0xb8f1?_0x4a0d73[_0x35c1('0x1e')]:_0x555b3d['offset']+_0x555b3d[_0x35c1('0x1d')];var _0x32cd12;if(_0x3e5375>=_0x506c3d){_0x3e5375=_0x506c3d;_0x32cd12=0xc8;}else{_0x32cd12=0xce;}_0x416746[_0x35c1('0x19')](_0x32cd12);return _0x416746[_0x35c1('0x1f')](_0x35c1('0x20'),_0x5b954c+'-'+_0x3e5375+'/'+_0x506c3d)[_0x35c1('0x21')](_0x4a0d73);}return null;};}function patchUpdates(_0x3ea6ad){return function(_0x1d513f){try{jsonpatch[_0x35c1('0x22')](_0x1d513f,_0x3ea6ad,!![]);}catch(_0x130809){return BPromise[_0x35c1('0x23')](_0x130809);}return _0x1d513f[_0x35c1('0x24')]();};}function saveUpdates(_0x38fffd,_0x2c6427){return function(_0xdbaea3){if(_0xdbaea3){return _0xdbaea3[_0x35c1('0x25')](_0x38fffd)['then'](function(_0x40ef4c){return _0x40ef4c;});}return null;};}function removeEntity(_0x1e1a9f,_0x113ffb){return function(_0xde0cea){if(_0xde0cea){return _0xde0cea['destroy']()[_0x35c1('0x26')](function(){_0x1e1a9f[_0x35c1('0x19')](0xcc)[_0x35c1('0x1a')]();});}};}function handleEntityNotFound(_0x438103,_0x36f56b){return function(_0x28b497){if(!_0x28b497){_0x438103[_0x35c1('0x18')](0x194);}return _0x28b497;};}function handleError(_0x447f74,_0x187eb5){_0x187eb5=_0x187eb5||0x1f4;return function(_0x5eed3d){logger[_0x35c1('0x27')](_0x5eed3d['stack']);if(_0x5eed3d[_0x35c1('0x28')]){delete _0x5eed3d[_0x35c1('0x28')];}_0x447f74[_0x35c1('0x19')](_0x187eb5)['send'](_0x5eed3d);};}exports[_0x35c1('0x29')]=function(_0x2f9683,_0x31cee3){var _0x5ee0a6={},_0x3af9d8={},_0x146fd5={'count':0x0,'rows':[]};var _0x18b5c5=_[_0x35c1('0x2a')](db[_0x35c1('0x2b')]['rawAttributes'],function(_0x44ae72){return{'name':_0x44ae72[_0x35c1('0x2c')],'type':_0x44ae72['type']['key']};});_0x3af9d8[_0x35c1('0x2d')]=_[_0x35c1('0x2a')](_0x18b5c5,_0x35c1('0x28'));_0x3af9d8['query']=_['keys'](_0x2f9683[_0x35c1('0x2e')]);_0x3af9d8[_0x35c1('0x2f')]=_[_0x35c1('0x30')](_0x3af9d8[_0x35c1('0x2d')],_0x3af9d8['query']);_0x5ee0a6[_0x35c1('0x31')]=_[_0x35c1('0x30')](_0x3af9d8[_0x35c1('0x2d')],qs['fields'](_0x2f9683[_0x35c1('0x2e')][_0x35c1('0x32')]));_0x5ee0a6[_0x35c1('0x31')]=_0x5ee0a6[_0x35c1('0x31')]['length']?_0x5ee0a6[_0x35c1('0x31')]:_0x3af9d8['model'];if(!_0x2f9683['query'][_0x35c1('0x33')](_0x35c1('0x34'))){_0x5ee0a6[_0x35c1('0x1d')]=qs['limit'](_0x2f9683['query']['limit']);_0x5ee0a6['offset']=qs[_0x35c1('0x1b')](_0x2f9683['query'][_0x35c1('0x1b')]);}_0x5ee0a6[_0x35c1('0x35')]=qs[_0x35c1('0x36')](_0x2f9683[_0x35c1('0x2e')][_0x35c1('0x36')]);_0x5ee0a6[_0x35c1('0x37')]=qs[_0x35c1('0x2f')](_['pick'](_0x2f9683['query'],_0x3af9d8['filters']),_0x18b5c5);if(_0x2f9683[_0x35c1('0x2e')][_0x35c1('0x38')]){_0x5ee0a6[_0x35c1('0x37')]=_[_0x35c1('0x39')](_0x5ee0a6[_0x35c1('0x37')],{'$or':_[_0x35c1('0x2a')](_0x18b5c5,function(_0x414b8c){if(_0x414b8c['type']!=='VIRTUAL'){var _0x49354d={};_0x49354d[_0x414b8c[_0x35c1('0x28')]]={'$like':'%'+_0x2f9683['query']['filter']+'%'};return _0x49354d;}})});}_0x5ee0a6=_['merge']({},_0x5ee0a6,_0x2f9683[_0x35c1('0x3a')]);var _0x4f5110={'where':_0x5ee0a6[_0x35c1('0x37')]};return db['SquareMessage'][_0x35c1('0x1e')](_0x4f5110)['then'](function(_0x4a3ba7){_0x146fd5['count']=_0x4a3ba7;if(_0x2f9683[_0x35c1('0x2e')][_0x35c1('0x3b')]){_0x5ee0a6[_0x35c1('0x3c')]=[{'all':!![]}];}return db[_0x35c1('0x2b')][_0x35c1('0x3d')](_0x5ee0a6);})[_0x35c1('0x26')](function(_0x278500){_0x146fd5[_0x35c1('0x3e')]=_0x278500;return _0x146fd5;})[_0x35c1('0x26')](respondWithFilteredResult(_0x31cee3,_0x5ee0a6))[_0x35c1('0x3f')](handleError(_0x31cee3,null));};exports[_0x35c1('0x40')]=function(_0x2949f4,_0x40a601){var _0x492ac6={'raw':!![],'where':{'id':_0x2949f4[_0x35c1('0x41')]['id']}},_0x4166fc={};_0x4166fc[_0x35c1('0x2d')]=_['keys'](db[_0x35c1('0x2b')][_0x35c1('0x42')]);_0x4166fc[_0x35c1('0x2e')]=_[_0x35c1('0x43')](_0x2949f4[_0x35c1('0x2e')]);_0x4166fc[_0x35c1('0x2f')]=_[_0x35c1('0x30')](_0x4166fc[_0x35c1('0x2d')],_0x4166fc[_0x35c1('0x2e')]);_0x492ac6[_0x35c1('0x31')]=_[_0x35c1('0x30')](_0x4166fc[_0x35c1('0x2d')],qs[_0x35c1('0x32')](_0x2949f4[_0x35c1('0x2e')][_0x35c1('0x32')]));_0x492ac6[_0x35c1('0x31')]=_0x492ac6['attributes'][_0x35c1('0x44')]?_0x492ac6['attributes']:_0x4166fc[_0x35c1('0x2d')];if(_0x2949f4[_0x35c1('0x2e')][_0x35c1('0x3b')]){_0x492ac6['include']=[{'all':!![]}];}_0x492ac6=_[_0x35c1('0x39')]({},_0x492ac6,_0x2949f4['options']);return db[_0x35c1('0x2b')]['find'](_0x492ac6)[_0x35c1('0x26')](handleEntityNotFound(_0x40a601,null))['then'](respondWithResult(_0x40a601,null))[_0x35c1('0x3f')](handleError(_0x40a601,null));};exports[_0x35c1('0x45')]=function(_0x38d0a1,_0x180a5f){return db[_0x35c1('0x2b')][_0x35c1('0x45')](_0x38d0a1['body'],{})['then'](respondWithResult(_0x180a5f,0xc9))[_0x35c1('0x3f')](handleError(_0x180a5f,null));};exports['update']=function(_0x41e27b,_0x37c550){if(_0x41e27b[_0x35c1('0x46')]['id']){delete _0x41e27b[_0x35c1('0x46')]['id'];}return db[_0x35c1('0x2b')][_0x35c1('0x47')]({'where':{'id':_0x41e27b[_0x35c1('0x41')]['id']}})[_0x35c1('0x26')](handleEntityNotFound(_0x37c550,null))['then'](saveUpdates(_0x41e27b['body'],null))[_0x35c1('0x26')](respondWithResult(_0x37c550,null))[_0x35c1('0x3f')](handleError(_0x37c550,null));};exports[_0x35c1('0x48')]=function(_0x3bce8c,_0x472467){return db[_0x35c1('0x2b')][_0x35c1('0x47')]({'where':{'id':_0x3bce8c[_0x35c1('0x41')]['id']}})['then'](handleEntityNotFound(_0x472467,null))['then'](removeEntity(_0x472467,null))[_0x35c1('0x3f')](handleError(_0x472467,null));};