website refactor

This commit is contained in:
2026-01-14 10:51:05 +01:00
parent 4522d41aef
commit 0d89ad027e
291 changed files with 6887 additions and 3685 deletions

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetAvatarPageQuery } from '@/lib/page-queries/media/GetAvatarPageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { driverId } = params;
const result = await proxyMediaRequest(`/media/avatar/${driverId}`);
const result = await GetAvatarPageQuery.execute({ driverId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/avatar'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetCategoryIconPageQuery } from '@/lib/page-queries/media/GetCategoryIconPageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { categoryId } = params;
const result = await proxyMediaRequest(`/media/categories/${categoryId}/icon`);
const result = await GetCategoryIconPageQuery.execute({ categoryId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/categories'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetLeagueCoverPageQuery } from '@/lib/page-queries/media/GetLeagueCoverPageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { leagueId } = params;
const result = await proxyMediaRequest(`/media/leagues/${leagueId}/cover`);
const result = await GetLeagueCoverPageQuery.execute({ leagueId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/leagues'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetLeagueLogoPageQuery } from '@/lib/page-queries/media/GetLeagueLogoPageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { leagueId } = params;
const result = await proxyMediaRequest(`/media/leagues/${leagueId}/logo`);
const result = await GetLeagueLogoPageQuery.execute({ leagueId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/leagues'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetSponsorLogoPageQuery } from '@/lib/page-queries/media/GetSponsorLogoPageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { sponsorId } = params;
const result = await proxyMediaRequest(`/media/sponsors/${sponsorId}/logo`);
const result = await GetSponsorLogoPageQuery.execute({ sponsorId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/sponsors'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetTeamLogoPageQuery } from '@/lib/page-queries/media/GetTeamLogoPageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { teamId } = params;
const result = await proxyMediaRequest(`/media/teams/${teamId}/logo`);
const result = await GetTeamLogoPageQuery.execute({ teamId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/teams'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}

View File

@@ -1,5 +1,5 @@
import { NextRequest, NextResponse } from 'next/server';
import { proxyMediaRequest, getMediaContentType, getMediaCacheControl } from '@/lib/adapters/MediaProxyAdapter';
import { GetTrackImagePageQuery } from '@/lib/page-queries/media/GetTrackImagePageQuery';
export async function GET(
request: NextRequest,
@@ -7,16 +7,22 @@ export async function GET(
) {
const { trackId } = params;
const result = await proxyMediaRequest(`/media/tracks/${trackId}/image`);
const result = await GetTrackImagePageQuery.execute({ trackId });
if (result.isErr()) {
return new NextResponse(null, { status: 404 });
const error = result.getError();
if (error === 'notFound') {
return new NextResponse(null, { status: 404 });
}
return new NextResponse(null, { status: 500 });
}
return new NextResponse(result.unwrap(), {
const viewData = result.unwrap();
return new NextResponse(viewData.buffer, {
headers: {
'Content-Type': getMediaContentType('/media/tracks'),
'Cache-Control': getMediaCacheControl(),
'Content-Type': viewData.contentType,
'Cache-Control': 'public, max-age=3600',
},
});
}