refacto: types big review

This commit is contained in:
Julien Froidefond
2025-02-27 08:29:08 +01:00
parent 3b2d4cb0d5
commit 3c46afb294
39 changed files with 209 additions and 178 deletions

View File

@@ -11,7 +11,7 @@ export async function GET(
{ params }: { params: { bookId: string; pageNumber: string } }
) {
try {
const pageNumber = parseInt(params.pageNumber);
const pageNumber: number = parseInt(params.pageNumber);
if (isNaN(pageNumber) || pageNumber < 0) {
return NextResponse.json(
{

View File

@@ -3,10 +3,10 @@ import { BookService } from "@/lib/services/book.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
import { AppError } from "@/utils/errors";
import { KomgaBookWithPages } from "@/types/komga";
export async function GET(request: Request, { params }: { params: { bookId: string } }) {
try {
const data = await BookService.getBook(params.bookId);
const data: KomgaBookWithPages = await BookService.getBook(params.bookId);
return NextResponse.json(data);
} catch (error) {
console.error("API Books - Erreur:", error);

View File

@@ -1,11 +1,11 @@
import { NextResponse } from "next/server";
import { getServerCacheService } from "@/lib/services/server-cache.service";
import { getServerCacheService, ServerCacheService } from "@/lib/services/server-cache.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
export async function POST() {
try {
const cacheService = await getServerCacheService();
const cacheService: ServerCacheService = await getServerCacheService();
cacheService.clear();
return NextResponse.json({ message: "🧹 Cache vidé avec succès" });
} catch (error) {

View File

@@ -1,11 +1,15 @@
import { NextResponse } from "next/server";
import { getServerCacheService } from "@/lib/services/server-cache.service";
import {
CacheMode,
getServerCacheService,
ServerCacheService,
} from "@/lib/services/server-cache.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
export async function GET() {
try {
const cacheService = await getServerCacheService();
const cacheService: ServerCacheService = await getServerCacheService();
return NextResponse.json({ mode: cacheService.getCacheMode() });
} catch (error) {
console.error("Erreur lors de la récupération du mode de cache:", error);
@@ -23,7 +27,7 @@ export async function GET() {
export async function POST(request: Request) {
try {
const { mode } = await request.json();
const { mode }: { mode: CacheMode } = await request.json();
if (mode !== "file" && mode !== "memory") {
return NextResponse.json(
{
@@ -36,7 +40,7 @@ export async function POST(request: Request) {
);
}
const cacheService = await getServerCacheService();
const cacheService: ServerCacheService = await getServerCacheService();
cacheService.setCacheMode(mode);
return NextResponse.json({ mode: cacheService.getCacheMode() });
} catch (error) {

View File

@@ -2,22 +2,17 @@ import { NextResponse } from "next/server";
import { ConfigDBService } from "@/lib/services/config-db.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
import { KomgaConfig, KomgaConfigData } from "@/types/komga";
export const dynamic = "force-dynamic";
export async function POST(request: Request) {
try {
const data = await request.json();
const mongoConfig = await ConfigDBService.saveConfig(data);
// Convertir le document Mongoose en objet simple
const config = {
url: mongoConfig.url,
username: mongoConfig.username,
password: mongoConfig.password,
userId: mongoConfig.userId,
};
const data: KomgaConfigData = await request.json();
const mongoConfig: KomgaConfig = await ConfigDBService.saveConfig(data);
return NextResponse.json(
{ message: "⚙️ Configuration sauvegardée avec succès", config },
{ message: "⚙️ Configuration sauvegardée avec succès", mongoConfig },
{ status: 200 }
);
} catch (error) {
@@ -47,15 +42,9 @@ export async function POST(request: Request) {
export async function GET() {
try {
const mongoConfig = await ConfigDBService.getConfig();
// Convertir le document Mongoose en objet simple
const config = {
url: mongoConfig.url,
username: mongoConfig.username,
password: mongoConfig.password,
userId: mongoConfig.userId,
};
return NextResponse.json(config, { status: 200 });
const mongoConfig: KomgaConfig | null = await ConfigDBService.getConfig();
return NextResponse.json(mongoConfig, { status: 200 });
} catch (error) {
console.error("Erreur lors de la récupération de la configuration:", error);
if (error instanceof Error) {

View File

@@ -6,7 +6,7 @@ import { AppError } from "@/utils/errors";
export async function GET() {
try {
const favoriteIds = await FavoriteService.getAllFavoriteIds();
const favoriteIds: string[] = await FavoriteService.getAllFavoriteIds();
return NextResponse.json(favoriteIds);
} catch (error) {
console.error("Erreur lors de la récupération des favoris:", error);
@@ -35,7 +35,7 @@ export async function GET() {
export async function POST(request: Request) {
try {
const { seriesId } = await request.json();
const { seriesId }: { seriesId: string } = await request.json();
await FavoriteService.addToFavorites(seriesId);
return NextResponse.json({ message: "⭐️ Série ajoutée aux favoris" });
} catch (error) {
@@ -65,7 +65,7 @@ export async function POST(request: Request) {
export async function DELETE(request: Request) {
try {
const { seriesId } = await request.json();
const { seriesId }: { seriesId: string } = await request.json();
await FavoriteService.removeFromFavorites(seriesId);
return NextResponse.json({ message: "💔 Série retirée des favoris" });
} catch (error) {

View File

@@ -12,7 +12,7 @@ export async function GET(
) {
try {
// Convertir le numéro de page en nombre
const pageNumber = parseInt(params.pageNumber);
const pageNumber: number = parseInt(params.pageNumber);
if (isNaN(pageNumber) || pageNumber < 0) {
return NextResponse.json(
{

View File

@@ -3,12 +3,12 @@ import { LibraryService } from "@/lib/services/library.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
import { AppError } from "@/utils/errors";
import { KomgaLibrary } from "@/types/komga";
export const dynamic = "force-dynamic";
export async function GET() {
try {
const libraries = await LibraryService.getLibraries();
const libraries: KomgaLibrary[] = await LibraryService.getLibraries();
return NextResponse.json(libraries);
} catch (error) {
console.error("API Libraries - Erreur:", error);

View File

@@ -3,12 +3,13 @@ import { SeriesService } from "@/lib/services/series.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
import { AppError } from "@/utils/errors";
import { KomgaSeries } from "@/types/komga";
export const dynamic = "force-dynamic";
export async function GET(request: Request, { params }: { params: { seriesId: string } }) {
try {
const series = await SeriesService.getSeries(params.seriesId);
const series: KomgaSeries = await SeriesService.getSeries(params.seriesId);
return NextResponse.json(series);
} catch (error) {
console.error("API Series - Erreur:", error);

View File

@@ -2,13 +2,14 @@ import { NextResponse } from "next/server";
import { TestService } from "@/lib/services/test.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
import { KomgaLibrary } from "@/types/komga";
export async function POST(request: Request) {
try {
const { serverUrl, username, password } = await request.json();
const authHeader = Buffer.from(`${username}:${password}`).toString("base64");
const { libraries } = await TestService.testConnection({
const { libraries }: { libraries: KomgaLibrary[] } = await TestService.testConnection({
serverUrl,
authHeader,
});

View File

@@ -2,10 +2,11 @@ import { NextResponse } from "next/server";
import { ConfigDBService } from "@/lib/services/config-db.service";
import { ERROR_CODES } from "@/constants/errorCodes";
import { ERROR_MESSAGES } from "@/constants/errorMessages";
import { TTLConfig } from "@/types/komga";
export async function GET() {
try {
const config = await ConfigDBService.getTTLConfig();
const config: TTLConfig | null = await ConfigDBService.getTTLConfig();
return NextResponse.json(config);
} catch (error) {
console.error("Erreur lors de la récupération de la configuration TTL:", error);
@@ -37,7 +38,8 @@ export async function GET() {
export async function POST(request: Request) {
try {
const data = await request.json();
const config = await ConfigDBService.saveTTLConfig(data);
const config: TTLConfig = await ConfigDBService.saveTTLConfig(data);
return NextResponse.json({
message: "⏱️ Configuration TTL sauvegardée avec succès",
config: {