feat(portfolio): add grouping visibility and ordering controls

This commit is contained in:
2026-02-12 22:46:04 +01:00
parent b9424c8a8b
commit 984511f166
7 changed files with 263 additions and 10 deletions

View File

@@ -75,6 +75,21 @@ export const createGroupingInputSchema = z.object({
isVisible: z.boolean().default(true),
})
export const updateGroupingInputSchema = z.object({
groupType: z.enum(["gallery", "album", "category", "tag"]),
groupId: z.string().uuid(),
name: z.string().min(1).max(180),
slug: z.string().min(1).max(180),
description: z.string().max(5000).nullable().optional(),
sortOrder: z.number().int().min(0),
isVisible: z.boolean(),
})
export const deleteGroupingInputSchema = z.object({
groupType: z.enum(["gallery", "album", "category", "tag"]),
groupId: z.string().uuid(),
})
export const linkArtworkGroupingInputSchema = z.object({
artworkId: z.string().uuid(),
groupType: z.enum(["gallery", "album", "category", "tag"]),
@@ -96,5 +111,7 @@ export type CreateMediaAssetInput = z.infer<typeof createMediaAssetInputSchema>
export type UpdateMediaAssetInput = z.infer<typeof updateMediaAssetInputSchema>
export type CreateArtworkInput = z.infer<typeof createArtworkInputSchema>
export type CreateGroupingInput = z.infer<typeof createGroupingInputSchema>
export type UpdateGroupingInput = z.infer<typeof updateGroupingInputSchema>
export type DeleteGroupingInput = z.infer<typeof deleteGroupingInputSchema>
export type LinkArtworkGroupingInput = z.infer<typeof linkArtworkGroupingInputSchema>
export type AttachArtworkRenditionInput = z.infer<typeof attachArtworkRenditionInputSchema>