mirror of
https://github.com/andwati/dokploy.git
synced 2026-11-07 20:45:17 +00:00
fix(swarm): resolve Save Placement button not working for Preferences
The button was unresponsive because the form's flat data structure
({ SpreadDescriptor }) didn't match the Zod schema's nested structure
({ Spread: { SpreadDescriptor } }), causing silent validation failure.
Updated schema to match form state and transform to nested structure
only when submitting to the API.
This commit is contained in:
+9
-4
@@ -17,9 +17,7 @@ import { Input } from "@/components/ui/input";
|
|||||||
import { api } from "@/utils/api";
|
import { api } from "@/utils/api";
|
||||||
|
|
||||||
const PreferenceSchema = z.object({
|
const PreferenceSchema = z.object({
|
||||||
Spread: z.object({
|
SpreadDescriptor: z.string(),
|
||||||
SpreadDescriptor: z.string(),
|
|
||||||
}),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const PlatformSchema = z.object({
|
const PlatformSchema = z.object({
|
||||||
@@ -116,7 +114,14 @@ export const PlacementForm = ({ id, type }: PlacementFormProps) => {
|
|||||||
mysqlId: id || "",
|
mysqlId: id || "",
|
||||||
mariadbId: id || "",
|
mariadbId: id || "",
|
||||||
mongoId: id || "",
|
mongoId: id || "",
|
||||||
placementSwarm: hasAnyValue ? formData : null,
|
placementSwarm: hasAnyValue
|
||||||
|
? {
|
||||||
|
...formData,
|
||||||
|
Preferences: formData.Preferences?.map((p) => ({
|
||||||
|
Spread: { SpreadDescriptor: p.SpreadDescriptor },
|
||||||
|
})),
|
||||||
|
}
|
||||||
|
: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
toast.success("Placement updated successfully");
|
toast.success("Placement updated successfully");
|
||||||
|
|||||||
Reference in New Issue
Block a user