130 lines
3.5 KiB
JavaScript
130 lines
3.5 KiB
JavaScript
function load() {
|
|
if (localStorage.getItem("api_url") != null) {
|
|
document.getElementById("api_url").value = localStorage.getItem("api_url");
|
|
}
|
|
if (localStorage.getItem("api_key") != null) {
|
|
document.getElementById("api_key").value = localStorage.getItem("api_key");
|
|
}
|
|
}
|
|
|
|
function save() {
|
|
localStorage.setItem("api_url", document.getElementById("api_url").value);
|
|
localStorage.setItem("api_key", document.getElementById("api_key").value);
|
|
|
|
sendSaveToast();
|
|
}
|
|
|
|
function sendSaveToast() {
|
|
const Toast = Swal.mixin({
|
|
toast: true,
|
|
position: 'top-end',
|
|
showConfirmButton: false,
|
|
timer: 3000,
|
|
timerProgressBar: true
|
|
})
|
|
|
|
Toast.fire({
|
|
icon: 'success',
|
|
title: 'Data saved successfully'
|
|
})
|
|
}
|
|
|
|
function sendRequest(type, endpoint, postData = {}) {
|
|
return $.ajax({
|
|
url: document.getElementById("api_url").value + "/" + endpoint,
|
|
type: type,
|
|
dataType: "json",
|
|
headers: {
|
|
Authorization: "Bearer " + document.getElementById("api_key").value
|
|
},
|
|
data: postData
|
|
}).then(result => {
|
|
handleResult(result);
|
|
}).catch(result => {
|
|
handleResult(result.responseJSON)
|
|
});
|
|
}
|
|
|
|
async function prepare(title, placeholder, confirm = "Execute") {
|
|
return await Swal.fire({
|
|
title: title,
|
|
input: "text",
|
|
inputPlaceholder: placeholder,
|
|
showCancelButton: true,
|
|
confirmButtonText: confirm,
|
|
showLoaderOnConfirm: true
|
|
});
|
|
}
|
|
|
|
function handleResult(result) {
|
|
console.log(result);
|
|
Swal.fire({
|
|
title: "Result received",
|
|
html: `<pre id="json">${JSON.stringify(result, undefined, 1)}</pre><style>pre {text-align: left}</style>`
|
|
});
|
|
}
|
|
|
|
async function createGift() {
|
|
let result = await prepare("Create gift", "Article ID");
|
|
|
|
if (result.isConfirmed) sendRequest("PUT", "gift", {articleID: result.value})
|
|
}
|
|
|
|
async function deleteGift() {
|
|
let result = await prepare("Delete gift", "Gift ID");
|
|
|
|
if (result.isConfirmed) sendRequest("DELETE", "gift/" + result.value)
|
|
}
|
|
|
|
async function getItems() {
|
|
let guild = await prepare("Show items", "Guild ID");
|
|
|
|
if (guild.isConfirmed) sendRequest("GET", "shop/?guildID=" +guild.value)
|
|
}
|
|
|
|
async function enableItem() {
|
|
let result = await prepare("Enable item", "Item ID", "Next");
|
|
|
|
if (!result.isConfirmed) return;
|
|
|
|
let guild = await prepare("Enable item", "Guild ID");
|
|
|
|
if (result.isConfirmed) sendRequest("PUT", "shop", {articleID: result.value, guildID: guild.value})
|
|
}
|
|
|
|
async function disableItem() {
|
|
let result = await prepare("Disable item", "Item ID", "Next");
|
|
|
|
if (!result.isConfirmed) return;
|
|
|
|
let guild = await prepare("Disable item", "Guild ID");
|
|
|
|
if (result.isConfirmed) sendRequest("DELETE", "shop", {articleID: result.value, guildID: guild.value})
|
|
}
|
|
|
|
|
|
async function getServer() {
|
|
sendRequest("GET", "user/guilds");
|
|
}
|
|
|
|
async function shortURL() {
|
|
let origin = await prepare("Short URL", "Original URL", "Next");
|
|
|
|
if (!origin.isConfirmed) return;
|
|
|
|
let custom = await prepare("Short URL", "Custom URL (leave empty for random)");
|
|
|
|
let optionalJSON = custom.value === "" ? {} : {custom_url: custom.value};
|
|
|
|
if (custom.isConfirmed) sendRequest("PUT", "link", {original_url: origin.value, ...optionalJSON})
|
|
}
|
|
|
|
async function deleteShortenURL() {
|
|
let origin = await prepare("Short URL", "Shorten Code");
|
|
|
|
if (origin.isConfirmed) sendRequest("DELETE", "link/"+origin.value)
|
|
}
|
|
|
|
async function createAPIKey() {
|
|
sendRequest("PUT", "apikey")
|
|
} |