67ca0adef365065ebd3884a0fad59baca276c1f1
[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 _0x4138=['mustache','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','reject','update','then','stack','name','map','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','SquareMessage','includeAll','include','findAll','rows','catch','show','find','create','body','params','zip-dir','request-promise','moment','bluebird'];(function(_0x3809dd,_0x4203d3){var _0x1420b1=function(_0x198c23){while(--_0x198c23){_0x3809dd['push'](_0x3809dd['shift']());}};_0x1420b1(++_0x4203d3);}(_0x4138,0xce));var _0x8413=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0x4138[_0xbca1b1];return _0x4e1686;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x8413('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8413('0x1'));var moment=require(_0x8413('0x2'));var BPromise=require(_0x8413('0x3'));var Mustache=require(_0x8413('0x4'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x8413('0x5'));var ejs=require(_0x8413('0x6'));var fs=require('fs');var fs_extra=require(_0x8413('0x7'));var _=require('lodash');var squel=require(_0x8413('0x8'));var crypto=require(_0x8413('0x9'));var jsforce=require(_0x8413('0xa'));var deskjs=require(_0x8413('0xb'));var toCsv=require('to-csv');var querystring=require(_0x8413('0xc'));var Papa=require(_0x8413('0xd'));var Redis=require('ioredis');var authService=require(_0x8413('0xe'));var qs=require(_0x8413('0xf'));var as=require(_0x8413('0x10'));var hardwareService=require(_0x8413('0x11'));var logger=require(_0x8413('0x12'))('api');var utils=require(_0x8413('0x13'));var config=require(_0x8413('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x8413('0x15'))['db'];function respondWithStatusCode(_0xf10f14,_0x44a506){_0x44a506=_0x44a506||0xcc;return function(_0x447d44){if(_0x447d44){return _0xf10f14[_0x8413('0x16')](_0x44a506);}return _0xf10f14[_0x8413('0x17')](_0x44a506)[_0x8413('0x18')]();};}function respondWithResult(_0x3320c8,_0xff64dc){_0xff64dc=_0xff64dc||0xc8;return function(_0x163176){if(_0x163176){return _0x3320c8['status'](_0xff64dc)[_0x8413('0x19')](_0x163176);}};}function respondWithFilteredResult(_0x3b0256,_0x72ff42){return function(_0x39f0ff){if(_0x39f0ff){var _0x285db0=typeof _0x72ff42[_0x8413('0x1a')]==='undefined'&&typeof _0x72ff42[_0x8413('0x1b')]===_0x8413('0x1c');var _0x581bc8=_0x39f0ff[_0x8413('0x1d')];var _0x506a41=_0x285db0?0x0:_0x72ff42[_0x8413('0x1a')];var _0x4b47a2=_0x285db0?_0x39f0ff[_0x8413('0x1d')]:_0x72ff42[_0x8413('0x1a')]+_0x72ff42[_0x8413('0x1b')];var _0x312bb7;if(_0x4b47a2>=_0x581bc8){_0x4b47a2=_0x581bc8;_0x312bb7=0xc8;}else{_0x312bb7=0xce;}_0x3b0256[_0x8413('0x17')](_0x312bb7);return _0x3b0256[_0x8413('0x1e')]('Content-Range',_0x506a41+'-'+_0x4b47a2+'/'+_0x581bc8)['json'](_0x39f0ff);}return null;};}function patchUpdates(_0x9ea2d3){return function(_0x29e318){try{jsonpatch[_0x8413('0x1f')](_0x29e318,_0x9ea2d3,!![]);}catch(_0x5a5645){return BPromise[_0x8413('0x20')](_0x5a5645);}return _0x29e318['save']();};}function saveUpdates(_0x33f9c4,_0x108f17){return function(_0x11587c){if(_0x11587c){return _0x11587c[_0x8413('0x21')](_0x33f9c4)[_0x8413('0x22')](function(_0x3953c8){return _0x3953c8;});}return null;};}function removeEntity(_0x45cf4b,_0x352fea){return function(_0x2c57ff){if(_0x2c57ff){return _0x2c57ff['destroy']()['then'](function(){_0x45cf4b[_0x8413('0x17')](0xcc)[_0x8413('0x18')]();});}};}function handleEntityNotFound(_0x57c3df,_0x400cee){return function(_0x3b421e){if(!_0x3b421e){_0x57c3df[_0x8413('0x16')](0x194);}return _0x3b421e;};}function handleError(_0x49ddb8,_0x17a08f){_0x17a08f=_0x17a08f||0x1f4;return function(_0x1d6d1){logger['error'](_0x1d6d1[_0x8413('0x23')]);if(_0x1d6d1[_0x8413('0x24')]){delete _0x1d6d1[_0x8413('0x24')];}_0x49ddb8[_0x8413('0x17')](_0x17a08f)['send'](_0x1d6d1);};}exports['index']=function(_0x19513b,_0x5b4cb3){var _0x173d42={},_0x19cc20={},_0x2ba2fc={'count':0x0,'rows':[]};var _0x15c274=_[_0x8413('0x25')](db['SquareMessage'][_0x8413('0x26')],function(_0x32bcb2){return{'name':_0x32bcb2['fieldName'],'type':_0x32bcb2[_0x8413('0x27')][_0x8413('0x28')]};});_0x19cc20[_0x8413('0x29')]=_['map'](_0x15c274,_0x8413('0x24'));_0x19cc20[_0x8413('0x2a')]=_[_0x8413('0x2b')](_0x19513b[_0x8413('0x2a')]);_0x19cc20[_0x8413('0x2c')]=_[_0x8413('0x2d')](_0x19cc20['model'],_0x19cc20[_0x8413('0x2a')]);_0x173d42[_0x8413('0x2e')]=_[_0x8413('0x2d')](_0x19cc20['model'],qs[_0x8413('0x2f')](_0x19513b[_0x8413('0x2a')]['fields']));_0x173d42[_0x8413('0x2e')]=_0x173d42['attributes'][_0x8413('0x30')]?_0x173d42[_0x8413('0x2e')]:_0x19cc20[_0x8413('0x29')];if(!_0x19513b[_0x8413('0x2a')][_0x8413('0x31')](_0x8413('0x32'))){_0x173d42[_0x8413('0x1b')]=qs['limit'](_0x19513b[_0x8413('0x2a')][_0x8413('0x1b')]);_0x173d42[_0x8413('0x1a')]=qs['offset'](_0x19513b[_0x8413('0x2a')]['offset']);}_0x173d42[_0x8413('0x33')]=qs[_0x8413('0x34')](_0x19513b[_0x8413('0x2a')]['sort']);_0x173d42[_0x8413('0x35')]=qs[_0x8413('0x2c')](_[_0x8413('0x36')](_0x19513b['query'],_0x19cc20[_0x8413('0x2c')]),_0x15c274);if(_0x19513b['query']['filter']){_0x173d42[_0x8413('0x35')]=_[_0x8413('0x37')](_0x173d42[_0x8413('0x35')],{'$or':_['map'](_0x15c274,function(_0x39f110){if(_0x39f110[_0x8413('0x27')]!==_0x8413('0x38')){var _0x244529={};_0x244529[_0x39f110['name']]={'$like':'%'+_0x19513b[_0x8413('0x2a')][_0x8413('0x39')]+'%'};return _0x244529;}})});}_0x173d42=_['merge']({},_0x173d42,_0x19513b[_0x8413('0x3a')]);var _0x145d2f={'where':_0x173d42['where']};return db[_0x8413('0x3b')][_0x8413('0x1d')](_0x145d2f)[_0x8413('0x22')](function(_0x3abc31){_0x2ba2fc[_0x8413('0x1d')]=_0x3abc31;if(_0x19513b[_0x8413('0x2a')][_0x8413('0x3c')]){_0x173d42[_0x8413('0x3d')]=[{'all':!![]}];}return db[_0x8413('0x3b')][_0x8413('0x3e')](_0x173d42);})[_0x8413('0x22')](function(_0x4b56a4){_0x2ba2fc[_0x8413('0x3f')]=_0x4b56a4;return _0x2ba2fc;})[_0x8413('0x22')](respondWithFilteredResult(_0x5b4cb3,_0x173d42))[_0x8413('0x40')](handleError(_0x5b4cb3,null));};exports[_0x8413('0x41')]=function(_0x4b19d2,_0x4ae845){var _0x481a2f={'raw':!![],'where':{'id':_0x4b19d2['params']['id']}},_0xdc1ed8={};_0xdc1ed8[_0x8413('0x29')]=_['keys'](db['SquareMessage']['rawAttributes']);_0xdc1ed8['query']=_[_0x8413('0x2b')](_0x4b19d2[_0x8413('0x2a')]);_0xdc1ed8['filters']=_[_0x8413('0x2d')](_0xdc1ed8[_0x8413('0x29')],_0xdc1ed8[_0x8413('0x2a')]);_0x481a2f[_0x8413('0x2e')]=_[_0x8413('0x2d')](_0xdc1ed8[_0x8413('0x29')],qs[_0x8413('0x2f')](_0x4b19d2[_0x8413('0x2a')][_0x8413('0x2f')]));_0x481a2f[_0x8413('0x2e')]=_0x481a2f[_0x8413('0x2e')][_0x8413('0x30')]?_0x481a2f[_0x8413('0x2e')]:_0xdc1ed8[_0x8413('0x29')];if(_0x4b19d2[_0x8413('0x2a')][_0x8413('0x3c')]){_0x481a2f['include']=[{'all':!![]}];}_0x481a2f=_[_0x8413('0x37')]({},_0x481a2f,_0x4b19d2[_0x8413('0x3a')]);return db[_0x8413('0x3b')][_0x8413('0x42')](_0x481a2f)[_0x8413('0x22')](handleEntityNotFound(_0x4ae845,null))[_0x8413('0x22')](respondWithResult(_0x4ae845,null))[_0x8413('0x40')](handleError(_0x4ae845,null));};exports[_0x8413('0x43')]=function(_0x3d4c34,_0x10dd4a){return db['SquareMessage']['create'](_0x3d4c34[_0x8413('0x44')],{})[_0x8413('0x22')](respondWithResult(_0x10dd4a,0xc9))['catch'](handleError(_0x10dd4a,null));};exports[_0x8413('0x21')]=function(_0x330819,_0x3ca352){if(_0x330819['body']['id']){delete _0x330819[_0x8413('0x44')]['id'];}return db[_0x8413('0x3b')][_0x8413('0x42')]({'where':{'id':_0x330819[_0x8413('0x45')]['id']}})[_0x8413('0x22')](handleEntityNotFound(_0x3ca352,null))[_0x8413('0x22')](saveUpdates(_0x330819[_0x8413('0x44')],null))[_0x8413('0x22')](respondWithResult(_0x3ca352,null))[_0x8413('0x40')](handleError(_0x3ca352,null));};exports['destroy']=function(_0x34a008,_0x10a3c1){return db[_0x8413('0x3b')][_0x8413('0x42')]({'where':{'id':_0x34a008[_0x8413('0x45')]['id']}})[_0x8413('0x22')](handleEntityNotFound(_0x10a3c1,null))[_0x8413('0x22')](removeEntity(_0x10a3c1,null))[_0x8413('0x40')](handleError(_0x10a3c1,null));};