fix: 修复spaceship创建record报错的bug

https://github.com/certd/certd/issues/705
This commit is contained in:
xiaojunnuo
2026-04-07 22:29:30 +08:00
parent 411486e1e7
commit 70b46d4a8f
@@ -3,11 +3,7 @@ import { SpaceshipAccess } from "./access.js";
import { PageRes, PageSearch } from "@certd/pipeline"; import { PageRes, PageSearch } from "@certd/pipeline";
export type SpaceshipRecord = { export type SpaceshipRecord = {
id: string;
name: string; name: string;
type: string;
content: string;
domainId: string;
}; };
@IsDnsProvider({ @IsDnsProvider({
@@ -32,7 +28,7 @@ export class SpaceshipProvider extends AbstractDnsProvider<SpaceshipRecord> {
await this.access.getDomainInfo(domain); await this.access.getDomainInfo(domain);
const recordRes = await this.access.doRequest({ const recordRes = await this.access.doRequest({
url: `https://spaceship.dev/api/v1/domains/${domain}/records`, url: `https://spaceship.dev/api/v1/dns/records/${domain}`,
method: "POST", method: "POST",
data: { data: {
force: false, force: false,
@@ -41,40 +37,33 @@ export class SpaceshipProvider extends AbstractDnsProvider<SpaceshipRecord> {
type: type, type: type,
value: value, value: value,
name: hostRecord, name: hostRecord,
ttl: 300 ttl: 60
} }
] ]
} }
}); });
return { return recordRes;
id: recordRes.items[0].id,
name: hostRecord,
type: type,
content: value,
domainId: domain
};
} }
async removeRecord(options: RemoveRecordOptions<SpaceshipRecord>): Promise<void> { async removeRecord(options: RemoveRecordOptions<SpaceshipRecord>): Promise<void> {
const recordRes = options.recordRes; const recordReq = options.recordReq;
this.logger.info("删除域名解析:", recordRes); this.logger.info("删除域名解析:", recordReq);
await this.access.doRequest({ await this.access.doRequest({
url: `https://spaceship.dev/api/v1/domains/${recordRes.domainId}/records`, // https://spaceship.dev/api/v1/dns/records/xxx.net
url: `https://spaceship.dev/api/v1/dns/records/${recordReq.domain}`,
method: "DELETE", method: "DELETE",
data: { data: [
Records: [ {
{ type: recordReq.type,
type: recordRes.type, value: recordReq.value,
value: recordRes.content, name: recordReq.hostRecord
name: recordRes.name }
} ]
]
}
}); });
this.logger.info("删除域名解析成功:", recordRes.name); this.logger.info("删除域名解析成功:", JSON.stringify(recordReq));
} }
async getDomainListPage(req: PageSearch): Promise<PageRes<DomainRecord>> { async getDomainListPage(req: PageSearch): Promise<PageRes<DomainRecord>> {