mirror of
https://github.com/fosrl/pangolin.git
synced 2026-07-31 09:45:45 +02:00
🐛 resolve certificates for non exact domains too
This commit is contained in:
@@ -73,16 +73,19 @@ async function query(orgId: string, domainList: string[]) {
|
|||||||
.where(and(inArray(certificates.domain, domainList)));
|
.where(and(inArray(certificates.domain, domainList)));
|
||||||
|
|
||||||
// All non resolved domain certificates might be `ns` or `wildcard`,
|
// All non resolved domain certificates might be `ns` or `wildcard`,
|
||||||
// which means exact domain certificates do not
|
// which means exact domain certificates do not exist
|
||||||
const nonAvailableCertificates = existingCertificates
|
const foundDomains = new Set(
|
||||||
.filter((cert) => !domainList.includes(cert.domain))
|
existingCertificates.map((cert) => cert.domain)
|
||||||
.map((cert) => cert.domain);
|
);
|
||||||
|
const domainsWithMissingCertificates = domainList.filter(
|
||||||
|
(domain) => !foundDomains.has(domain)
|
||||||
|
);
|
||||||
|
|
||||||
if (nonAvailableCertificates.length > 0) {
|
if (domainsWithMissingCertificates.length > 0) {
|
||||||
const domainLevelDownSet = new Set<string>();
|
const domainLevelDownSet = new Set<string>();
|
||||||
const wildcardDomainSet = new Set<string>();
|
const wildcardDomainSet = new Set<string>();
|
||||||
|
|
||||||
for (const domain of nonAvailableCertificates) {
|
for (const domain of domainsWithMissingCertificates) {
|
||||||
const domainLevelDown = domain.split(".").slice(1).join(".");
|
const domainLevelDown = domain.split(".").slice(1).join(".");
|
||||||
const wildcardPrefixed = `*.${domainLevelDown}`;
|
const wildcardPrefixed = `*.${domainLevelDown}`;
|
||||||
domainLevelDownSet.add(domainLevelDown);
|
domainLevelDownSet.add(domainLevelDown);
|
||||||
@@ -131,6 +134,7 @@ async function query(orgId: string, domainList: string[]) {
|
|||||||
for (const domain of domainList) {
|
for (const domain of domainList) {
|
||||||
const domainLevelDown = domain.split(".").slice(1).join(".");
|
const domainLevelDown = domain.split(".").slice(1).join(".");
|
||||||
const wildcardPrefixed = `*.${domainLevelDown}`;
|
const wildcardPrefixed = `*.${domainLevelDown}`;
|
||||||
|
|
||||||
certificateMap[domain] =
|
certificateMap[domain] =
|
||||||
existingCertificates.find(
|
existingCertificates.find(
|
||||||
(cert) =>
|
(cert) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user