services -> domains

This commit is contained in:
2026-07-10 20:46:22 +00:00
parent 3c99d26830
commit 79c0c32b98
45 changed files with 1447 additions and 1270 deletions

View File

@@ -1,6 +1,6 @@
import { apiClient } from './client';
// Services
// Domains
export interface HeaderConfig {
request?: Record<string, string>;
@@ -18,7 +18,7 @@ export interface Route {
ipAllow?: string[];
}
export interface RegisteredService {
export interface RegisteredDomain {
domain: string;
source: string;
subdomains: boolean;
@@ -32,15 +32,15 @@ export interface RegisteredService {
routes?: Route[];
}
export const servicesApi = {
async list(): Promise<{ services: RegisteredService[] }> {
return apiClient.get('/api/v1/services');
export const domainsApi = {
async list(): Promise<{ domains: RegisteredDomain[] }> {
return apiClient.get('/api/v1/domains');
},
async register(svc: { domain: string; backend: { address: string; type: string; health?: string }; public?: boolean; subdomains?: boolean; source?: string }): Promise<{ message: string; service: RegisteredService }> {
return apiClient.post('/api/v1/services', svc);
async register(dom: { domain: string; backend: { address: string; type: string; health?: string }; public?: boolean; subdomains?: boolean; source?: string; tls?: string }): Promise<{ message: string; domain: RegisteredDomain }> {
return apiClient.post('/api/v1/domains', dom);
},
async deregister(domain: string): Promise<{ message: string }> {
return apiClient.delete(`/api/v1/services/${domain}`);
return apiClient.delete(`/api/v1/domains/${domain}`);
},
};