61f072a0aabc9488d3bd7328231aa8185d6c2423
[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 _0x130b=['update','then','error','stack','name','send','index','SquareMessage','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','create','body','find','destroy','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save'];(function(_0x1d3194,_0x4d923c){var _0x472c1d=function(_0x3900e8){while(--_0x3900e8){_0x1d3194['push'](_0x1d3194['shift']());}};_0x472c1d(++_0x4d923c);}(_0x130b,0x73));var _0xb130=function(_0x1ccdf7,_0x215d5a){_0x1ccdf7=_0x1ccdf7-0x0;var _0x52a0ae=_0x130b[_0x1ccdf7];return _0x52a0ae;};'use strict';var pdf=require(_0xb130('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb130('0x1'));var zipdir=require(_0xb130('0x2'));var jsonpatch=require(_0xb130('0x3'));var rp=require(_0xb130('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb130('0x5'));var util=require(_0xb130('0x6'));var path=require('path');var sox=require(_0xb130('0x7'));var csv=require(_0xb130('0x8'));var ejs=require(_0xb130('0x9'));var fs=require('fs');var _=require(_0xb130('0xa'));var squel=require('squel');var crypto=require(_0xb130('0xb'));var jsforce=require(_0xb130('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb130('0xd'));var Papa=require(_0xb130('0xe'));var Redis=require(_0xb130('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xb130('0x10'));var as=require(_0xb130('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb130('0x12'))(_0xb130('0x13'));var utils=require(_0xb130('0x14'));var config=require(_0xb130('0x15'));var licenseUtil=require(_0xb130('0x16'));var db=require(_0xb130('0x17'))['db'];function respondWithStatusCode(_0x1eb2ca,_0x1ab36d){_0x1ab36d=_0x1ab36d||0xcc;return function(_0x416a3a){if(_0x416a3a){return _0x1eb2ca[_0xb130('0x18')](_0x1ab36d);}return _0x1eb2ca[_0xb130('0x19')](_0x1ab36d)[_0xb130('0x1a')]();};}function respondWithResult(_0x365120,_0x22bc89){_0x22bc89=_0x22bc89||0xc8;return function(_0x490697){if(_0x490697){return _0x365120['status'](_0x22bc89)[_0xb130('0x1b')](_0x490697);}};}function respondWithFilteredResult(_0x32e84d,_0x46e76e){return function(_0x3f146d){if(_0x3f146d){var _0xc76f21=_0x3f146d[_0xb130('0x1c')],_0x3cd20b=_0x46e76e[_0xb130('0x1d')],_0x1cccab=_0x46e76e[_0xb130('0x1d')]+_0x46e76e[_0xb130('0x1e')],_0x2a02c6;if(_0x1cccab>=_0xc76f21){_0x1cccab=_0xc76f21;_0x2a02c6=0xc8;}else{_0x2a02c6=0xce;}_0x32e84d[_0xb130('0x19')](_0x2a02c6);return _0x32e84d['set'](_0xb130('0x1f'),_0x3cd20b+'-'+_0x1cccab+'/'+_0xc76f21)['json'](_0x3f146d);}return null;};}function patchUpdates(_0x309402){return function(_0x20a268){try{jsonpatch[_0xb130('0x20')](_0x20a268,_0x309402,!![]);}catch(_0xd4d5b0){return BPromise[_0xb130('0x21')](_0xd4d5b0);}return _0x20a268[_0xb130('0x22')]();};}function saveUpdates(_0x3f3012,_0x406199){return function(_0x1dd997){if(_0x1dd997){return _0x1dd997[_0xb130('0x23')](_0x3f3012)[_0xb130('0x24')](function(_0x3906ae){return _0x3906ae;});}return null;};}function removeEntity(_0x1aa99a,_0x43c100){return function(_0x91c19f){if(_0x91c19f){return _0x91c19f['destroy']()['then'](function(){_0x1aa99a[_0xb130('0x19')](0xcc)[_0xb130('0x1a')]();});}};}function handleEntityNotFound(_0x199573,_0x58af02){return function(_0x399b8b){if(!_0x399b8b){_0x199573[_0xb130('0x18')](0x194);}return _0x399b8b;};}function handleError(_0x5b3cfe,_0x18223d){_0x18223d=_0x18223d||0x1f4;return function(_0x5dc3dd){logger[_0xb130('0x25')](_0x5dc3dd[_0xb130('0x26')]);if(_0x5dc3dd[_0xb130('0x27')]){delete _0x5dc3dd[_0xb130('0x27')];}_0x5b3cfe[_0xb130('0x19')](_0x18223d)[_0xb130('0x28')](_0x5dc3dd);};}exports[_0xb130('0x29')]=function(_0x2d03ce,_0x420e57){var _0x51ff33={},_0x2b4b5e={},_0x470db0={'count':0x0,'rows':[]};var _0x450f2f=_['map'](db[_0xb130('0x2a')]['rawAttributes'],function(_0x5e9254){return{'name':_0x5e9254[_0xb130('0x2b')],'type':_0x5e9254['type'][_0xb130('0x2c')]};});_0x2b4b5e[_0xb130('0x2d')]=_['map'](_0x450f2f,_0xb130('0x27'));_0x2b4b5e[_0xb130('0x2e')]=_[_0xb130('0x2f')](_0x2d03ce['query']);_0x2b4b5e['filters']=_[_0xb130('0x30')](_0x2b4b5e[_0xb130('0x2d')],_0x2b4b5e['query']);_0x51ff33[_0xb130('0x31')]=_[_0xb130('0x30')](_0x2b4b5e[_0xb130('0x2d')],qs[_0xb130('0x32')](_0x2d03ce[_0xb130('0x2e')][_0xb130('0x32')]));_0x51ff33[_0xb130('0x31')]=_0x51ff33[_0xb130('0x31')][_0xb130('0x33')]?_0x51ff33[_0xb130('0x31')]:_0x2b4b5e[_0xb130('0x2d')];if(!_0x2d03ce[_0xb130('0x2e')][_0xb130('0x34')](_0xb130('0x35'))){_0x51ff33[_0xb130('0x1e')]=qs['limit'](_0x2d03ce[_0xb130('0x2e')][_0xb130('0x1e')]);_0x51ff33[_0xb130('0x1d')]=qs[_0xb130('0x1d')](_0x2d03ce[_0xb130('0x2e')]['offset']);}_0x51ff33['order']=qs[_0xb130('0x36')](_0x2d03ce[_0xb130('0x2e')][_0xb130('0x36')]);_0x51ff33['where']=qs[_0xb130('0x37')](_[_0xb130('0x38')](_0x2d03ce[_0xb130('0x2e')],_0x2b4b5e[_0xb130('0x37')]),_0x450f2f);if(_0x2d03ce[_0xb130('0x2e')][_0xb130('0x39')]){_0x51ff33[_0xb130('0x3a')]=_[_0xb130('0x3b')](_0x51ff33['where'],{'$or':_['map'](_0x450f2f,function(_0x277b83){if(_0x277b83[_0xb130('0x3c')]!==_0xb130('0x3d')){var _0x83d8f7={};_0x83d8f7[_0x277b83[_0xb130('0x27')]]={'$like':'%'+_0x2d03ce[_0xb130('0x2e')][_0xb130('0x39')]+'%'};return _0x83d8f7;}})});}_0x51ff33=_[_0xb130('0x3b')]({},_0x51ff33,_0x2d03ce[_0xb130('0x3e')]);var _0x1ec492={'where':_0x51ff33[_0xb130('0x3a')]};return db[_0xb130('0x2a')][_0xb130('0x1c')](_0x1ec492)[_0xb130('0x24')](function(_0x530148){_0x470db0[_0xb130('0x1c')]=_0x530148;if(_0x2d03ce[_0xb130('0x2e')][_0xb130('0x3f')]){_0x51ff33[_0xb130('0x40')]=[{'all':!![]}];}return db[_0xb130('0x2a')][_0xb130('0x41')](_0x51ff33);})[_0xb130('0x24')](function(_0x266fe9){_0x470db0[_0xb130('0x42')]=_0x266fe9;return _0x470db0;})[_0xb130('0x24')](respondWithFilteredResult(_0x420e57,_0x51ff33))[_0xb130('0x43')](handleError(_0x420e57,null));};exports[_0xb130('0x44')]=function(_0x4b7023,_0x5b065d){var _0x34425b={'raw':!![],'where':{'id':_0x4b7023[_0xb130('0x45')]['id']}},_0x92223={};_0x92223[_0xb130('0x2d')]=_[_0xb130('0x2f')](db[_0xb130('0x2a')][_0xb130('0x46')]);_0x92223[_0xb130('0x2e')]=_['keys'](_0x4b7023['query']);_0x92223[_0xb130('0x37')]=_[_0xb130('0x30')](_0x92223['model'],_0x92223[_0xb130('0x2e')]);_0x34425b['attributes']=_[_0xb130('0x30')](_0x92223[_0xb130('0x2d')],qs[_0xb130('0x32')](_0x4b7023[_0xb130('0x2e')]['fields']));_0x34425b[_0xb130('0x31')]=_0x34425b['attributes'][_0xb130('0x33')]?_0x34425b['attributes']:_0x92223[_0xb130('0x2d')];if(_0x4b7023[_0xb130('0x2e')][_0xb130('0x3f')]){_0x34425b[_0xb130('0x40')]=[{'all':!![]}];}_0x34425b=_[_0xb130('0x3b')]({},_0x34425b,_0x4b7023['options']);return db[_0xb130('0x2a')]['find'](_0x34425b)[_0xb130('0x24')](handleEntityNotFound(_0x5b065d,null))['then'](respondWithResult(_0x5b065d,null))[_0xb130('0x43')](handleError(_0x5b065d,null));};exports[_0xb130('0x47')]=function(_0x3dbcff,_0x4a5955){return db[_0xb130('0x2a')][_0xb130('0x47')](_0x3dbcff[_0xb130('0x48')],{})[_0xb130('0x24')](respondWithResult(_0x4a5955,0xc9))[_0xb130('0x43')](handleError(_0x4a5955,null));};exports[_0xb130('0x23')]=function(_0x2eb0c6,_0x600983){if(_0x2eb0c6[_0xb130('0x48')]['id']){delete _0x2eb0c6[_0xb130('0x48')]['id'];}return db['SquareMessage'][_0xb130('0x49')]({'where':{'id':_0x2eb0c6[_0xb130('0x45')]['id']}})[_0xb130('0x24')](handleEntityNotFound(_0x600983,null))[_0xb130('0x24')](saveUpdates(_0x2eb0c6[_0xb130('0x48')],null))['then'](respondWithResult(_0x600983,null))[_0xb130('0x43')](handleError(_0x600983,null));};exports[_0xb130('0x4a')]=function(_0x3ce572,_0x47a8b9){return db[_0xb130('0x2a')]['find']({'where':{'id':_0x3ce572['params']['id']}})[_0xb130('0x24')](handleEntityNotFound(_0x47a8b9,null))[_0xb130('0x24')](removeEntity(_0x47a8b9,null))[_0xb130('0x43')](handleError(_0x47a8b9,null));};