forms: extract form node registration logic

This commit is contained in:
Adrià Arrufat
2026-03-25 09:30:06 +09:00
parent 567cd97312
commit 8e315e551a
3 changed files with 18 additions and 19 deletions

View File

@@ -471,16 +471,10 @@ fn handleDetectForms(server: *Server, arena: std.mem.Allocator, id: std.json.Val
return server.sendError(id, .InternalError, "Failed to collect forms");
};
// Register form and field nodes for backendNodeId references
for (forms_data) |*form| {
const form_registered = try server.node_registry.register(form.node);
form.backendNodeId = form_registered.id;
for (form.fields) |*field| {
const field_registered = try server.node_registry.register(field.node);
field.backendNodeId = field_registered.id;
}
}
lp.forms.registerNodes(forms_data, &server.node_registry) catch |err| {
log.err(.mcp, "form node registration failed", .{ .err = err });
return server.sendError(id, .InternalError, "Failed to register form nodes");
};
var aw: std.Io.Writer.Allocating = .init(arena);
try std.json.Stringify.value(forms_data, .{}, &aw.writer);