All checks were successful
Build and Push Docker Image / build (push) Successful in 1m22s
175 lines
4.3 KiB
JavaScript
175 lines
4.3 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
|
|
}
|
|
}
|
|
|
|
function makeQuerystring(filters, sort) {
|
|
let querystring = "?";
|
|
for (key in filters) {
|
|
querystring += `${key}=${filters[key]}&`;
|
|
}
|
|
|
|
return sort ? querystring += `ordering=${sort}` : querystring;
|
|
}
|
|
|
|
// 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");
|
|
}
|
|
|
|
// Loading Channels
|
|
async function loadChannels(guildId) {
|
|
return await ajaxRequest(`/channels?guild=${guildId}`, "GET");
|
|
}
|
|
|
|
// Subscriptions
|
|
|
|
async function getSubscriptions(filters, sort) {
|
|
let querystring = makeQuerystring(filters, sort);
|
|
return await ajaxRequest(`/api/subscription/${querystring}`, "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);
|
|
}
|
|
|
|
async function getSubscriptionOptions() {
|
|
return await ajaxRequest("/api/subscription/", "OPTIONS")
|
|
}
|
|
|
|
|
|
// SubChannels
|
|
|
|
async function getSubChannels(subscriptionId) {
|
|
return await ajaxRequest(`/api/subchannel/?subscription=${subscriptionId}`, "GET");
|
|
}
|
|
|
|
async function getSubChannel(id) {
|
|
return await ajaxRequest(`/api/subchannel/${id}/`, "GET");
|
|
}
|
|
|
|
async function newSubChannel(formData) {
|
|
return await ajaxRequest("/api/subchannel/", "POST", formData);
|
|
}
|
|
|
|
async function deleteSubChannel(id) {
|
|
return await ajaxRequest(`/api/subchannel/${id}/`, "DELETE")
|
|
}
|
|
|
|
async function deleteSubChannels(subscriptionId) {
|
|
return await ajaxRequest(`/api/subscription/${subscriptionId}/subchannels/`, "DELETE");
|
|
}
|
|
|
|
|
|
// Filters
|
|
|
|
async function getFilters(filters, sort) {
|
|
let querystring = makeQuerystring(filters, sort);
|
|
return await ajaxRequest(`/api/filter/${querystring}`, "GET");
|
|
}
|
|
|
|
async function getFilter(id) {
|
|
return await ajaxRequest(`/api/filter/${id}/`, "GET");
|
|
}
|
|
|
|
async function newFilter(formData) {
|
|
return await ajaxRequest("/api/filter/", "POST", formData);
|
|
}
|
|
|
|
async function deleteFilter(id) {
|
|
return await ajaxRequest(`/api/filter/${id}/`, "DELETE");
|
|
}
|
|
|
|
async function editFilter(id, formData) {
|
|
return await ajaxRequest(`/api/filter/${id}/`, "PUT", formData);
|
|
}
|
|
|
|
async function getFilterOptions() {
|
|
return await ajaxRequest("/api/filter/", "OPTIONS")
|
|
}
|
|
|
|
|
|
// Tracked Content
|
|
|
|
async function getTrackedContent(filters, sort) {
|
|
let querystring = makeQuerystring(filters, sort);
|
|
url = `/api/tracked-content/${querystring}`;
|
|
return await ajaxRequest(url, "GET");
|
|
}
|
|
|
|
async function deleteTrackedContent(guid) {
|
|
const encodedGuid = encodeURIComponent(guid);
|
|
return await ajaxRequest(`/api/tracked-content/${encodedGuid}/`, "DELETE");
|
|
}
|
|
|
|
async function getTrackedContentOptions() {
|
|
return await ajaxRequest("/api/tracked-content/", "OPTIONS")
|
|
}
|
|
|
|
// Mutators
|
|
|
|
async function getMutators() {
|
|
return await ajaxRequest("/api/article-mutator/?page_size=25", "GET");
|
|
}
|
|
|
|
// guild settings
|
|
|
|
async function getGuildSettings(guildId) {
|
|
return await ajaxRequest(`/api/guild-settings/?guild_id=${guildId}`, "GET");
|
|
}
|
|
|
|
async function editGuildSettings(id, formData) {
|
|
return await ajaxRequest(`/api/guild-settings/${id}/`, "PUT", formData);
|
|
}
|