diff --git a/backend/src/ee/services/pki-acme/pki-acme-order-dal.ts b/backend/src/ee/services/pki-acme/pki-acme-order-dal.ts index 8600079df..ca02b09bb 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-order-dal.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-order-dal.ts @@ -60,9 +60,19 @@ export const pkiAcmeOrderDALFactory = (db: TDbClient) => { } }; + const listByAccountId = async (accountId: string, tx?: Knex) => { + try { + const orders = await (tx || db)(TableName.PkiAcmeOrder).where({ accountId }).orderBy("createdAt", "desc"); + return orders; + } catch (error) { + throw new DatabaseError({ error, name: "List PKI ACME orders by account id" }); + } + }; + return { ...pkiAcmeOrderOrm, findByIdForFinalization, - findByAccountAndOrderIdWithAuthorizations + findByAccountAndOrderIdWithAuthorizations, + listByAccountId }; }; diff --git a/backend/src/ee/services/pki-acme/pki-acme-service.ts b/backend/src/ee/services/pki-acme/pki-acme-service.ts index 0f537731c..5bfbf2120 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-service.ts @@ -84,7 +84,12 @@ type TPkiAcmeServiceFactoryDep = { >; acmeOrderDAL: Pick< TPkiAcmeOrderDALFactory, - "create" | "transaction" | "updateById" | "findByAccountAndOrderIdWithAuthorizations" | "findByIdForFinalization" + | "create" + | "transaction" + | "updateById" + | "findByAccountAndOrderIdWithAuthorizations" + | "findByIdForFinalization" + | "listByAccountId" >; acmeAuthDAL: Pick; acmeOrderAuthDAL: Pick; @@ -727,15 +732,11 @@ export const pkiAcmeServiceFactory = ({ profileId: string; accountId: string; }): Promise> => { - const profile = await validateAcmeProfile(profileId); - // FIXME: Implement ACME list orders + const orders = await acmeOrderDAL.listByAccountId(accountId); return { status: 200, - body: { - orders: [] - }, + body: { orders: orders.map((order) => buildUrl(profileId, `/orders/${order.id}`)) }, headers: { - Location: buildUrl(profileId, `/accounts/${accountId}/orders`), Link: `<${buildUrl(profileId, "/directory")}>;rel="index"` } };