add cert resolver

This commit is contained in:
Pallavi Kumari
2025-10-06 21:00:07 +05:30
parent 60379a7b4e
commit 3f3e9cf1bb
5 changed files with 92 additions and 22 deletions

View File

@@ -24,16 +24,21 @@ const paramsSchema = z
const bodySchema = z
.object({
type: z.enum(["ns", "cname", "wildcard"]),
baseDomain: subdomainSchema
baseDomain: subdomainSchema,
certResolver: z.enum(["letsencrypt", "custom"]).optional(), // optional, only for wildcard
customCertResolver: z.string().optional() // required if certResolver === "custom"
})
.strict();
export type CreateDomainResponse = {
domainId: string;
nsRecords?: string[];
cnameRecords?: { baseDomain: string; value: string }[];
aRecords?: { baseDomain: string; value: string }[];
txtRecords?: { baseDomain: string; value: string }[];
certResolver?: string | null;
customCertResolver?: string | null;
};
// Helper to check if a domain is a subdomain or equal to another domain
@@ -71,7 +76,7 @@ export async function createOrgDomain(
}
const { orgId } = parsedParams.data;
const { type, baseDomain } = parsedBody.data;
const { type, baseDomain, certResolver, customCertResolver } = parsedBody.data;
if (build == "oss") {
if (type !== "wildcard") {
@@ -254,7 +259,9 @@ export async function createOrgDomain(
domainId,
baseDomain,
type,
verified: type === "wildcard" ? true : false
verified: type === "wildcard" ? true : false,
certResolver: certResolver || null,
customCertResolver: customCertResolver || null
})
.returning();
@@ -325,7 +332,9 @@ export async function createOrgDomain(
cnameRecords,
txtRecords,
nsRecords,
aRecords
aRecords,
certResolver: returned.certResolver,
customCertResolver: returned.customCertResolver
},
success: true,
error: false,

View File

@@ -42,7 +42,9 @@ async function queryDomains(orgId: string, limit: number, offset: number) {
type: domains.type,
failed: domains.failed,
tries: domains.tries,
configManaged: domains.configManaged
configManaged: domains.configManaged,
certResolver: domains.certResolver,
customCertResolver: domains.customCertResolver,
})
.from(orgDomains)
.where(eq(orgDomains.orgId, orgId))