mirror of
https://github.com/PhoenixTwoFive/karaoqueue.git
synced 2025-07-04 17:21:43 +02:00
Implement EventID to scope ClientIDs and Entry IDs
Implement an EventID saved in settings. Currently this is used to scope clientIDs and entryIDs to an event. The client checks the event currently going on on the server, and discards its localstorage (containing the clientID) if it has changed
This commit is contained in:
@ -108,7 +108,7 @@
|
||||
{% block extrajs %}{% endblock %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
loadOrGenerateClientId()
|
||||
checkEventID()
|
||||
// get current URL path and assign 'active' class
|
||||
var pathname = window.location.pathname;
|
||||
$('.navbar-nav > li > a[href="' + pathname + '"]').parent().addClass('active');
|
||||
@ -130,6 +130,23 @@
|
||||
localStorage.setItem("clientId", create_UUID())
|
||||
}
|
||||
}
|
||||
|
||||
function getClientId() {
|
||||
return localStorage.getItem("clientId")
|
||||
}
|
||||
|
||||
async function checkEventID() {
|
||||
const localEventID = localStorage.getItem("eventID")
|
||||
const resp = await fetch("/api/events/current")
|
||||
const respJson = await resp.json()
|
||||
const remoteEventID = respJson.event
|
||||
|
||||
if (localEventID == null || localEventID != remoteEventID) {
|
||||
localStorage.clear()
|
||||
localStorage.setItem("eventID", remoteEventID)
|
||||
loadOrGenerateClientId()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
@ -79,7 +79,7 @@
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/api/enqueue',
|
||||
data: JSON.stringify(data), // or JSON.stringify ({name: 'jonas'}),
|
||||
data: JSON.stringify(data),
|
||||
success: success_callback,
|
||||
statusCode: {
|
||||
423: blocked_callback
|
||||
@ -99,6 +99,7 @@
|
||||
enqueue(localStorage.getItem("clientId"),id, name, function () {
|
||||
$("#enqueueModal").modal('hide');
|
||||
window.location.href = '/#end';
|
||||
|
||||
}, function (response) {
|
||||
bootbox.alert({
|
||||
message: "Deine Eintragung konnte leider nicht vorgenommen werden.\nGrund: "+response.responseJSON.status,
|
||||
|
Reference in New Issue
Block a user