Built motion from commit (unavailable).|2.1.0
[motion2.git] / server / api / squareOdbc / squareOdbc.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 _0x1086=['keys','filters','fields','attributes','hasOwnProperty','limit','order','sort','where','pick','add','day','merge','filter','map','options','count','includeAll','findAll','rows','catch','params','intersection','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','dsn','odbc','openSync','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','util','path','sox','to-csv','squel','jsforce','querystring','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','json','offset','set','Content-Range','apply','reject','save','update','then','destroy','get','ODBC','UserProfileResource','status','stack','name','send','index','SquareOdbc','rawAttributes','model','query','dateStart','dateEnd'];(function(_0x454186,_0xfd983e){var _0x2e1ff4=function(_0x325619){while(--_0x325619){_0x454186['push'](_0x454186['shift']());}};_0x2e1ff4(++_0xfd983e);}(_0x1086,0x118));var _0x6108=function(_0x5bafd5,_0x5b0fff){_0x5bafd5=_0x5bafd5-0x0;var _0x3be243=_0x1086[_0x5bafd5];return _0x3be243;};'use strict';var pdf=require(_0x6108('0x0'));var emlformat=require(_0x6108('0x1'));var rimraf=require(_0x6108('0x2'));var zipdir=require(_0x6108('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x6108('0x4'));var Mustache=require(_0x6108('0x5'));var util=require(_0x6108('0x6'));var path=require(_0x6108('0x7'));var sox=require(_0x6108('0x8'));var csv=require(_0x6108('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x6108('0xa'));var crypto=require('crypto');var jsforce=require(_0x6108('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6108('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var qs=require(_0x6108('0xd'));var logger=require(_0x6108('0xe'))(_0x6108('0xf'));var utils=require(_0x6108('0x10'));var config=require(_0x6108('0x11'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x48a707,_0x7560c1){_0x7560c1=_0x7560c1||0xcc;return function(_0x249e59){if(_0x249e59){return _0x48a707[_0x6108('0x12')](_0x7560c1);}return _0x48a707['status'](_0x7560c1)[_0x6108('0x13')]();};}function respondWithResult(_0x2f20c0,_0x44a2ef){_0x44a2ef=_0x44a2ef||0xc8;return function(_0x435ec2){if(_0x435ec2){return _0x2f20c0['status'](_0x44a2ef)[_0x6108('0x14')](_0x435ec2);}};}function respondWithFilteredResult(_0x16270d,_0x59d015){return function(_0x2d1706){if(_0x2d1706){var _0x576055=_0x2d1706['count'],_0x1ac9ac=_0x59d015[_0x6108('0x15')],_0x3bd751=_0x59d015[_0x6108('0x15')]+_0x59d015['limit'],_0x413834;if(_0x3bd751>=_0x576055){_0x3bd751=_0x576055;_0x413834=0xc8;}else{_0x413834=0xce;}_0x16270d['status'](_0x413834);return _0x16270d[_0x6108('0x16')](_0x6108('0x17'),_0x1ac9ac+'-'+_0x3bd751+'/'+_0x576055)[_0x6108('0x14')](_0x2d1706);}return null;};}function patchUpdates(_0x2a2082){return function(_0x584182){try{jsonpatch[_0x6108('0x18')](_0x584182,_0x2a2082,!![]);}catch(_0x22db70){return BPromise[_0x6108('0x19')](_0x22db70);}return _0x584182[_0x6108('0x1a')]();};}function saveUpdates(_0x58c144,_0x1405f2){return function(_0x3c2113){if(_0x3c2113){return _0x3c2113[_0x6108('0x1b')](_0x58c144)[_0x6108('0x1c')](function(_0x422070){return _0x422070;});}return null;};}function removeEntity(_0x486bf9,_0x522862){return function(_0x4fc971){if(_0x4fc971){return _0x4fc971[_0x6108('0x1d')]()[_0x6108('0x1c')](function(){var _0x5c3e2b=_0x4fc971[_0x6108('0x1e')]({'plain':!![]});var _0x507487=_0x6108('0x1f');return db[_0x6108('0x20')]['destroy']({'where':{'type':_0x507487,'resourceId':_0x5c3e2b['id']}})[_0x6108('0x1c')](function(){return _0x4fc971;});})[_0x6108('0x1c')](function(){_0x486bf9[_0x6108('0x21')](0xcc)[_0x6108('0x13')]();});}};}function handleEntityNotFound(_0xb1a03f,_0x47c417){return function(_0x520b7a){if(!_0x520b7a){_0xb1a03f[_0x6108('0x12')](0x194);}return _0x520b7a;};}function handleError(_0x343a70,_0x385c2f){_0x385c2f=_0x385c2f||0x1f4;return function(_0x304150){logger['error'](_0x304150[_0x6108('0x22')]);if(_0x304150['name']){delete _0x304150[_0x6108('0x23')];}_0x343a70[_0x6108('0x21')](_0x385c2f)[_0x6108('0x24')](_0x304150);};}exports[_0x6108('0x25')]=function(_0x359df7,_0x527dc7){var _0x2e8e61={},_0x4a7e44={},_0xd5d522={'count':0x0,'rows':[]};var _0x3d733f=db[_0x6108('0x26')][_0x6108('0x27')];_0x4a7e44[_0x6108('0x28')]=_['keys'](_0x3d733f);var _0x14a089={'dateStart':_0x359df7[_0x6108('0x29')][_0x6108('0x2a')],'dateEnd':_0x359df7['query'][_0x6108('0x2b')]};delete _0x359df7[_0x6108('0x29')][_0x6108('0x2a')];delete _0x359df7[_0x6108('0x29')][_0x6108('0x2b')];_0x4a7e44[_0x6108('0x29')]=_[_0x6108('0x2c')](_0x359df7[_0x6108('0x29')]);_0x4a7e44[_0x6108('0x2d')]=_['intersection'](_0x4a7e44[_0x6108('0x28')],_0x4a7e44['query']);_0x2e8e61['attributes']=_['intersection'](_0x4a7e44['model'],qs[_0x6108('0x2e')](_0x359df7[_0x6108('0x29')]['fields']));_0x2e8e61[_0x6108('0x2f')]=_0x2e8e61[_0x6108('0x2f')]['length']?_0x2e8e61[_0x6108('0x2f')]:_0x4a7e44[_0x6108('0x28')];if(!_0x359df7[_0x6108('0x29')][_0x6108('0x30')]('nolimit')){_0x2e8e61[_0x6108('0x31')]=qs[_0x6108('0x31')](_0x359df7[_0x6108('0x29')][_0x6108('0x31')]);_0x2e8e61[_0x6108('0x15')]=qs[_0x6108('0x15')](_0x359df7['query'][_0x6108('0x15')]);}_0x2e8e61[_0x6108('0x32')]=qs[_0x6108('0x33')](_0x359df7['query'][_0x6108('0x33')]);_0x2e8e61[_0x6108('0x34')]=qs[_0x6108('0x2d')](_[_0x6108('0x35')](_0x359df7[_0x6108('0x29')],_0x4a7e44[_0x6108('0x2d')]));if(_0x14a089[_0x6108('0x2a')]){if(_0x14a089['dateEnd']){_0x14a089[_0x6108('0x2b')]=moment(_0x14a089[_0x6108('0x2b')])[_0x6108('0x36')](0x1,_0x6108('0x37'));}else{_0x14a089[_0x6108('0x2b')]=moment(_0x14a089[_0x6108('0x2a')])[_0x6108('0x36')](0x1,_0x6108('0x37'));}_[_0x6108('0x38')](_0x2e8e61[_0x6108('0x34')],{'createdAt':{'$gte':_0x14a089[_0x6108('0x2a')],'$lte':_0x14a089['dateEnd']}});}if(_0x359df7[_0x6108('0x29')][_0x6108('0x39')]){_0x2e8e61[_0x6108('0x34')]=_['merge'](_0x2e8e61['where'],{'$or':_[_0x6108('0x3a')](_0x2e8e61[_0x6108('0x2f')],function(_0x2111a2){var _0x43ec99={};_0x43ec99[_0x2111a2]={'$like':'%'+_0x359df7[_0x6108('0x29')][_0x6108('0x39')]+'%'};return _0x43ec99;})});}_0x2e8e61=_[_0x6108('0x38')]({},_0x2e8e61,_0x359df7[_0x6108('0x3b')]);var _0x3bc1b0={'where':_0x2e8e61['where']};return db[_0x6108('0x26')]['count'](_0x3bc1b0)['then'](function(_0x5e1c74){_0xd5d522[_0x6108('0x3c')]=_0x5e1c74;if(_0x359df7[_0x6108('0x29')][_0x6108('0x3d')]){_0x2e8e61['include']=[{'all':!![]}];}return db[_0x6108('0x26')][_0x6108('0x3e')](_0x2e8e61);})[_0x6108('0x1c')](function(_0x416067){_0xd5d522[_0x6108('0x3f')]=_0x416067;return _0xd5d522;})['then'](respondWithFilteredResult(_0x527dc7,_0x2e8e61))[_0x6108('0x40')](handleError(_0x527dc7,null));};exports['show']=function(_0x4d6f25,_0x1eedf0){var _0x1f7574={'raw':!![],'where':{'id':_0x4d6f25[_0x6108('0x41')]['id']}},_0x3875f1={};_0x3875f1[_0x6108('0x28')]=_[_0x6108('0x2c')](db[_0x6108('0x26')][_0x6108('0x27')]);_0x3875f1[_0x6108('0x29')]=_[_0x6108('0x2c')](_0x4d6f25['query']);_0x3875f1[_0x6108('0x2d')]=_[_0x6108('0x42')](_0x3875f1['model'],_0x3875f1['query']);_0x1f7574[_0x6108('0x2f')]=_[_0x6108('0x42')](_0x3875f1[_0x6108('0x28')],qs[_0x6108('0x2e')](_0x4d6f25[_0x6108('0x29')]['fields']));_0x1f7574[_0x6108('0x2f')]=_0x1f7574['attributes']['length']?_0x1f7574['attributes']:_0x3875f1[_0x6108('0x28')];if(_0x4d6f25['query'][_0x6108('0x3d')]){_0x1f7574[_0x6108('0x43')]=[{'all':!![]}];}_0x1f7574=_[_0x6108('0x38')]({},_0x1f7574,_0x4d6f25[_0x6108('0x3b')]);return db[_0x6108('0x26')][_0x6108('0x44')](_0x1f7574)[_0x6108('0x1c')](handleEntityNotFound(_0x1eedf0,null))['then'](respondWithResult(_0x1eedf0,null))[_0x6108('0x40')](handleError(_0x1eedf0,null));};exports[_0x6108('0x45')]=function(_0x392fd3,_0x212396){return db['SquareOdbc'][_0x6108('0x45')](_0x392fd3[_0x6108('0x46')],{})['then'](function(_0x13d7f4){var _0x1a182a=_0x392fd3[_0x6108('0x47')][_0x6108('0x1e')]({'plain':!![]});if(!_0x1a182a)throw new Error(_0x6108('0x48'));if(_0x1a182a['role']===_0x6108('0x47')){var _0x12155d=_0x13d7f4['get']({'plain':!![]});var _0x34ff13=_0x6108('0x1f');return db[_0x6108('0x49')][_0x6108('0x44')]({'where':{'name':_0x34ff13,'userProfileId':_0x1a182a[_0x6108('0x4a')]},'raw':!![]})[_0x6108('0x1c')](function(_0x4708c6){if(_0x4708c6&&_0x4708c6[_0x6108('0x4b')]===0x0){return db[_0x6108('0x20')]['create']({'name':_0x12155d[_0x6108('0x23')],'resourceId':_0x12155d['id'],'type':_0x4708c6[_0x6108('0x23')],'sectionId':_0x4708c6['id']},{})[_0x6108('0x1c')](function(){return _0x13d7f4;});}else{return _0x13d7f4;}})[_0x6108('0x40')](function(_0x2ab331){logger[_0x6108('0x4c')](_0x6108('0x4d'),_0x2ab331);throw _0x2ab331;});}return _0x13d7f4;})['then'](respondWithResult(_0x212396,0xc9))[_0x6108('0x40')](handleError(_0x212396,null));};exports[_0x6108('0x1b')]=function(_0x1c04b7,_0x1eb7ef){if(_0x1c04b7[_0x6108('0x46')]['id']){delete _0x1c04b7[_0x6108('0x46')]['id'];}return db[_0x6108('0x26')][_0x6108('0x44')]({'where':{'id':_0x1c04b7[_0x6108('0x41')]['id']}})['then'](handleEntityNotFound(_0x1eb7ef,null))['then'](saveUpdates(_0x1c04b7[_0x6108('0x46')],null))['then'](respondWithResult(_0x1eb7ef,null))['catch'](handleError(_0x1eb7ef,null));};exports[_0x6108('0x1d')]=function(_0x38a46d,_0x3cdc51){return db[_0x6108('0x26')][_0x6108('0x44')]({'where':{'id':_0x38a46d[_0x6108('0x41')]['id']}})['then'](handleEntityNotFound(_0x3cdc51,null))[_0x6108('0x1c')](removeEntity(_0x3cdc51,null))[_0x6108('0x40')](handleError(_0x3cdc51,null));};exports['test']=function(_0x332b04,_0x591c26,_0xa65b30){var _0x47083c;return db['SquareOdbc']['find']({'where':{'id':_0x332b04[_0x6108('0x41')]['id']},'attributes':['id',_0x6108('0x4e')]})[_0x6108('0x1c')](handleEntityNotFound(_0x591c26,null))[_0x6108('0x1c')](function(_0x5927ca){if(_0x5927ca){var _0x4fc6d1=require(_0x6108('0x4f'))();_0x4fc6d1[_0x6108('0x50')](_0x5927ca[_0x6108('0x4e')]);_0x4fc6d1['closeSync']();return _0x5927ca;}})[_0x6108('0x1c')](respondWithResult(_0x591c26,null))['catch'](handleError(_0x591c26,null));};