
* Expand the list of potential favicon icons to grab. * Added a url mapping functionality to use alternative urls for fetching icons * Initial commit to streamline media encoding. No DB migration yet, No UI changes, no Task changes. * Started refactoring code so that webp queries use encoding format instead. * More refactoring to remove hardcoded webp references. * Moved manual migrations to their own folder to keep things organized. Manually drop the obsolete webp keys. * Removed old apis for converting media and now have one. Reworked where the conversion code was located and streamlined events and whatnot. * Make favicon encode setting aware * Cleaned up favicon conversion * Updated format counter to now just use Extension from MangaFile now that it's been out a while. * Tweaked jumpbar code to reduce a lookup to hashmap. * Added AVIF (8-bit only) support. * In UpdatePeopleList, use FirstOrDefault as Single adds extra checks that may not be needed. * You can now remove weblinks from edit series page and you can leave empty cells, they will just be removed on backend. * Forgot a file * Don't prompt to write a review, just show the pencil. It's the same amount of clicks if you do, less if you dont. * Fixed Refresh token using wrong Claim to look up the user. * Refactored how we refresh authentication to perform it every 10 m ins to ensure we always stay authenticated. * Changed Version update code to run more throughout the day. Updated some hangfire to newer method signatures.
69 lines
1.9 KiB
TypeScript
69 lines
1.9 KiB
TypeScript
import { HttpClient } from '@angular/common/http';
|
|
import { Injectable } from '@angular/core';
|
|
import { environment } from 'src/environments/environment';
|
|
import { ServerInfo } from '../admin/_models/server-info';
|
|
import { UpdateVersionEvent } from '../_models/events/update-version-event';
|
|
import { Job } from '../_models/job/job';
|
|
import { KavitaMediaError } from '../admin/_models/media-error';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class ServerService {
|
|
|
|
baseUrl = environment.apiUrl;
|
|
|
|
constructor(private httpClient: HttpClient) { }
|
|
|
|
restart() {
|
|
return this.httpClient.post(this.baseUrl + 'server/restart', {});
|
|
}
|
|
|
|
getServerInfo() {
|
|
return this.httpClient.get<ServerInfo>(this.baseUrl + 'server/server-info');
|
|
}
|
|
|
|
clearCache() {
|
|
return this.httpClient.post(this.baseUrl + 'server/clear-cache', {});
|
|
}
|
|
|
|
cleanupWantToRead() {
|
|
return this.httpClient.post(this.baseUrl + 'server/cleanup-want-to-read', {});
|
|
}
|
|
|
|
backupDatabase() {
|
|
return this.httpClient.post(this.baseUrl + 'server/backup-db', {});
|
|
}
|
|
|
|
analyzeFiles() {
|
|
return this.httpClient.post(this.baseUrl + 'server/analyze-files', {});
|
|
}
|
|
|
|
checkForUpdate() {
|
|
return this.httpClient.get<UpdateVersionEvent>(this.baseUrl + 'server/check-update', {});
|
|
}
|
|
|
|
getChangelog() {
|
|
return this.httpClient.get<UpdateVersionEvent[]>(this.baseUrl + 'server/changelog', {});
|
|
}
|
|
|
|
isServerAccessible() {
|
|
return this.httpClient.get<boolean>(this.baseUrl + 'server/accessible');
|
|
}
|
|
|
|
getRecurringJobs() {
|
|
return this.httpClient.get<Job[]>(this.baseUrl + 'server/jobs');
|
|
}
|
|
|
|
convertMedia() {
|
|
return this.httpClient.post(this.baseUrl + 'server/convert-media', {});
|
|
}
|
|
|
|
getMediaErrors() {
|
|
return this.httpClient.get<Array<KavitaMediaError>>(this.baseUrl + 'server/media-errors', {});
|
|
}
|
|
|
|
clearMediaAlerts() {
|
|
return this.httpClient.post(this.baseUrl + 'server/clear-media-alerts', {});
|
|
}
|
|
}
|