From 4826242f0acb8bbbc5b0f481850901ca6d1346a7 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 31 Jan 2025 15:49:21 +0530 Subject: [PATCH] Update flow for deleting deployments --- packages/backend/src/service.ts | 35 ++++++++++++--------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 22449b63..22ae9bfb 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -1208,37 +1208,28 @@ export class Service { }, }); - // Compare deployer in DNS while deleting - if (deployment && deployment.applicationDeploymentRecordId) { // If deployment is current, remove deployment for project subdomain as well if (deployment.isCurrent) { - const currentDeploymentURL = `https://${(deployment.project.name).toLowerCase()}.${deployment.deployer.baseDomain}`; + const dnsDeployment = await this.db.getDeployment({ + where: { + projectId: deployment.project.id, + deployer: deployment.deployer, + isDNS: true + } + }) - // TODO: Store the latest DNS deployment record - const deploymentRecords = - await this.laconicRegistry.getDeploymentRecordsByFilter({ - application: deployment.applicationRecordId, - url: currentDeploymentURL, - }); - - if (!deploymentRecords.length) { - log( - `No ApplicationDeploymentRecord found for URL ${currentDeploymentURL} and ApplicationDeploymentRecord id ${deployment.applicationDeploymentRecordId}`, - ); + if (!dnsDeployment) { + log(`DNS deployment for deployment with id ${deployment.id} not found`); return false; } - // Multiple records are fetched, take the latest record - const latestRecord = deploymentRecords - .sort((a, b) => new Date(b.createTime).getTime() - new Date(a.createTime).getTime())[0]; - await this.laconicRegistry.createApplicationDeploymentRemovalRequest({ - deploymentId: latestRecord.id, - deployerLrn: deployment.deployer.deployerLrn, - auctionId: deployment.project.auctionId, - payment: deployment.project.txHash + deploymentId: dnsDeployment.id, + deployerLrn: dnsDeployment.deployer.deployerLrn, + auctionId: dnsDeployment.project.auctionId, + payment: dnsDeployment.project.txHash }); }