handle server data deletion
Some checks are pending
Build and Push Docker Image / build (push) Waiting to run
Some checks are pending
Build and Push Docker Image / build (push) Waiting to run
This commit is contained in:
parent
841e24f508
commit
1d426dff26
@ -22,7 +22,7 @@ function getLoadedServer(options) {
|
|||||||
function getServerFromSnowflake(id) {
|
function getServerFromSnowflake(id) {
|
||||||
server = getLoadedServer({id: id});
|
server = getLoadedServer({id: id});
|
||||||
if (!server.length) {
|
if (!server.length) {
|
||||||
throw new Error("No Server with that ID");
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return server[0];
|
return server[0];
|
||||||
@ -207,7 +207,7 @@ function selectServer(id) {
|
|||||||
if (!server) {
|
if (!server) {
|
||||||
$("#noSelectedServer").show();
|
$("#noSelectedServer").show();
|
||||||
$("#selectedServerContainer").hide();
|
$("#selectedServerContainer").hide();
|
||||||
selectServer = null;
|
selectedServer = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -265,7 +265,7 @@ $(document).on("selectedServerChange", async function() {
|
|||||||
|
|
||||||
// region Load Servers
|
// region Load Servers
|
||||||
|
|
||||||
async function loadServers() {
|
async function loadServers(generate=true) {
|
||||||
|
|
||||||
// Remove any previously loaded servers
|
// Remove any previously loaded servers
|
||||||
$(".sidebar .sidebar-item").closest("li").remove();
|
$(".sidebar .sidebar-item").closest("li").remove();
|
||||||
@ -275,8 +275,12 @@ async function loadServers() {
|
|||||||
$(".sidebar .server-rate-limit").hide();
|
$(".sidebar .server-rate-limit").hide();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const servers = await ajaxRequest("/generate-servers/", "GET");
|
let data = await ajaxRequest(
|
||||||
servers.forEach(server => addToLoadedServers(server, false));
|
generate ? "/generate-servers/" : "/api/servers/",
|
||||||
|
"GET"
|
||||||
|
);
|
||||||
|
data = generate ? data : data.results; // api responds differently
|
||||||
|
data.forEach(server => addToLoadedServers(server, false));
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
switch (error?.status) {
|
switch (error?.status) {
|
||||||
@ -353,6 +357,34 @@ $(".js-serverHistoryBtn").on("click", () => {
|
|||||||
|
|
||||||
// region Delete Server Data
|
// region Delete Server Data
|
||||||
|
|
||||||
|
const eraseServerData = async server => {
|
||||||
|
const response = await ajaxRequest(`/api/servers/${server.id}/`, "DELETE");
|
||||||
|
debugger
|
||||||
|
|
||||||
|
// Only server owners can delete all data at once
|
||||||
|
if (response?.status === 403) {
|
||||||
|
createModal({
|
||||||
|
title: `Failed to Delete Data for ${server.name}`,
|
||||||
|
texts: [{
|
||||||
|
content: `Only the owner of <b>${server.name}</b> can erase all of it's data.`,
|
||||||
|
html: true
|
||||||
|
}],
|
||||||
|
buttons: [{
|
||||||
|
className: "btn-danger px-4",
|
||||||
|
iconClass: "bi-arrow-return-right",
|
||||||
|
closeModal: true
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return to the 'select a server' screen
|
||||||
|
selectServer(null);
|
||||||
|
|
||||||
|
// Refresh the sidebar server list
|
||||||
|
await loadServers(false);
|
||||||
|
}
|
||||||
|
|
||||||
$(".js-eraseServerBtn").on("click", () => {
|
$(".js-eraseServerBtn").on("click", () => {
|
||||||
const server = selectedServer; // Store incase it changes
|
const server = selectedServer; // Store incase it changes
|
||||||
const itemsToLose = arrayToHtmlList([
|
const itemsToLose = arrayToHtmlList([
|
||||||
@ -362,10 +394,6 @@ $(".js-eraseServerBtn").on("click", () => {
|
|||||||
"Tracked Content"
|
"Tracked Content"
|
||||||
]).addClass("mb-3").prop("outerHTML");
|
]).addClass("mb-3").prop("outerHTML");
|
||||||
|
|
||||||
const eraseServerData = () => {
|
|
||||||
alert("not implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
createModal({
|
createModal({
|
||||||
title: `Delete Data for ${server.name}?`,
|
title: `Delete Data for ${server.name}?`,
|
||||||
texts: [
|
texts: [
|
||||||
@ -378,7 +406,7 @@ $(".js-eraseServerBtn").on("click", () => {
|
|||||||
className: "btn-danger me-3",
|
className: "btn-danger me-3",
|
||||||
iconClass: "bi-trash3",
|
iconClass: "bi-trash3",
|
||||||
closeModal: true,
|
closeModal: true,
|
||||||
onClick: eraseServerData
|
onClick: () => eraseServerData(server)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
className: "btn-secondary px-4",
|
className: "btn-secondary px-4",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user