mirror of
https://github.com/fosrl/pangolin.git
synced 2026-06-03 22:35:59 +00:00
Handle delete correctly
This commit is contained in:
@@ -52,16 +52,6 @@ export async function deleteResource(
|
|||||||
.from(targets)
|
.from(targets)
|
||||||
.where(eq(targets.resourceId, resourceId));
|
.where(eq(targets.resourceId, resourceId));
|
||||||
|
|
||||||
const targetHealthChecksToBeRemoved = await db
|
|
||||||
.select()
|
|
||||||
.from(targetHealthCheck)
|
|
||||||
.where(
|
|
||||||
inArray(
|
|
||||||
targetHealthCheck.targetId,
|
|
||||||
targetsToBeRemoved.map((t) => t.targetId)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
const [deletedResource] = await db
|
const [deletedResource] = await db
|
||||||
.delete(resources)
|
.delete(resources)
|
||||||
.where(eq(resources.resourceId, resourceId))
|
.where(eq(resources.resourceId, resourceId))
|
||||||
@@ -76,17 +66,18 @@ export async function deleteResource(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const target of targetsToBeRemoved) {
|
||||||
const [site] = await db
|
const [site] = await db
|
||||||
.select()
|
.select()
|
||||||
.from(sites)
|
.from(sites)
|
||||||
.where(eq(sites.siteId, targets.siteId))
|
.where(eq(sites.siteId, target.siteId))
|
||||||
.limit(1);
|
.limit(1);
|
||||||
|
|
||||||
if (!site) {
|
if (!site) {
|
||||||
return next(
|
return next(
|
||||||
createHttpError(
|
createHttpError(
|
||||||
HttpCode.NOT_FOUND,
|
HttpCode.NOT_FOUND,
|
||||||
`Site with ID ${targets.siteId} not found`
|
`Site with ID ${target.siteId} not found`
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -100,15 +91,21 @@ export async function deleteResource(
|
|||||||
.where(eq(newts.siteId, site.siteId))
|
.where(eq(newts.siteId, site.siteId))
|
||||||
.limit(1);
|
.limit(1);
|
||||||
|
|
||||||
|
const [healthCheck] = await db
|
||||||
|
.select()
|
||||||
|
.from(targetHealthCheck)
|
||||||
|
.where(eq(targetHealthCheck.targetId, target.targetId));
|
||||||
|
|
||||||
await removeTargets(
|
await removeTargets(
|
||||||
newt.newtId,
|
newt.newtId,
|
||||||
targetsToBeRemoved,
|
[target],
|
||||||
targetHealthChecksToBeRemoved,
|
[healthCheck],
|
||||||
deletedResource.protocol,
|
deletedResource.protocol,
|
||||||
newt.version
|
newt.version
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return response(res, {
|
return response(res, {
|
||||||
data: null,
|
data: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user