diff --git a/apps/dokploy/components/dashboard/application/advanced/cluster/swarm-forms/network-form.tsx b/apps/dokploy/components/dashboard/application/advanced/cluster/swarm-forms/network-form.tsx index f77966c6e..ed7ddf94a 100644 --- a/apps/dokploy/components/dashboard/application/advanced/cluster/swarm-forms/network-form.tsx +++ b/apps/dokploy/components/dashboard/application/advanced/cluster/swarm-forms/network-form.tsx @@ -63,7 +63,7 @@ export const NetworkForm = ({ id, type }: NetworkFormProps) => { ? mutationMap[type]() : api.mongo.update.useMutation(); - const form = useForm({ + const form = useForm>({ resolver: zodResolver(networkFormSchema), defaultValues: { networks: [], @@ -101,15 +101,31 @@ export const NetworkForm = ({ id, type }: NetworkFormProps) => { // If no networks, send null to clear the database const networksToSend = networksArray.length > 0 ? networksArray : null; - await mutateAsync({ - applicationId: id || "", - postgresId: id || "", - redisId: id || "", - mysqlId: id || "", - mariadbId: id || "", - mongoId: id || "", - networkSwarm: networksToSend, - }); + const mutationPayload: any = { networkSwarm: networksToSend }; + + // Add the appropriate ID based on type + switch (type) { + case "application": + mutationPayload.applicationId = id; + break; + case "postgres": + mutationPayload.postgresId = id; + break; + case "redis": + mutationPayload.redisId = id; + break; + case "mysql": + mutationPayload.mysqlId = id; + break; + case "mariadb": + mutationPayload.mariadbId = id; + break; + case "mongo": + mutationPayload.mongoId = id; + break; + } + + await mutateAsync(mutationPayload); toast.success("Network configuration updated successfully"); refetch();