Compare commits

..

6 Commits

5 changed files with 47 additions and 7 deletions

View File

@@ -6,7 +6,7 @@ Some fun little scripts to automate tasks regarding the LfK Läufersystem.
pnpm i
```
## Scrips
## Scripts 📜
> All of the current scripts - explained
### Shared

View File

@@ -22,13 +22,13 @@
],
"dependencies": {
"@odit/lfk-client-node": "1.1.1",
"dotenv": "s16.0.3"
"dotenv": "16.0.3"
},
"type": "module",
"volta": {
"node": "19.9.0"
},
"engines": {
"pnpm": "8"
"pnpm": "10"
}
}

View File

@@ -1,13 +1,14 @@
import { RunnerService, ScanService } from "@odit/lfk-client-node";
import { login } from "../shared/login";
import { login } from "../shared/login.js";
const teamID = 79;
const teamID = 263;
const orgID = -1;
const distanceMeter = 3300;
const distanceMeter = 3000;
await login();
const runners = await RunnerService.runnerControllerGetAll();
console.log(`Loaded ${runners.length} runners.`);
let filteredRunners = [];
if (teamID !== -1) {
@@ -15,9 +16,11 @@ if (teamID !== -1) {
} else {
filteredRunners = runners.filter((r) => r.group.id == orgID || r.group.parentGroup?.id == orgID);
}
console.log(`Filtered to ${filteredRunners.length} runners.`);
const scans = [];
for (const runner of filteredRunners) {
scans.push(ScanService.scanControllerPost({ distance: distanceMeter, runner: runner.id, valid: true }))
}
await Promise.all(scans);
await Promise.all(scans);
console.log(`Created ${scans.length} scans for ${filteredRunners.length} runners with distance ${distanceMeter} meters.`);

View 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.`);

View File

@@ -8,6 +8,7 @@ export async function login() {
const password = process.env.PASSWORD;
if (!user || !password || !OpenAPI.BASE) {
console.error("Missing environment variables: BASE_URL, USER, PASSWORD");
process.exit(1)
}