Avoid queuing cert issue req many times

This commit is contained in:
Fang-Pen Lin
2025-12-09 11:08:28 -08:00
parent 0bb2e2be6c
commit ff6a45795e
2 changed files with 11 additions and 13 deletions

View File

@@ -6,8 +6,8 @@ export enum AcmeIdentifierType {
export enum AcmeOrderStatus { export enum AcmeOrderStatus {
Pending = "pending", Pending = "pending",
Processing = "processing",
Ready = "ready", Ready = "ready",
Processing = "processing",
Valid = "valid", Valid = "valid",
Invalid = "invalid" Invalid = "invalid"
} }

View File

@@ -10,6 +10,7 @@ import {
import { Knex } from "knex"; import { Knex } from "knex";
import { z, ZodError } from "zod"; import { z, ZodError } from "zod";
import { TPkiAcmeOrders } from "@app/db/schemas";
import { TPkiAcmeAccounts } from "@app/db/schemas/pki-acme-accounts"; import { TPkiAcmeAccounts } from "@app/db/schemas/pki-acme-accounts";
import { TPkiAcmeAuths } from "@app/db/schemas/pki-acme-auths"; import { TPkiAcmeAuths } from "@app/db/schemas/pki-acme-auths";
import { KeyStorePrefixes, TKeyStoreFactory } from "@app/keystore/keystore"; import { KeyStorePrefixes, TKeyStoreFactory } from "@app/keystore/keystore";
@@ -104,7 +105,6 @@ import {
TRawJwsPayload, TRawJwsPayload,
TRespondToAcmeChallengeResponse TRespondToAcmeChallengeResponse
} from "./pki-acme-types"; } from "./pki-acme-types";
import { TPkiAcmeOrders } from "@app/db/schemas";
type TPkiAcmeServiceFactoryDep = { type TPkiAcmeServiceFactoryDep = {
projectDAL: Pick<TProjectDALFactory, "findOne" | "updateById" | "transaction" | "findById">; projectDAL: Pick<TProjectDALFactory, "findOne" | "updateById" | "transaction" | "findById">;
@@ -1008,17 +1008,15 @@ export const pkiAcmeServiceFactory = ({
ca, ca,
tx tx
}); });
if (result.certificateId) { await acmeOrderDAL.updateById(
await acmeOrderDAL.updateById( orderId,
orderId, {
{ status: result.certificateId ? AcmeOrderStatus.Valid : AcmeOrderStatus.Processing,
status: AcmeOrderStatus.Valid, csr,
csr, certificateId: result.certificateId
certificateId: result.certificateId },
}, tx
tx );
);
}
certIssuanceJobDataToReturn = result.certIssuanceJobData; certIssuanceJobDataToReturn = result.certIssuanceJobData;
} catch (exp) { } catch (exp) {
await acmeOrderDAL.updateById( await acmeOrderDAL.updateById(