Update apiRequestFunctions to new API endpoints

This commit is contained in:
glax 2024-08-10 21:56:52 +02:00
parent 6d55a13e49
commit 75772754cd

View File

@ -41,9 +41,13 @@ async function GetData(uri){
return json; return json;
} }
async function PostData(uri){ async function PostData(uri, body){
let request = await fetch(uri, { let request = await fetch(uri, {
method: 'POST' method: 'POST',
headers: {
'Accept': 'application/json'
},
body: body
}); });
//console.log(request); //console.log(request);
} }
@ -55,145 +59,132 @@ function DeleteData(uri){
} }
async function Ping(){ async function Ping(){
let ret = await GetData(`${apiUri}/Ping`); let ret = await GetData(`${apiUri}/v2/Ping`);
return ret; return ret;
} }
async function GetAvailableControllers(){ async function GetAvailableControllers(){
var uri = apiUri + "/Connectors"; var uri = `${apiUri}/v2/Connector/Types`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetPublicationFromConnector(connector, title){ async function GetPublicationFromConnector(connector, title){
var uri; var uri = `${apiUri}/v2/Connector/${connector}/GetManga`;
if(title.includes("http")){ if(title.startsWith("http")){
uri = `${apiUri}/Manga/FromConnector?connector=${connector}&url=${title}`; uri += `?url=${title}`
}else{ }else{
uri = `${apiUri}/Manga/FromConnector?connector=${connector}&title=${title}`; uri += `?title=${title}`
} }
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetChapters(connector, internalId, language){ async function GetCoverUrl(internalId){
var uri = `${apiUri}/Manga/Chapters?connector=${connector}&internalId=${internalId}&translatedLanguage=${language}`; return `${apiUri}/v2/Manga/${internalId}/Cover`;
let json = await GetData(uri);
return json;
}
function GetCoverUrl(internalId){
return `${apiUri}/Manga/Cover?internalId=${internalId}`;
} }
async function GetAllJobs(){ async function GetAllJobs(){
var uri = `${apiUri}/Jobs`; var uri = `${apiUri}/v2/Jobs`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetRunningJobs(){ async function GetRunningJobs(){
var uri = `${apiUri}/Jobs/Running`; var uri = `${apiUri}/v2/Jobs/Running`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetWaitingJobs(){ async function GetWaitingJobs(){
var uri = `${apiUri}/Jobs/Waiting`; var uri = `${apiUri}/v2/Jobs/Waiting`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetMonitorJobs(){ async function GetMonitorJobs(){
var uri = `${apiUri}/Jobs/MonitorJobs`; var uri = `${apiUri}/v2/Jobs/Monitoring`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetProgress(jobId){ async function GetJob(jobId){
var uri = `${apiUri}/Jobs/Progress?jobId=${jobId}`; var uri = `${apiUri}/v2/Job/${jobId}`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetSettings(){ async function GetSettings(){
var uri = `${apiUri}/Settings`; var uri = `${apiUri}/v2/Settings`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetAvailableNotificationConnectors(){ async function GetAvailableNotificationConnectors(){
var uri = `${apiUri}/NotificationConnectors/Types`; var uri = `${apiUri}/v2/NotificationConnector/Types`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetNotificationConnectors(){ async function GetNotificationConnectors(){
var uri = `${apiUri}/NotificationConnectors`; var uri = `${apiUri}/v2/NotificationConnector`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetAvailableLibraryConnectors(){ async function GetAvailableLibraryConnectors(){
var uri = `${apiUri}/LibraryConnectors/Types`; var uri = `${apiUri}/v2/LibraryConnector/Types`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetLibraryConnectors(){ async function GetLibraryConnectors(){
var uri = `${apiUri}/LibraryConnectors`; var uri = `${apiUri}/v2/LibraryConnector`;
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetRateLimits() { async function GetRateLimits() {
var uri = `${apiUri}/Settings/customRequestLimit` var uri = `${apiUri}/v2/Settings/RateLimit`
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
async function GetMangaChapters(connector, id) { async function GetMangaChapters(connector, internalId) {
var uri = `${apiUri}/Manga/Chapters?connector=${connector}&internalId=${id}` var uri = `${apiUri}/v2/Manga/${internalId}`
let json = await GetData(uri); let json = await GetData(uri);
return json; return json;
} }
function CreateMonitorJob(connector, internalId, language, interval, folder = null, chapterNo){ function CreateMonitorJob(internalId, language, interval, folder = null, chapterNo){
var uri = `${apiUri}/Jobs/MonitorManga?connector=${connector}&internalId=${internalId}&interval=${interval}&translatedLanguage=${language}&ignoreBelowChapterNum=${chapterNo}`; var uri = `${apiUri}/v2/Job/Create/MonitorManga`;
if (folder != '') { let data = `{ "internalId": ${internalId}, "language": ${language}, "interval": ${interval}, "startChapter": ${chapterNo}, "customFolder": ${folder} }`
uri = uri.concat(`&customFolderName=${folder}`); PostData(uri, data);
}
console.log(uri);
PostData(uri);
} }
function CreateDownloadNewChaptersJob(connector, internalId, language){ function CreateDownloadNewChaptersJob(internalId, language){
var uri = `${apiUri}/Jobs/DownloadNewChapters?connector=${connector}&internalId=${internalId}&translatedLanguage=${language}`; var uri = `${apiUri}/v2/Job/Create/DownloadNewChaptersJob`;
PostData(uri); let data = `{ "internalId": ${internalId}, "language": ${language} }`
PostData(uri, data);
} }
function StartJob(jobId){ function StartJob(jobId){
var uri = `${apiUri}/Jobs/StartNow?jobId=${jobId}`; var uri = `${apiUri}/v2/Job/${jobId}/StartNow`;
PostData(uri); PostData(uri);
} }
function UpdateDownloadLocation(downloadLocation){ function UpdateDownloadLocation(downloadLocation){
var uri = `${apiUri}/Settings/UpdateDownloadLocation?downloadLocation=${downloadLocation}`; var uri = `${apiUri}/v2/Settings/DownloadLocation`;
PostData(uri); PostData(uri, `{ "location": ${location} }`);
} }
function RefreshLibraryMetadata() { function RefreshMangaMetadata(internalId) {
var uri = `${apiUri}/Jobs/UpdateMetadata`; var uri = `${apiUri}/v2/Job/Create/UpdateMetaDataJob`;
PostData(uri); PostData(uri, `{ "internalId": ${internalId} }`);
}
function RefreshMangaMetadata(id) {
var uri = `${apiUri}/Jobs/UpdateMetadata?internalId=${id}`;
PostData(uri);
} }
async function DownloadLogs() { async function DownloadLogs() {
var uri = `${apiUri}/LogFile`; var uri = `${apiUri}/v2/LogFile`;
//Below taken from https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream //Below taken from https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream
fetch(uri) fetch(uri)
@ -256,126 +247,119 @@ Date.prototype.timeNow = function () {
function UpdateAprilFoolsMode() { function UpdateAprilFoolsMode() {
checkBox = document.getElementById("aprilFoolsMode"); checkBox = document.getElementById("aprilFoolsMode");
var uri = `${apiUri}/Settings/AprilFoolsMode?enabled=${checkBox.checked}`; var uri = `${apiUri}/v2/Settings/AprilFoolsMode`;
PostData(uri); PostData(uri, `{ "value": ${checkBox.checked} }` );
} }
function ResetRateLimits() { function ResetRateLimits() {
var uri = `${apiUri}/Settings/customRequestLimit/Reset`; var uri = `${apiUri}/v2/Settings/RateLimit`;
PostData(uri); PostData(uri);
OpenSettings(); OpenSettings();
} }
function ResetUserAgent() { function ResetUserAgent() {
var uri = `${apiUri}/Settings/userAgent/Reset`; var uri = `${apiUri}/v2/Settings/UserAgent`;
PostData(uri); PostData(uri);
OpenSettings(); OpenSettings();
} }
//Komga //Komga
function UpdateKomga(komgaUrl, komgaAuth){ function UpdateKomga(komgaUrl, komgaAuth){
var uri = `${apiUri}/LibraryConnectors/Update?libraryConnector=Komga&komgaUrl=${komgaUrl}&komgaAuth=${komgaAuth}`; var uri = `${apiUri}/v2/LibraryConnector/Komga`;
PostData(uri); PostData(uri, `{ "url": ${komgaUrl}, "auth": ${komgaAuth} }`);
} }
function ResetKomga(){ function ResetKomga(){
var uri = `${apiUri}/LibraryConnectors/Reset?libraryConnector=Komga`; var uri = `${apiUri}/v2/LibraryConnector/Komga`;
PostData(uri); DeleteData(uri);
} }
function TestKomga(komgaUrl, komgaAuth){ function TestKomga(komgaUrl, komgaAuth){
var uri = `${apiUri}/LibraryConnectors/Test?libraryConnector=Komga&komgaUrl=${komgaUrl}&komgaAuth=${komgaAuth}`; var uri = `${apiUri}/v2/LibraryConnector/Komga/Test`;
PostData(uri); PostData(uri, `{ "url": ${komgaUrl}, "auth": ${komgaAuth} }`);
} }
//Kavita //Kavita
function UpdateKavita(kavitaUrl, kavitaUsername, kavitaPassword){ function UpdateKavita(kavitaUrl, kavitaUsername, kavitaPassword){
var uri = `${apiUri}/LibraryConnectors/Update?libraryConnector=Kavita&kavitaUrl=${kavitaUrl}&kavitaUsername=${kavitaUsername}&kavitaPassword=${kavitaPassword}`; var uri = `${apiUri}/v2/LibraryConnector/Kavita`;
PostData(uri); PostData(uri, `{ "url": ${kavitaUrl}, "uasername": ${kavitaUsername}, "password": ${kavitaPassword} }`);
} }
function ResetKavita(){ function ResetKavita(){
var uri = `${apiUri}/LibraryConnectors/Reset?libraryConnector=Kavita`; var uri = `${apiUri}/v2/LibraryConnector/Kavita`;
PostData(uri); DeleteData(uri);
} }
function TestKavita(kavitaUrl, kavitaUsername, kavitaPassword){ function TestKavita(kavitaUrl, kavitaUsername, kavitaPassword){
var uri = `${apiUri}/LibraryConnectors/Test?libraryConnector=Kavita&kavitaUrl=${kavitaUrl}&kavitaUsername=${kavitaUsername}&kavitaPassword=${kavitaPassword}`; var uri = `${apiUri}/v2/LibraryConnector/Kavita/Test`;
PostData(uri); PostData(uri, `{ "url": ${kavitaUrl}, "uasername": ${kavitaUsername}, "password": ${kavitaPassword} }`);
} }
//Gotify //Gotify
function UpdateGotify(gotifyUrl, gotifyAppToken){ function UpdateGotify(gotifyUrl, gotifyAppToken){
var uri = `${apiUri}/NotificationConnectors/Update?notificationConnector=Gotify&gotifyUrl=${gotifyUrl}&gotifyAppToken=${gotifyAppToken}`; var uri = `${apiUri}/v2/NotificationConnector/Gotify`;
PostData(uri); PostData(uri, `{ "url": ${gotifyUrl}, "appToken": ${gotifyAppToken} }`);
} }
function ResetGotify(){ function ResetGotify(){
var uri = `${apiUri}/NotificationConnectors/Reset?notificationConnector=Gotify`; var uri = `${apiUri}/v2/NotificationConnector/Gotify`;
PostData(uri); DeleteData(uri);
} }
function TestGotify(gotifyUrl, gotifyAppToken){ function TestGotify(gotifyUrl, gotifyAppToken){
var uri = `${apiUri}/NotificationConnectors/Test?notificationConnector=Gotify&gotifyUrl=${gotifyUrl}&gotifyAppToken=${gotifyAppToken}`; var uri = `${apiUri}/v2/NotificationConnector/Gotify/Test`;
PostData(uri); PostData(uri, `{ "url": ${gotifyUrl}, "appToken": ${gotifyAppToken} }`);
} }
//LunaSea //LunaSea
function UpdateLunaSea(lunaseaWebhook){ function UpdateLunaSea(lunaseaWebhook){
var uri = `${apiUri}/NotificationConnectors/Update?notificationConnector=LunaSea&lunaseaWebhook=${lunaseaWebhook}`; var uri = `${apiUri}/v2/NotificationConnector/LunaSea`;
PostData(uri); PostData(uri, `{ "webhook": ${lunaseaWebhook} }`);
} }
function ResetLunaSea(){ function ResetLunaSea(){
var uri = `${apiUri}/NotificationConnectors/Reset?notificationConnector=LunaSea`; var uri = `${apiUri}/v2/NotificationConnector/LunaSea`;
PostData(uri); DeleteData(uri);
} }
function TestLunaSea(lunaseaWebhook){ function TestLunaSea(lunaseaWebhook){
var uri = `${apiUri}/NotificationConnectors/Test?notificationConnector=LunaSea&lunaseaWebhook=${lunaseaWebhook}`; var uri = `${apiUri}/v2/NotificationConnector/LunaSea/Test`;
PostData(uri); PostData(uri, `{ "webhook": ${lunaseaWebhook} }`);
} }
//Ntfy //Ntfy
function UpdateNtfy(ntfyEndpoint, ntfyUser, ntfyPass){ function UpdateNtfy(ntfyEndpoint, ntfyUser, ntfyPass){
var uri = `${apiUri}/NotificationConnectors/Update?notificationConnector=Ntfy&ntfyUrl=${ntfyEndpoint}&ntfyUser=${ntfyUser}&ntfyPass=${ntfyPass}`; var uri = `${apiUri}/v2/NotificationConnector/Ntfy`;
PostData(uri); PostData(uri, `{ "url": ${ntfyEndpoint}, "username": ${ntfyUser}, "password": ${ntfyPass} }`);
} }
function ResetNtfy(){ function ResetNtfy(){
var uri = `${apiUri}/NotificationConnectors/Reset?notificationConnector=Ntfy`; var uri = `${apiUri}/v2/NotificationConnector/Ntfy`;
PostData(uri); DeleteData(uri);
} }
function TestNtfy(ntfyEndpoint, ntfyUser, ntfyPass){ function TestNtfy(ntfyEndpoint, ntfyUser, ntfyPass){
var uri = `${apiUri}/NotificationConnectors/Test?notificationConnector=Ntfy&ntfyUrl=${ntfyEndpoint}&ntfyUser=${ntfyUser}&ntfyPass=${ntfyPass}}`; var uri = `${apiUri}/v2/NotificationConnector/Ntfy/Test`;
PostData(uri); PostData(uri, `{ "url": ${ntfyEndpoint}, "username": ${ntfyUser}, "password": ${ntfyPass} }`);
} }
function UpdateUserAgent(userAgent){ function UpdateUserAgent(userAgent){
var uri = `${apiUri}/Settings/userAgent?userAgent=${userAgent}`; var uri = `${apiUri}/v2/Settings/UserAgent`;
PostData(uri); PostData(uri, `{ "value": ${userAgent} }`);
} }
function UpdateRateLimit(byteValue, rateLimit) { function UpdateRateLimit(rateLimitType, rateLimitValue) {
var uri = `${apiUri}/Settings/customRequestLimit?requestType=${byteValue}&requestsPerMinute=${rateLimit}`; var uri = `${apiUri}/v2/Settings/RateLimit/${rateLimitType}`;
PostData(uri); PostData(uri, `{ "value": ${rateLimitValue} }`);
} }
function RemoveJob(jobId){ function RemoveJob(jobId){
var uri = `${apiUri}/Jobs?jobId=${jobId}`; var uri = `${apiUri}/v2/Job/${jobId}`;
DeleteData(uri); DeleteData(uri);
} }
function CancelJob(jobId){ function CancelJob(jobId){
var uri = `${apiUri}/Jobs/Cancel?jobId=${jobId}`; var uri = `${apiUri}/v2/Job/${jobId}/Cancel`;
PostData(uri); PostData(uri);
} }
async function GetLogmessages(count){
var uri = `${apiUri}/LogMessages?count=${count}`;
let json = await GetData(uri);
console.log(json);
return json;
}