feat(dns): Implement DNS preview records generation and enhance hostname preview functionality
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 5s
quality / changes (push) Successful in 5s
quality / docker-check (push) Skipped
quality / web (push) Successful in 56s
quality / api (push) Successful in 43s
CD / quality (push) Successful in 1m46s
CD / publish (push) Successful in 1m40s

- Added `buildDnsPreviewRecords` function to generate DNS records based on hostname, TTL, and provided IPv4/IPv6 addresses.
- Updated `fleetRoutes` to utilize the new DNS records generation for hostname previews.
- Enhanced frontend API calls to support IPv4, IPv6, and node ID parameters for more comprehensive hostname previews.
- Updated UI components to display DNS preview information, including A, AAAA, and CNAME records.
This commit is contained in:
Denozordec
2026-09-04 15:09:30 +07:00
parent ba66755a29
commit 146afc1369
5 changed files with 253 additions and 47 deletions
+17 -1
View File
@@ -180,6 +180,9 @@ export async function previewHostname(params: {
role: string
indexNum?: number
providerTag?: string
ipv4?: string
ipv6?: string
nodeId?: string
}) {
const p = new URLSearchParams({
zoneId: params.zoneId,
@@ -188,5 +191,18 @@ export async function previewHostname(params: {
indexNum: String(params.indexNum ?? 1),
})
if (params.providerTag) p.set('providerTag', params.providerTag)
return api.get<{ hostname: string }>(`/api/v1/naming/preview?${p}`)
if (params.ipv4) p.set('ipv4', params.ipv4)
if (params.ipv6) p.set('ipv6', params.ipv6)
if (params.nodeId) p.set('nodeId', params.nodeId)
return api.get<{
hostname: string
ttl: number
records: Array<{
type: 'A' | 'AAAA' | 'CNAME'
name: string
content: string
ttl: number
note?: string
}>
}>(`/api/v1/naming/preview?${p}`)
}