Files
OSIT-AE-App-Native-Electron/app/js/module_api.js
2020-02-19 14:37:40 -05:00

437 lines
12 KiB
JavaScript

/*
const os = require('os');
const path = require('path');
const fs = require('fs');
const { ipcRenderer } = require('electron');
*/
exports.api_token_request_async = async function (axios, secret_key) {
console.log('Requesting API temporary token...');
const url = '/api_token_request';
let data = { secret_key: secret_key };
const response = await axios.post(url, data)
.then(function (response) {
//console.log(response);
const api_temporary_token = response.data.temporary_token;
//console.log('API Temporary Token: '+temporary_token);
return api_temporary_token;
})
.catch(function (error) {
console.error(error);
return error;
});
return response;
}
exports.get_event_details = async function (axios, event_id) {
console.log('Requesting event details...');
const url = '/event/'+event_id;
const data = await axios.get(url)
.then(function (response) {
//console.log(response.data);
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.get_event_location_details = async function (axios, event_id, event_location_id) {
console.log('Requesting event location details...');
const url = '/event/'+event_id+'/location/'+event_location_id;
const data = await axios.get(url)
.then(function (response) {
//console.log(response.data);
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.get_event_location_sessions = async function (axios, event_id, event_location_id) {
console.log('Requesting location sessions...');
const url = '/event/'+event_id+'/location/'+event_location_id+'/session';
const data = await axios.get(url)
.then(function (response) {
//console.log(response.data);
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.get_session_presentations = async function (axios, event_id, event_session_id) {
console.log('Requesting session presentations...');
const url = '/event/'+event_id+'/session/'+event_session_id+'/presentation';
const data = await axios.get(url)
.then(function (response) {
//console.log(response.data);
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.get_presentation_presenters = async function (axios, event_id, event_session_id, event_presentation_id) {
console.log('Requesting presentation presenters...');
const url = '/event/'+event_id+'/session/'+event_session_id+'/presentation/'+event_presentation_id+'/presenter';
const data = await axios.get(url)
.then(function (response) {
//console.log(response.data);
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.get_files_for_type_for_id = async function (axios, for_type, for_id) {
console.log('Requesting files for '+for_type+' '+for_id);
const url = '/event/file/'+for_type+'/'+for_id;
const data = await axios.get(url)
.then(function (response) {
//console.log(response.data);
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
/*
exports.download_file_id = async function (axios, file_id, filename) {
ipcRenderer.send('download_file', api_base_url, api_endpoint, api_temporary_token, save_path); // in render thread
console.log('1: download file id '+file_id);
const url = '/event/file/'+file_id+'/download';
//const data = await axios.get(url, responseType: 'stream')
const data = await axios({
method: "get",
url: url,
responseType: "stream"
})
.then(function (response) {
console.log('2: downloaded file id '+file_id);
console.log(response);
//console.log(response.data);
let filename = 'default.txt';
if (typeof filename_override === 'undefined' || filename_override == null) {
let headerLine = response.data.headers['content-disposition'];
console.log(headerLine);
console.log(headerLine.indexOf('="'));
console.log(headerLine.indexOf('='));
if (headerLine.indexOf('="') != -1) {
let startFileNameIndex = headerLine.indexOf('="') + 2;
let endFileNameIndex = headerLine.lastIndexOf('"');
filename = headerLine.substring(startFileNameIndex, endFileNameIndex);
} else if (headerLine.indexOf('=') != -1) {
let startFileNameIndex = headerLine.indexOf('=') + 1;
let endFileNameIndex = headerLine.length;
filename = headerLine.substring(startFileNameIndex, endFileNameIndex);
} else {
filename = 'filename_not_found_in_header.txt';
}
} else {
filename = filename_override;
}
let directory = 'file_cache/';
directory_and_filename = path.join(directory, filename);
//console.log(directory_and_filename);
if (fs.existsSync(directory_and_filename)) {
console.log('3a: file already exists: '+directory_and_filename);
} else {
console.log('3b: saving file: '+directory_and_filename);
response.data.pipe(fs.createWriteStream(directory_and_filename));
}
//data = response.data;
console.log('4: saved file id '+file_id);
return true;
//return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
//return data;
}
*/
/* v2 Section */
exports.v2_get_account_events = async function (axios, account_id) {
console.log('Requesting account events...');
const url = '/v2/account/'+account_id+'/events';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 account events data: ***');
console.log(response.data);
console.log('v2 account events data: ^^^');
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_locations = async function (axios, event_id) {
console.log('Requesting event locations...');
const url = '/v2/event/'+event_id+'/event_locations';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 event locations data: ***');
console.log(response.data);
console.log('v2 event locations data: ^^^');
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_sessions = async function (axios, event_id) {
console.log('Requesting event sessions...');
const url = '/v2/event/'+event_id+'/event_sessions';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location sessions data: ***');
console.log(response.data);
console.log('v2 location sessions data: ^^^');
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_sessions = async function (axios, event_location_id) {
console.log('Requesting location sessions...');
const url = '/v2/event_location/'+event_location_id+'/event_sessions';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location sessions data: ***');
console.log(response.data);
console.log('v2 location sessions data: ^^^');
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_presentations = async function (axios, event_location_id) {
console.log('Requesting location presentations...');
const url = '/v2/event_location/'+event_location_id+'/event_presentations';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location presentations data: ***');
console.log(response.data);
console.log('v2 location presentations data: ^^^');
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_presenters = async function (axios, event_location_id) {
console.log('Requesting location presenters...');
const url = '/v2/event_location/'+event_location_id+'/event_presenters';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location presenters data: ***');
console.log(response.data);
console.log('v2 location presenters data: ^^^');
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_files = async function (axios, event_id) {
console.log('Requesting event files...');
const url = '/v2/event/'+event_id+'/event_files';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location files data: ***');
console.log(response.data);
console.log('v2 location files data: ^^^');
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_files = async function (axios, event_location_id) {
console.log('Requesting location files...');
const url = '/v2/event_location/'+event_location_id+'/event_files';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location files data: ***');
console.log(response.data);
console.log('v2 location files data: ^^^');
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_files_sessions = async function (axios, event_location_id) {
console.log('Requesting all session files for a location...');
const url = '/v2/event_location/'+event_location_id+'/event_files/sessions';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location files data: ***');
console.log(response.data);
console.log('v2 location files data: ^^^');
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_files_presentations = async function (axios, event_location_id) {
console.log('Requesting all presentation files for a location...');
const url = '/v2/event_location/'+event_location_id+'/event_files/presentations';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location files data: ***');
console.log(response.data);
console.log('v2 location files data: ^^^');
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}
exports.v2_get_event_location_files_presenters = async function (axios, event_location_id) {
console.log('Requesting all presenter files for a location...');
const url = '/v2/event_location/'+event_location_id+'/event_files/presenters';
const data = await axios.get(url)
.then(function (response) {
console.log('v2 location files data: ***');
console.log(response.data);
console.log('v2 location files data: ^^^');
//data = response.data;
return response.data;
})
.catch(function (error) {
console.log(error);
return error;
});
return data;
}