API interaction functions

This commit is contained in:
Corban-Lee Jones 2024-03-07 23:03:36 +00:00
parent ce3cd422fb
commit 9c79094c74
2 changed files with 100 additions and 0 deletions

96
apps/static/js/api.js Normal file
View File

@ -0,0 +1,96 @@
function getSubscriptions() {
return new Promise(function(resolve, reject) {
$.ajax({
url: "/api/subscription/",
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
},
success: function(response) {
resolve(response);
},
error: function(response) {
reject(response);
}
});
});
}
function getSubscription(uuid) {
return new Promise(function(resolve, reject) {
$.ajax({
url: `/api/subscription/${uuid}/`,
type: "GET",
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
},
success: function(response) {
resolve(response);
},
error: function(response) {
reject(response);
}
});
});
}
function newSubscription(formData) {
return new Promise(function(resolve, reject) {
$.ajax({
url: "/api/subscription/",
type: "POST",
data: formData,
processData: false,
contentType: false,
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
},
success: function(response) {
resolve(response);
},
error: function(response) {
reject(response);
}
});
});
}
function editSubscription(uuid, formData) {
return new Promise(function(resolve, reject) {
$.ajax({
url: `/api/subscription/${uuid}/`,
type: "PUT",
data: formData,
processData: false,
contentType: false,
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
},
success: function(response) {
resolve(response);
},
error: function(response) {
reject(response);
}
});
});
}
function deleteSubscription(uuid) {
return new Promise(function(resolve, reject) {
$.ajax({
url: `/api/subscription/${uuid}/`,
type: "DELETE",
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
},
success: function(response) {
resolve(response);
},
error: function(response) {
reject(response);
}
});
});
}

View File

@ -75,6 +75,10 @@
</div>
<script>
const CSRF_MiddlewareToken = "{{ csrf_token }}";
</script>
{% include 'includes/scripts.html' %}
<!-- Specific Page JS goes HERE -->