undo skipped tests, only allow API calls for admin-views, refactor viewer-page to use page.server

This commit is contained in:
2025-11-03 14:21:08 +01:00
parent a9e3d8264c
commit 3c16bc89e5
9 changed files with 61 additions and 38 deletions

View File

@@ -0,0 +1,23 @@
import { getCrimesListByToken, getVorgaenge } from '$lib/server/vorgangService.js';
import type { PageServerLoad } from './$types';
export const load: PageServerLoad = async ({ params, url }) => {
const vorgangList = getVorgaenge();
const vorgangToken = params.vorgang;
const crimesList = await getCrimesListByToken(vorgangToken);
const vorgang = vorgangList.find((v) => v.vorgangToken === vorgangToken); //vorgang sollte ein eigener Typ werden, und dann kann man es hier vernünftig typisieren
if (!vorgang || !crimesList) {
throw new Error(`Fehlgeschlagen, es wurden keine Daten zum token gefunden`);
}
//Variabeln für NameItemEditor
const crimeNames: string[] = crimesList.map((l) => l.name);
return {
vorgang,
vorgangList,
crimesList,
url,
crimeNames
};
}

View File

@@ -1,25 +0,0 @@
import { API_ROUTES } from '../../../index.js';
export async function load({fetch, params, url}){
const vorgangResponse = await fetch(API_ROUTES.LIST);
const vorgangList = await vorgangResponse.json()
const vorgangToken = params.vorgang;
const crimesListResponse = await fetch(API_ROUTES.VORGANG(vorgangToken))
const crimesList = await crimesListResponse.json();
const vorgang = vorgangList.find(v => v.vorgangToken === vorgangToken); //vorgang sollte ein eigener Typ werden, und dann kann man es hier vernünftig typisieren
if(!vorgang || !crimesList){
throw new Error(`Fehlgeschlagen, es wurden keine Daten zum token gefunden`);
}
//Variabeln für NameItemEditor
const crimeNames: string[] = crimesList.map((l) => l.name);
return {
vorgang,
vorgangList,
crimesList,
url,
crimeNames
}
}

View File

@@ -1,7 +1,10 @@
import { getVorgaenge } from '$lib/server/vorgangService';
import { json } from '@sveltejs/kit';
export async function GET({ locals }) {
if (!locals.user) {
return json({ error: 'Unauthorized' }, { status: 401 });
}
const vorgaenge = getVorgaenge();
return new Response(JSON.stringify(vorgaenge), {

View File

@@ -1,11 +1,15 @@
import { BUCKET, client } from '$lib/minio';
import { json } from '@sveltejs/kit';
import {
deleteVorgangByToken,
getCrimesListByToken,
vorgangNameExists
} from '$lib/server/vorgangService';
export async function DELETE({ params }) {
export async function DELETE({ locals, params }) {
if (!locals.user) {
return json({ error: 'Unauthorized' }, { status: 401 });
}
const vorgangToken = params.vorgang;
const object_list = await new Promise((resolve, reject) => {
@@ -29,7 +33,10 @@ export async function DELETE({ params }) {
return new Response(null, { status: 204 });
}
export async function HEAD({ params }) {
export async function HEAD({ locals, params }) {
if (!locals.user) {
return json({ error: 'Unauthorized' }, { status: 401 });
}
try {
const vorgangName = params.vorgang;
const existing = vorgangNameExists(vorgangName);
@@ -44,7 +51,9 @@ export async function HEAD({ params }) {
}
export async function GET({ params, locals }) {
if (!locals.user) {
return json({ error: 'Unauthorized' }, { status: 401 });
}
try {
const vorgangToken = params.vorgang;
const crimesList = await getCrimesListByToken(vorgangToken);

View File

@@ -1,7 +1,10 @@
import { BUCKET, client } from '$lib/minio';
import { json } from '@sveltejs/kit';
export async function GET() {
export async function GET({ locals }) {
if (!locals.user) {
return json({ error: 'Unauthorized' }, { status: 401 });
}
const stream = client.listObjectsV2(BUCKET, '', true);
const result = new ReadableStream({
start(controller) {
@@ -24,7 +27,10 @@ export async function GET() {
});
}
export async function DELETE({ request }: { request: Request }) {
export async function DELETE({ locals, request }) {
if (!locals.user) {
return json({ error: 'Unauthorized' }, { status: 401 });
}
const url_fragments = request.url.split('/');
const item = url_fragments.at(-1);
const vorgang = url_fragments.at(-2);