feat(scans): Implement scan deletion based on team and organization criteria
This commit is contained in:
parent
ebbb76df97
commit
c94f0b7c2b
36
src/scans/deleteScansBasedOnCriteria.js
Normal file
36
src/scans/deleteScansBasedOnCriteria.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import { RunnerService, ScanService } from "@odit/lfk-client-node";
|
||||||
|
import { login } from "../shared/login.js";
|
||||||
|
|
||||||
|
const teamID = 42; // Replace with the actual team ID or -1 for all teams
|
||||||
|
const orgID = -1; // Replace with the actual organization ID or -1 for all organizations
|
||||||
|
const distanceMeter = 6600;
|
||||||
|
|
||||||
|
await login();
|
||||||
|
|
||||||
|
const runners = await RunnerService.runnerControllerGetAll();
|
||||||
|
console.log(`Loaded ${runners.length} runners.`);
|
||||||
|
let filteredRunners = [];
|
||||||
|
|
||||||
|
if (teamID !== -1) {
|
||||||
|
filteredRunners = runners.filter((r) => r.group.id == teamID);
|
||||||
|
} else if (orgID !== -1) {
|
||||||
|
filteredRunners = runners.filter((r) => r.group.id == orgID || r.group.parentGroup?.id == orgID);
|
||||||
|
} else {
|
||||||
|
filteredRunners = runners
|
||||||
|
}
|
||||||
|
console.log(`Filtered to ${filteredRunners.length} runners.`);
|
||||||
|
|
||||||
|
const scans = await ScanService.scanControllerGetAll();
|
||||||
|
console.log(`Loaded ${scans.length} scans.`);
|
||||||
|
let deletescans = [];
|
||||||
|
for (const runner of filteredRunners) {
|
||||||
|
deletescans = deletescans.concat(scans.filter((s) => s.runner.id == runner.id && s.distance == distanceMeter));
|
||||||
|
}
|
||||||
|
console.log(`Found ${deletescans.length} scans to delete for ${filteredRunners.length} runners.`);
|
||||||
|
|
||||||
|
const deletePromises = [];
|
||||||
|
for (const scan of deletescans) {
|
||||||
|
deletePromises.push(ScanService.scanControllerRemove(scan.id));
|
||||||
|
}
|
||||||
|
await Promise.all(scans);
|
||||||
|
console.log(`Deleted ${deletescans.length} scans.`);
|
Loading…
x
Reference in New Issue
Block a user