243 lines
6.5 KiB
JavaScript
243 lines
6.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
|
|
}
|
|
}
|
|
|
|
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");
|
|
}
|
|
|
|
async function loadGuilds() {
|
|
return await ajaxRequest("/guilds", "GET");
|
|
}
|
|
|
|
|
|
|
|
// 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);
|
|
}
|
|
});
|
|
});
|
|
} |