metis-desk/modules/assets/src/common/support.ts

39 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-10-07 08:16:39 +00:00
import { z } from "zod/v4";
import { SupportToolInputSchema, SupportValuesSchema } from "../api/domain/support-values";
export type { SupportInput, SupportToolInput } from "../api/domain/support-values";
export { SupportToolInputSchema, SupportValuesSchema };
export const SupportToolSchema = z.strictObject({
id: z.uuid(),
name: z.string(),
active: z.boolean(),
builtin: z.boolean(),
});
export const SupportConnectionSchema = z.strictObject({
id: z.uuid(),
companyId: z.uuid(),
assetId: z.uuid(),
values: SupportValuesSchema,
history: z.array(
z.strictObject({
id: z.uuid(),
values: SupportValuesSchema,
actorId: z.uuid(),
actorName: z.string(),
recordedAt: z.iso.datetime(),
})
),
});
export const SupportListSchema = z.strictObject({
connections: z.array(SupportConnectionSchema),
tools: z.array(SupportToolSchema),
});
export const SupportResponseSchema = z.strictObject({ connection: SupportConnectionSchema });
export const SupportToolsSchema = z.strictObject({ tools: z.array(SupportToolSchema) });
export const SupportToolResponseSchema = z.strictObject({ tool: SupportToolSchema });
export type SupportConnectionDTO = z.infer<typeof SupportConnectionSchema>;
export type SupportToolDTO = z.infer<typeof SupportToolSchema>;
export type SupportListDTO = z.infer<typeof SupportListSchema>;