feat: refactor & redesign parts of UI

This commit is contained in:
DecDuck
2025-01-28 15:16:34 +11:00
parent 934c176974
commit cf0aa948fe
21 changed files with 639 additions and 1478 deletions

View File

@ -20,22 +20,15 @@ export default defineEventHandler(async (h3) => {
if (!gameId)
throw createError({ statusCode: 400, statusMessage: "Game ID required" });
// Verify collection exists and user owns it
const collection = await userLibraryManager.fetchCollection(id);
if (!collection) {
const successful = await userLibraryManager.collectionRemove(
gameId,
id,
userId
);
if (!successful)
throw createError({
statusCode: 404,
statusMessage: "Collection not found",
});
}
if (collection.userId !== userId) {
throw createError({
statusCode: 403,
statusMessage: "Not authorized to modify this collection",
});
}
const removed = await userLibraryManager.collectionRemove(gameId, id);
return {};
});

View File

@ -20,22 +20,6 @@ export default defineEventHandler(async (h3) => {
if (!gameId)
throw createError({ statusCode: 400, statusMessage: "Game ID required" });
// Verify collection exists and user owns it
const collection = await userLibraryManager.fetchCollection(id);
if (!collection) {
throw createError({
statusCode: 404,
statusMessage: "Collection not found",
});
}
if (collection.userId !== userId) {
throw createError({
statusCode: 403,
statusMessage: "Not authorized to modify this collection",
});
}
await userLibraryManager.collectionAdd(gameId, id);
return { success: true };
await userLibraryManager.collectionAdd(gameId, id, userId);
return;
});

View File

@ -16,28 +16,19 @@ export default defineEventHandler(async (h3) => {
});
// Verify collection exists and user owns it
// Will not return the default collection
const collection = await userLibraryManager.fetchCollection(id);
if (!collection) {
if (!collection)
throw createError({
statusCode: 404,
statusMessage: "Collection not found",
});
}
if (collection.userId !== userId) {
if (collection.userId !== userId)
throw createError({
statusCode: 403,
statusMessage: "Not authorized to delete this collection",
});
}
// Don't allow deleting default collection
if (collection.isDefault) {
throw createError({
statusCode: 400,
statusMessage: "Cannot delete default collection",
});
}
await userLibraryManager.deleteCollection(id);
return { success: true };

View File

@ -16,21 +16,20 @@ export default defineEventHandler(async (h3) => {
});
// Fetch specific collection
// Will not return the default collection
const collection = await userLibraryManager.fetchCollection(id);
if (!collection) {
if (!collection)
throw createError({
statusCode: 404,
statusMessage: "Collection not found",
});
}
// Verify user owns this collection
if (collection.userId !== userId) {
if (collection.userId !== userId)
throw createError({
statusCode: 403,
statusMessage: "Not authorized to access this collection",
});
}
return collection;
});