mirror of
https://github.com/xCyanGrizzly/DragonsStash.git
synced 2026-05-11 14:21:15 +00:00
feat: fix channel scanning bugs, add package tags, and kickstarters tab
Bug fixes: - Fix channels not being scanned by paginating TDLib getChats (was only loading first batch, additional channels were unknown to TDLib) - Add per-channel getChat pre-load as safety net before scanning - Fix preview pictures not loading by checking previewData instead of previewMsgId for hasPreview flag - Prevent previewMsgId from being set when preview download fails Package Tags: - Add tags Text[] column to Package with migration backfilling from channel categories - Worker auto-inherits source channel category as initial tag - Tag filter dropdown and Tags column in STL Files table - Server actions for individual and bulk tag editing Kickstarters Tab: - New KickstarterHost, Kickstarter, and KickstarterPackage models - Full CRUD with delivery status, payment status, host management - Package linking (many-to-many with existing packages) - Sidebar entry with Gift icon - Table with search, filters, modal forms Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
19
src/schemas/kickstarter.schema.ts
Normal file
19
src/schemas/kickstarter.schema.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { z } from "zod/v4";
|
||||
|
||||
export const kickstarterSchema = z.object({
|
||||
name: z.string().min(1, "Name is required").max(200),
|
||||
link: z.string().url().optional().or(z.literal("")),
|
||||
filesUrl: z.string().url().optional().or(z.literal("")),
|
||||
deliveryStatus: z.enum(["NOT_DELIVERED", "PARTIAL", "DELIVERED"]),
|
||||
paymentStatus: z.enum(["PAID", "UNPAID"]),
|
||||
hostId: z.string().optional().or(z.literal("")),
|
||||
notes: z.string().max(2000).optional(),
|
||||
});
|
||||
|
||||
export type KickstarterInput = z.infer<typeof kickstarterSchema>;
|
||||
|
||||
export const kickstarterHostSchema = z.object({
|
||||
name: z.string().min(1, "Name is required").max(100),
|
||||
});
|
||||
|
||||
export type KickstarterHostInput = z.infer<typeof kickstarterHostSchema>;
|
||||
Reference in New Issue
Block a user