mirror of
https://github.com/certd/certd.git
synced 2026-04-24 04:17:25 +08:00
fix: 修复spaceship创建record报错的bug
https://github.com/certd/certd/issues/705
This commit is contained in:
@@ -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>> {
|
||||||
|
|||||||
Reference in New Issue
Block a user