11import { headers } from "next/headers" ;
22import { redirect } from "next/navigation" ;
33import { SignOut } from "@/components/sign-out-button" ;
4+ import { getRegistryV01Servers } from "@/generated/sdk.gen" ;
45import { auth } from "@/lib/auth/auth" ;
56
67export default async function CatalogPage ( ) {
@@ -20,30 +21,23 @@ export default async function CatalogPage() {
2021 sample : Array < { title : string ; name : string ; version ?: string } > ;
2122 } = { count : 0 , titles : [ ] , sample : [ ] } ;
2223 try {
23- const isDev = process . env . NODE_ENV !== "production" ;
24- const url = isDev
25- ? "http://localhost:9090/registry/v0.1/servers"
26- : "/registry/v0.1/servers" ;
27- const res = await fetch ( url ) ;
28- if ( res . ok ) {
29- type ServersPayload = {
30- servers ?: Array < {
31- server ?: { title ?: string ; name ?: string ; version ?: string } ;
32- } > ;
33- } ;
34- const data : ServersPayload = await res . json ( ) ;
35- const items = Array . isArray ( data ?. servers ) ? data . servers : [ ] ;
36- const titles = items
37- . map ( ( it ) => it ?. server ?. title ?? it ?. server ?. name )
38- . filter ( ( t ) : t is string => typeof t === "string" )
39- . slice ( 0 , 5 ) ;
40- const sample = items . slice ( 0 , 5 ) . map ( ( it ) => ( {
41- title : it ?. server ?. title ?? it ?. server ?. name ?? "Unknown" ,
42- name : it ?. server ?. name ?? "unknown" ,
43- version : it ?. server ?. version ?? undefined ,
44- } ) ) ;
45- serversSummary = { count : items . length , titles, sample } ;
46- }
24+ const resp = await getRegistryV01Servers ( ) ;
25+ const data = resp . data as {
26+ servers ?: Array < {
27+ server ?: { title ?: string ; name ?: string ; version ?: string } ;
28+ } > ;
29+ } ;
30+ const items = Array . isArray ( data ?. servers ) ? data . servers : [ ] ;
31+ const titles = items
32+ . map ( ( it ) => it ?. server ?. title ?? it ?. server ?. name )
33+ . filter ( ( t ) : t is string => typeof t === "string" )
34+ . slice ( 0 , 5 ) ;
35+ const sample = items . slice ( 0 , 5 ) . map ( ( it ) => ( {
36+ title : it ?. server ?. title ?? it ?. server ?. name ?? "Unknown" ,
37+ name : it ?. server ?. name ?? "unknown" ,
38+ version : it ?. server ?. version ?? undefined ,
39+ } ) ) ;
40+ serversSummary = { count : items . length , titles, sample } ;
4741 } catch {
4842 // Leave serversSummary at its default empty state
4943 }
0 commit comments