mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-02 23:06:36 +08:00
350b433cc1
以稳定 Zone ID 替换旧托管域名详情页:列表展示根域与域名计数,详情提供 概览/域名/路由/证书/设置 Tabs,并补齐 ZoneService 与 vitest 行为测试。 Zone 列表 API 返回 domain_count;同步 Swagger 与重构计划进度。
23 lines
1.4 KiB
TypeScript
23 lines
1.4 KiB
TypeScript
import {OpenFlareBaseService} from './base.service'
|
|
import type {ZoneDomainItem, ZoneDomainMutationPayload, ZoneItem, ZoneMutationPayload, ZoneOverview} from './types'
|
|
|
|
export const zoneQueryKey = ['openflare', 'zones'] as const
|
|
|
|
export class ZoneService extends OpenFlareBaseService {
|
|
protected static override readonly basePath = '/api/v1/d/zones'
|
|
|
|
static list(): Promise<ZoneItem[]> { return this.get<ZoneItem[]>('/') }
|
|
static getOverview(id: number): Promise<ZoneOverview> { return this.get<ZoneOverview>(`/${id}/overview`) }
|
|
static create(payload: ZoneMutationPayload): Promise<ZoneItem> { return this.post<ZoneItem>('/', payload) }
|
|
static update(id: number, payload: ZoneMutationPayload): Promise<ZoneItem> { return this.post<ZoneItem>(`/${id}/update`, payload) }
|
|
static deleteById(id: number): Promise<void> { return this.post<void>(`/${id}/delete`) }
|
|
}
|
|
|
|
export class ZoneDomainService extends OpenFlareBaseService {
|
|
protected static override readonly basePath = '/api/v1/d/zones'
|
|
|
|
static create(zoneId: number, payload: ZoneDomainMutationPayload): Promise<ZoneDomainItem> { return this.post<ZoneDomainItem>(`/${zoneId}/domains`, payload) }
|
|
static update(zoneId: number, id: number, payload: ZoneDomainMutationPayload): Promise<ZoneDomainItem> { return this.post<ZoneDomainItem>(`/${zoneId}/domains/${id}/update`, payload) }
|
|
static deleteById(zoneId: number, id: number): Promise<void> { return this.post<void>(`/${zoneId}/domains/${id}/delete`) }
|
|
}
|