- Added DnsManager and DnsEntry classes to handle DNS entries. - Introduced new interfaces for DNS entry requests and data structures. - Updated Cloudly class to include DnsManager instance. - Enhanced app state to manage DNS entries and actions for creating, updating, and deleting DNS records. - Created UI components for DNS management, including forms for adding and editing DNS entries. - Updated overview and services views to reflect DNS entries. - Added validation and formatting methods for DNS entries.
99 lines
2.2 KiB
TypeScript
99 lines
2.2 KiB
TypeScript
import * as plugins from '../plugins.js';
|
|
import type { IDomain } from '../data/domain.js';
|
|
import type { IIdentity } from '../data/user.js';
|
|
|
|
export interface IRequest_Any_Cloudly_GetDomains
|
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IRequest_Any_Cloudly_GetDomains
|
|
> {
|
|
method: 'getDomains';
|
|
request: {
|
|
identity: IIdentity;
|
|
};
|
|
response: {
|
|
domains: IDomain[];
|
|
};
|
|
}
|
|
|
|
export interface IRequest_Any_Cloudly_GetDomainById
|
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IRequest_Any_Cloudly_GetDomainById
|
|
> {
|
|
method: 'getDomainById';
|
|
request: {
|
|
identity: IIdentity;
|
|
domainId: string;
|
|
};
|
|
response: {
|
|
domain: IDomain;
|
|
};
|
|
}
|
|
|
|
export interface IRequest_Any_Cloudly_CreateDomain
|
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IRequest_Any_Cloudly_CreateDomain
|
|
> {
|
|
method: 'createDomain';
|
|
request: {
|
|
identity: IIdentity;
|
|
domainData: IDomain['data'];
|
|
};
|
|
response: {
|
|
domain: IDomain;
|
|
};
|
|
}
|
|
|
|
export interface IRequest_Any_Cloudly_UpdateDomain
|
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IRequest_Any_Cloudly_UpdateDomain
|
|
> {
|
|
method: 'updateDomain';
|
|
request: {
|
|
identity: IIdentity;
|
|
domainId: string;
|
|
domainData: IDomain['data'];
|
|
};
|
|
response: {
|
|
domain: IDomain;
|
|
};
|
|
}
|
|
|
|
export interface IRequest_Any_Cloudly_DeleteDomain
|
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IRequest_Any_Cloudly_DeleteDomain
|
|
> {
|
|
method: 'deleteDomain';
|
|
request: {
|
|
identity: IIdentity;
|
|
domainId: string;
|
|
};
|
|
response: {
|
|
success: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IRequest_Any_Cloudly_VerifyDomain
|
|
extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IRequest_Any_Cloudly_VerifyDomain
|
|
> {
|
|
method: 'verifyDomain';
|
|
request: {
|
|
identity: IIdentity;
|
|
domainId: string;
|
|
verificationMethod?: 'dns' | 'http' | 'email' | 'manual';
|
|
};
|
|
response: {
|
|
domain: IDomain;
|
|
verificationResult: {
|
|
success: boolean;
|
|
message?: string;
|
|
details?: any;
|
|
};
|
|
};
|
|
} |