Built motion from commit 616d3211.|2.6.4
[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 _0x6059=['VIRTUAL','merge','options','SquareMessage','includeAll','include','findAll','rows','catch','show','rawAttributes','find','create','body','params','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','name','send','index','map','fieldName','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','type'];(function(_0x3df41c,_0x2c4f5c){var _0x56cc7b=function(_0xcba7af){while(--_0xcba7af){_0x3df41c['push'](_0x3df41c['shift']());}};_0x56cc7b(++_0x2c4f5c);}(_0x6059,0x186));var _0x9605=function(_0x4d6bfd,_0x8d79ff){_0x4d6bfd=_0x4d6bfd-0x0;var _0x243a46=_0x6059[_0x4d6bfd];return _0x243a46;};'use strict';var emlformat=require(_0x9605('0x0'));var rimraf=require(_0x9605('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9605('0x2'));var rp=require(_0x9605('0x3'));var moment=require(_0x9605('0x4'));var BPromise=require(_0x9605('0x5'));var Mustache=require('mustache');var util=require(_0x9605('0x6'));var path=require(_0x9605('0x7'));var sox=require(_0x9605('0x8'));var csv=require('to-csv');var ejs=require(_0x9605('0x9'));var fs=require('fs');var fs_extra=require(_0x9605('0xa'));var _=require(_0x9605('0xb'));var squel=require('squel');var crypto=require(_0x9605('0xc'));var jsforce=require(_0x9605('0xd'));var deskjs=require(_0x9605('0xe'));var toCsv=require(_0x9605('0xf'));var querystring=require(_0x9605('0x10'));var Papa=require('papaparse');var Redis=require(_0x9605('0x11'));var authService=require(_0x9605('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x9605('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9605('0x14'))(_0x9605('0x15'));var utils=require(_0x9605('0x16'));var config=require(_0x9605('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x9605('0x18'))['db'];function respondWithStatusCode(_0x3ebab5,_0x14d27c){_0x14d27c=_0x14d27c||0xcc;return function(_0x1201c4){if(_0x1201c4){return _0x3ebab5[_0x9605('0x19')](_0x14d27c);}return _0x3ebab5[_0x9605('0x1a')](_0x14d27c)[_0x9605('0x1b')]();};}function respondWithResult(_0x5d4896,_0x166a39){_0x166a39=_0x166a39||0xc8;return function(_0x1a0a41){if(_0x1a0a41){return _0x5d4896[_0x9605('0x1a')](_0x166a39)[_0x9605('0x1c')](_0x1a0a41);}};}function respondWithFilteredResult(_0x532b1b,_0x1c528c){return function(_0x20af14){if(_0x20af14){var _0x55be57=typeof _0x1c528c['offset']===_0x9605('0x1d')&&typeof _0x1c528c[_0x9605('0x1e')]===_0x9605('0x1d');var _0x38df30=_0x20af14[_0x9605('0x1f')];var _0x449f29=_0x55be57?0x0:_0x1c528c[_0x9605('0x20')];var _0x5d92d2=_0x55be57?_0x20af14[_0x9605('0x1f')]:_0x1c528c[_0x9605('0x20')]+_0x1c528c[_0x9605('0x1e')];var _0x23805b;if(_0x5d92d2>=_0x38df30){_0x5d92d2=_0x38df30;_0x23805b=0xc8;}else{_0x23805b=0xce;}_0x532b1b['status'](_0x23805b);return _0x532b1b[_0x9605('0x21')](_0x9605('0x22'),_0x449f29+'-'+_0x5d92d2+'/'+_0x38df30)[_0x9605('0x1c')](_0x20af14);}return null;};}function patchUpdates(_0x3409c8){return function(_0x2bcd90){try{jsonpatch[_0x9605('0x23')](_0x2bcd90,_0x3409c8,!![]);}catch(_0x5b5242){return BPromise[_0x9605('0x24')](_0x5b5242);}return _0x2bcd90[_0x9605('0x25')]();};}function saveUpdates(_0x336637,_0x2a9973){return function(_0x5604cf){if(_0x5604cf){return _0x5604cf[_0x9605('0x26')](_0x336637)[_0x9605('0x27')](function(_0x25f26a){return _0x25f26a;});}return null;};}function removeEntity(_0xa4ac1d,_0x34f3fc){return function(_0x44a609){if(_0x44a609){return _0x44a609[_0x9605('0x28')]()[_0x9605('0x27')](function(){_0xa4ac1d[_0x9605('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x40b86f,_0x399c4d){return function(_0x1d3346){if(!_0x1d3346){_0x40b86f[_0x9605('0x19')](0x194);}return _0x1d3346;};}function handleError(_0x329bb4,_0x43625e){_0x43625e=_0x43625e||0x1f4;return function(_0x451c91){logger['error'](_0x451c91['stack']);if(_0x451c91['name']){delete _0x451c91[_0x9605('0x29')];}_0x329bb4['status'](_0x43625e)[_0x9605('0x2a')](_0x451c91);};}exports[_0x9605('0x2b')]=function(_0x5a0d52,_0x5a4fa8){var _0x3d868e={},_0x43b25a={},_0x191ba2={'count':0x0,'rows':[]};var _0x47aa8c=_[_0x9605('0x2c')](db['SquareMessage']['rawAttributes'],function(_0x29fcf3){return{'name':_0x29fcf3[_0x9605('0x2d')],'type':_0x29fcf3['type']['key']};});_0x43b25a[_0x9605('0x2e')]=_[_0x9605('0x2c')](_0x47aa8c,_0x9605('0x29'));_0x43b25a['query']=_[_0x9605('0x2f')](_0x5a0d52[_0x9605('0x30')]);_0x43b25a[_0x9605('0x31')]=_[_0x9605('0x32')](_0x43b25a[_0x9605('0x2e')],_0x43b25a[_0x9605('0x30')]);_0x3d868e['attributes']=_[_0x9605('0x32')](_0x43b25a[_0x9605('0x2e')],qs[_0x9605('0x33')](_0x5a0d52[_0x9605('0x30')][_0x9605('0x33')]));_0x3d868e['attributes']=_0x3d868e[_0x9605('0x34')][_0x9605('0x35')]?_0x3d868e[_0x9605('0x34')]:_0x43b25a['model'];if(!_0x5a0d52[_0x9605('0x30')][_0x9605('0x36')]('nolimit')){_0x3d868e['limit']=qs[_0x9605('0x1e')](_0x5a0d52[_0x9605('0x30')]['limit']);_0x3d868e['offset']=qs['offset'](_0x5a0d52[_0x9605('0x30')][_0x9605('0x20')]);}_0x3d868e['order']=qs[_0x9605('0x37')](_0x5a0d52['query'][_0x9605('0x37')]);_0x3d868e[_0x9605('0x38')]=qs[_0x9605('0x31')](_[_0x9605('0x39')](_0x5a0d52['query'],_0x43b25a['filters']),_0x47aa8c);if(_0x5a0d52[_0x9605('0x30')][_0x9605('0x3a')]){_0x3d868e[_0x9605('0x38')]=_['merge'](_0x3d868e[_0x9605('0x38')],{'$or':_[_0x9605('0x2c')](_0x47aa8c,function(_0x42218e){if(_0x42218e[_0x9605('0x3b')]!==_0x9605('0x3c')){var _0x102a49={};_0x102a49[_0x42218e[_0x9605('0x29')]]={'$like':'%'+_0x5a0d52[_0x9605('0x30')]['filter']+'%'};return _0x102a49;}})});}_0x3d868e=_[_0x9605('0x3d')]({},_0x3d868e,_0x5a0d52[_0x9605('0x3e')]);var _0xd80a8={'where':_0x3d868e['where']};return db[_0x9605('0x3f')]['count'](_0xd80a8)[_0x9605('0x27')](function(_0xfc280e){_0x191ba2[_0x9605('0x1f')]=_0xfc280e;if(_0x5a0d52[_0x9605('0x30')][_0x9605('0x40')]){_0x3d868e[_0x9605('0x41')]=[{'all':!![]}];}return db[_0x9605('0x3f')][_0x9605('0x42')](_0x3d868e);})[_0x9605('0x27')](function(_0x27df76){_0x191ba2[_0x9605('0x43')]=_0x27df76;return _0x191ba2;})[_0x9605('0x27')](respondWithFilteredResult(_0x5a4fa8,_0x3d868e))[_0x9605('0x44')](handleError(_0x5a4fa8,null));};exports[_0x9605('0x45')]=function(_0x307370,_0x1d0d8f){var _0x5bee92={'raw':!![],'where':{'id':_0x307370['params']['id']}},_0x545368={};_0x545368['model']=_[_0x9605('0x2f')](db[_0x9605('0x3f')][_0x9605('0x46')]);_0x545368['query']=_[_0x9605('0x2f')](_0x307370[_0x9605('0x30')]);_0x545368[_0x9605('0x31')]=_[_0x9605('0x32')](_0x545368['model'],_0x545368[_0x9605('0x30')]);_0x5bee92['attributes']=_['intersection'](_0x545368[_0x9605('0x2e')],qs[_0x9605('0x33')](_0x307370[_0x9605('0x30')][_0x9605('0x33')]));_0x5bee92[_0x9605('0x34')]=_0x5bee92['attributes'][_0x9605('0x35')]?_0x5bee92[_0x9605('0x34')]:_0x545368['model'];if(_0x307370[_0x9605('0x30')][_0x9605('0x40')]){_0x5bee92['include']=[{'all':!![]}];}_0x5bee92=_[_0x9605('0x3d')]({},_0x5bee92,_0x307370['options']);return db[_0x9605('0x3f')][_0x9605('0x47')](_0x5bee92)[_0x9605('0x27')](handleEntityNotFound(_0x1d0d8f,null))[_0x9605('0x27')](respondWithResult(_0x1d0d8f,null))['catch'](handleError(_0x1d0d8f,null));};exports[_0x9605('0x48')]=function(_0x50dfad,_0x3a59f4){return db[_0x9605('0x3f')]['create'](_0x50dfad['body'],{})[_0x9605('0x27')](respondWithResult(_0x3a59f4,0xc9))[_0x9605('0x44')](handleError(_0x3a59f4,null));};exports[_0x9605('0x26')]=function(_0x492194,_0x56d1c3){if(_0x492194[_0x9605('0x49')]['id']){delete _0x492194['body']['id'];}return db[_0x9605('0x3f')]['find']({'where':{'id':_0x492194[_0x9605('0x4a')]['id']}})[_0x9605('0x27')](handleEntityNotFound(_0x56d1c3,null))[_0x9605('0x27')](saveUpdates(_0x492194['body'],null))[_0x9605('0x27')](respondWithResult(_0x56d1c3,null))[_0x9605('0x44')](handleError(_0x56d1c3,null));};exports[_0x9605('0x28')]=function(_0x59d4f3,_0x3a49c0){return db[_0x9605('0x3f')][_0x9605('0x47')]({'where':{'id':_0x59d4f3['params']['id']}})['then'](handleEntityNotFound(_0x3a49c0,null))['then'](removeEntity(_0x3a49c0,null))['catch'](handleError(_0x3a49c0,null));};