feat: add router-lists catalog API client helper
CI / changes (push) Successful in 7s
CI / openapi (push) Has been skipped
CI / go (push) Has been skipped
CI / docker-web (deploy/docker/evobgp-web/Dockerfile, , evobgp-web) (push) Successful in 1m6s
CI / docker-web (deploy/docker/evobgp-web/Dockerfile, evobgp-all, evobgp-web-all) (push) Successful in 1m3s
CI / docker-bird (push) Has been skipped
CI / bird2 (push) Has been skipped
CI / docker-go-prime (push) Has been skipped
CI / docker-go (deploy/docker/evobgp-agent/Dockerfile, , evobgp-agent) (push) Has been skipped
CI / docker-go (evobgp-all, 1, deploy/docker/gobinary/Dockerfile, , evobgp-all) (push) Has been skipped
CI / docker-go (evobgp-api, 1, deploy/docker/gobinary/Dockerfile, , evobgp-api) (push) Has been skipped
CI / docker-go (evobgp-deploy, 0, deploy/docker/gobinary/Dockerfile, , evobgp-deploy) (push) Has been skipped
CI / docker-go (evobgp-ingest, 0, deploy/docker/gobinary/Dockerfile, , evobgp-ingest) (push) Has been skipped
CI / docker-go (evobgp-node, 0, deploy/docker/gobinary/Dockerfile, , evobgp-node) (push) Has been skipped
CI / docker-go (evobgp-render, 0, deploy/docker/gobinary/Dockerfile, , evobgp-render) (push) Has been skipped
CI / docker-go (evobgp-scheduler, 0, deploy/docker/gobinary/Dockerfile, , evobgp-scheduler) (push) Has been skipped

Expose a typed helper for /v1/router-lists/catalog so router-lists-ui can consume modules, entries, and communities in one request.

Made-with: Cursor
This commit is contained in:
Denozordec
2026-04-07 23:17:40 +07:00
parent c811c43bbc
commit 6c8e7c55ad
+6
View File
@@ -6,6 +6,7 @@ import type {
IpRangeEntriesResponse,
JobRow,
ModuleType,
RouterListsCatalogResponse,
RevisionPrefix,
RevisionPrefixesResponse
} from './types.js';
@@ -156,6 +157,11 @@ export async function fetchRevisionPrefixesAll(revisionId: string): Promise<Revi
return items;
}
/** Единый каталог для router-lists-ui: modules + entries + communities. */
export async function fetchRouterListsCatalog(): Promise<RouterListsCatalogResponse> {
return apiJSON<RouterListsCatalogResponse>('/v1/router-lists/catalog');
}
export async function fetchModuleSourceCatalog(moduleId: string, moduleType: ModuleType) {
if (moduleType === 'DOMAINS') {
const entries = await apiPageAll<DomainEntriesResponse['items'][number]>(