z.array(
z.object({
field: z.union([
z
.object({
table: z.literal("scenarists"),
field: createInsertSchema(scenarists).keyof(),
})
.transform(({ table, field }) => tables[table][field]),
z
.object({
table: z.literal("users"),
field: createInsertSchema(users).keyof(),
})
.transform(({ table, field }) => tables[table][field]),
]),
order: z.enum(Object.keys(orders) as [keyof typeof orders]),
}),
)
z.array(
z.object({
field: z.union([
z
.object({
table: z.literal("scenarists"),
field: createInsertSchema(scenarists).keyof(),
})
.transform(({ table, field }) => tables[table][field]),
z
.object({
table: z.literal("users"),
field: createInsertSchema(users).keyof(),
})
.transform(({ table, field }) => tables[table][field]),
]),
order: z.enum(Object.keys(orders) as [keyof typeof orders]),
}),
)