Files
dashlio/server/api/links/index.post.ts
2026-04-19 18:03:14 +01:00

29 lines
724 B
TypeScript

import { readDb, writeDb, DashboardItem } from '../../utils/yamlDb';
import { randomUUID } from 'crypto';
export default defineEventHandler(async (event) => {
const body = await readBody(event);
if (!body.title || !body.url) {
throw createError({ statusCode: 400, statusMessage: 'Title and URL are required' });
}
const newLink: DashboardItem = {
id: randomUUID(),
type: 'link',
parentId: body.folderId || null,
title: body.title,
description: body.description || undefined,
url: body.url,
icon: body.icon || undefined,
color: body.color || undefined,
order: body.order || 0
};
const items = readDb();
items.push(newLink);
writeDb(items);
return newLink;
});