portal: add human-navigable service browser (GET /browse)
Deploy to Production / deploy (push) Successful in 3m16s
Deploy to Production / deploy (push) Successful in 3m16s
Registry: new GET /services/browse endpoint — paginated, no auth required,
returns ServiceBrowsePage (total, page, size, items). ServiceSummaryDto
extended with description, registrantName, registrantJurisdiction; lastCheckedAt
removed (not stored). ServiceBrowsePage added to apix-common as shared type.
Portal: ServiceBrowserResource at /browse (list + /browse/{id} detail);
ServiceRegistryClient for the new endpoints; PortalServiceView DTO for detail
deserialization; three Qute templates (browse, detail, error) in the existing
dark-theme design. Landing page links to /browse in the "Try it" section.
Architecture: registry stays pure JSON API; portal is the HTML layer over the
same data — two subdomains, no content negotiation required.
Co-Authored-By: Mira Rehfeld <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
package org.botstandards.apix.common;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record ServiceBrowsePage(long total, int page, int size, List<ServiceSummaryDto> items) {}
|
||||
@@ -1,17 +1,18 @@
|
||||
package org.botstandards.apix.common;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public record ServiceSummaryDto(
|
||||
UUID id,
|
||||
String name,
|
||||
String description,
|
||||
List<String> capabilities,
|
||||
OLevel oLevel,
|
||||
LivenessStatus livenessStatus,
|
||||
ServiceStage serviceStage,
|
||||
RegistryStatus registryStatus,
|
||||
String endpoint,
|
||||
Instant lastCheckedAt
|
||||
String registrantName,
|
||||
String registrantJurisdiction
|
||||
) {}
|
||||
|
||||
Reference in New Issue
Block a user