refactor: Break apart monolithic configuration schema (#1977)

[skip ci]
This commit is contained in:
Dermot Duffy
2025-03-22 15:06:11 -07:00
committed by GitHub
parent 92fc8dd844
commit d6225fefda
266 changed files with 2789 additions and 2562 deletions
+20
View File
@@ -0,0 +1,20 @@
import { z } from 'zod';
import { actionConfigSchema } from './actions/types';
import { advancedCameraCardConditionSchema } from './conditions/types';
const automationActionsSchema = actionConfigSchema.array();
export type AutomationActions = z.infer<typeof automationActionsSchema>;
const automationSchema = z
.object({
conditions: advancedCameraCardConditionSchema.array(),
actions: automationActionsSchema.optional(),
actions_not: automationActionsSchema.optional(),
})
.refine(
(data) => data.actions?.length || data.actions_not?.length,
'Automations must include at least one action',
);
export type Automation = z.infer<typeof automationSchema>;
export const automationsSchema = automationSchema.array();