Skip to content

Commit d6a4680

Browse files
author
Serge Pavlyuk
committed
Wizard Hierarchy fix
1 parent 0b20b13 commit d6a4680

File tree

2 files changed

+49
-25
lines changed

2 files changed

+49
-25
lines changed

src/shared/schema/mix/actions/wizard.ts

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,32 @@ import z from 'zod/v4';
22

33
import {USProvider} from '../../../../server/components/charts-engine/components/storage/united-storage/provider';
44
import {v12ChartsConfigSchema} from '../../../sdk/zod-shemas/wizard-chart-api.schema';
5+
import {EntryScope, WizardType} from '../../../types';
56
import {createTypedAction} from '../../gateway-utils';
67
import {getTypedApi} from '../../simple-schema';
78

9+
const wizardUsSchema = z.object({
10+
data: z.object({
11+
shared: v12ChartsConfigSchema,
12+
}),
13+
entryId: z.string(),
14+
scope: z.literal(EntryScope.Widget),
15+
type: z.enum(WizardType),
16+
public: z.boolean(),
17+
isFavorite: z.boolean(),
18+
createdAt: z.string(),
19+
createdBy: z.string(),
20+
updatedAt: z.string(),
21+
updatedBy: z.string(),
22+
revId: z.string(),
23+
savedId: z.string(),
24+
publishedId: z.string(),
25+
meta: z.record(z.string(), z.string()),
26+
links: z.record(z.string(), z.string()).optional(),
27+
key: z.union([z.null(), z.string()]),
28+
workbookId: z.union([z.null(), z.string()]),
29+
});
30+
831
export const wizardActions = {
932
getWizardChartApi: createTypedAction({
1033
argsSchema: z.object({
@@ -14,7 +37,7 @@ export const wizardActions = {
1437
includePermissions: z.boolean().default(false).optional(),
1538
includeLinks: z.boolean().default(false).optional(),
1639
}),
17-
bodySchema: v12ChartsConfigSchema,
40+
bodySchema: wizardUsSchema,
1841
}).withValidationSchema(async (_, args, {ctx, headers}) => {
1942
const {includePermissions, includeLinks, unreleased, revId, chardId} = args;
2043

src/shared/sdk/zod-shemas/wizard-chart-api.schema.ts

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -256,30 +256,31 @@ const v12PlaceholderSettingsSchema = z.object({
256256
});
257257

258258
// Forward declaration for recursive types
259-
const v12FieldSchema: z.ZodType<any> = z.lazy(() =>
260-
z
261-
.object({
262-
data_type: z.string(),
263-
fields: z.array(v12FieldSchema).optional(),
264-
type: z.string(),
265-
title: z.string(),
266-
guid: z.string(),
267-
formatting: v12FormattingSchema.optional(),
268-
format: z.string().optional(),
269-
datasetId: z.string(),
270-
source: z.string().optional(),
271-
datasetName: z.string().optional(),
272-
hideLabelMode: z.string().optional(),
273-
calc_mode: datasetFieldCalcModeSchema,
274-
default_value: parameterDefaultValueSchema.optional(),
275-
barsSettings: z.any().optional(), // TableBarsSettings
276-
subTotalsSettings: z.any().optional(), // TableSubTotalsSettings
277-
backgroundSettings: z.any().optional(), // TableFieldBackgroundSettings
278-
columnSettings: z.any().optional(), // ColumnSettings
279-
hintSettings: z.any().optional(), // HintSettings
280-
})
281-
.merge(v12ClientOnlyFieldsSchema),
282-
);
259+
const v12FieldSchemaInner = z.object({
260+
...v12ClientOnlyFieldsSchema.shape,
261+
data_type: z.string(),
262+
type: z.string(),
263+
title: z.string(),
264+
guid: z.string(),
265+
formatting: v12FormattingSchema.optional(),
266+
format: z.string().optional(),
267+
datasetId: z.string(),
268+
source: z.string().optional(),
269+
datasetName: z.string().optional(),
270+
hideLabelMode: z.string().optional(),
271+
calc_mode: datasetFieldCalcModeSchema,
272+
default_value: parameterDefaultValueSchema.optional(),
273+
barsSettings: z.any().optional(), // TableBarsSettings
274+
subTotalsSettings: z.any().optional(), // TableSubTotalsSettings
275+
backgroundSettings: z.any().optional(), // TableFieldBackgroundSettings
276+
columnSettings: z.any().optional(), // ColumnSettings
277+
hintSettings: z.any().optional(), // HintSettings
278+
});
279+
280+
const v12FieldSchema = z.object({
281+
...v12FieldSchemaInner.shape,
282+
fields: z.array(v12FieldSchemaInner).optional(),
283+
});
283284

284285
// V12Placeholder schema
285286
const v12PlaceholderSchema = z.object({

0 commit comments

Comments
 (0)