269 lines
7.5 KiB
JavaScript
269 lines
7.5 KiB
JavaScript
|
|
async function ajaxRequest(url, method, data) {
|
|
const options = {
|
|
url: url,
|
|
method: method,
|
|
beforeSend: function(xhr) {
|
|
xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
|
|
}
|
|
}
|
|
|
|
if (data) {
|
|
options.data = data;
|
|
options.processData = false;
|
|
options.contentType = false;
|
|
}
|
|
|
|
try {
|
|
const response = await $.ajax(options);
|
|
return response
|
|
}
|
|
catch (error) {
|
|
return error
|
|
}
|
|
}
|
|
|
|
// Saved Guilds
|
|
|
|
async function getSavedGuilds() {
|
|
return await ajaxRequest("/api/saved-guilds/", "GET");
|
|
}
|
|
|
|
async function getSavedGuild(id) {
|
|
return await ajaxRequest(`/api/saved-guilds/${id}/`, "GET");
|
|
}
|
|
|
|
async function newSavedGuild(formData) {
|
|
return await ajaxRequest("/api/saved-guilds/", "POST", formData);
|
|
}
|
|
|
|
async function deleteSavedGuild(id) {
|
|
return await ajaxRequest(`/api/saved-guilds/${id}/`, "DELETE");
|
|
}
|
|
|
|
// Loading Guilds
|
|
|
|
async function loadGuilds() {
|
|
return await ajaxRequest("/guilds", "GET");
|
|
}
|
|
|
|
// Subscriptions
|
|
|
|
async function getSubscriptions(guildId) {
|
|
const url = `/api/subscription/?guild_id=${guildId}`;
|
|
return await ajaxRequest(url, "GET");
|
|
}
|
|
|
|
async function getSubscription(id) {
|
|
return await ajaxRequest(`/api/subscription/${id}/`, "GET");
|
|
}
|
|
|
|
async function newSubscription(formData) {
|
|
return await ajaxRequest("/api/subscription/", "POST", formData);
|
|
}
|
|
|
|
async function deleteSubscription(id) {
|
|
return await ajaxRequest(`/api/subscription/${id}/`, "DELETE");
|
|
}
|
|
|
|
async function editSubscription(id, formData) {
|
|
return await ajaxRequest(`/api/subscription/${id}/`, "PUT", formData);
|
|
}
|
|
|
|
|
|
// Old functions
|
|
// Rewrite above
|
|
|
|
|
|
|
|
// function getSavedGuilds() {
|
|
// return new Promise(function(resolve, reject) {
|
|
// $.ajax({
|
|
// url: "/api/saved-guilds/",
|
|
// type: "GET",
|
|
// beforeSend: function(xhr) {
|
|
// xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
|
|
// },
|
|
// success: function(response) {
|
|
// resolve(response);
|
|
// },
|
|
// error: function(response) {
|
|
// reject(response);
|
|
// }
|
|
// });
|
|
// });
|
|
// }
|
|
|
|
// function getSavedGuild(id) {
|
|
// return new Promise(function(resolve, reject) {
|
|
// $.ajax({
|
|
// url: `/api/saved-guilds/${id}/`,
|
|
// type: "GET",
|
|
// beforeSend: function(xhr) {
|
|
// xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
|
|
// },
|
|
// success: function(response) {
|
|
// resolve(response);
|
|
// },
|
|
// error: function(response) {
|
|
// reject(response);
|
|
// }
|
|
// });
|
|
// });
|
|
// }
|
|
|
|
// function newSavedGuild(formData) {
|
|
// return new Promise(function(resolve, reject) {
|
|
// $.ajax({
|
|
// url: "/api/saved-guilds/",
|
|
// 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 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 getServer(serverId) {
|
|
// return new Promise(function(resolve, reject) {
|
|
// $.ajax({
|
|
// url: `/api/serverlink/?server_id=${serverId}`,
|
|
// type: "GET",
|
|
// beforeSend: function(xhr) {
|
|
// xhr.setRequestHeader("X-CSRFToken", CSRF_MiddlewareToken);
|
|
// },
|
|
// success: function(response) {
|
|
// resolve(response.results[0]);
|
|
// },
|
|
// error: function(response) {
|
|
// reject(response.results[0]);
|
|
// }
|
|
// });
|
|
// });
|
|
// }
|
|
|
|
// 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 patchSubscription(uuid, formData) {
|
|
// return new Promise(function(resolve, reject) {
|
|
// $.ajax({
|
|
// url: `/api/subscription/${uuid}/`,
|
|
// type: "PATCH",
|
|
// 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);
|
|
// }
|
|
// });
|
|
// });
|
|
// }
|