add api endpoint to get all reported related to a user (#27)
All checks were successful
delpoy / build-and-deploy (push) Successful in 55s
All checks were successful
delpoy / build-and-deploy (push) Successful in 55s
This commit is contained in:
parent
6635591788
commit
a489b8cdd3
@ -5,6 +5,39 @@ import { env as public_env } from '$env/dynamic/public';
|
||||
import { env } from '$env/dynamic/private';
|
||||
import { ReportAddSchema } from './schema';
|
||||
|
||||
export const GET = async ({ url }) => {
|
||||
if (env.REPORT_SECRET && url.searchParams.get('secret') !== env.REPORT_SECRET)
|
||||
return new Response(null, { status: 401 });
|
||||
|
||||
const user = await User.findOne({ where: { uuid: url.searchParams.get('user') ?? '' } });
|
||||
if (user === null) return new Response(null, { status: 400 });
|
||||
|
||||
const reports = {
|
||||
from_self: await Report.findAll({ where: { reporter_id: user.id } }).then((reports) =>
|
||||
reports.map((report) => {
|
||||
return {
|
||||
subject: report.subject,
|
||||
draft: report.draft,
|
||||
status: report.status,
|
||||
url: `${url.protocol}//${url.host}${public_env.PUBLIC_BASE_PATH || ''}/report/${report.url_hash}`
|
||||
};
|
||||
})
|
||||
),
|
||||
to_self: await Report.findAll({ where: { reported_id: user.id } }).then((reports) =>
|
||||
reports.map((report) => {
|
||||
return {
|
||||
subject: report.subject,
|
||||
draft: report.draft,
|
||||
status: report.status,
|
||||
url: `${url.protocol}//${url.host}${public_env.PUBLIC_BASE_PATH || ''}/report/${report.url_hash}`
|
||||
};
|
||||
})
|
||||
)
|
||||
};
|
||||
|
||||
return new Response(JSON.stringify(reports), { status: 200 });
|
||||
};
|
||||
|
||||
export const POST = (async ({ request, url }) => {
|
||||
if (env.REPORT_SECRET && url.searchParams.get('secret') !== env.REPORT_SECRET)
|
||||
return new Response(null, { status: 401 });
|
||||
|
@ -1,15 +0,0 @@
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { Report, Settings } from '$lib/server/database';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
return {
|
||||
created: Report.findAll({ where: {} }),
|
||||
|
||||
enabled: (await Settings.findOne({ where: { key: 'register.enabled' } }))?.value ?? true,
|
||||
disabled_title:
|
||||
(await Settings.findOne({ where: { key: 'register.disabled_title' } }))?.value ??
|
||||
'Anmeldung geschlossen',
|
||||
disabled_details:
|
||||
(await Settings.findOne({ where: { key: 'register.disabled_details' } }))?.value ?? ''
|
||||
};
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user