Compare commits
6 Commits
bfa5550e52
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
1a42d7a7b4
|
|||
|
c94f0b7c2b
|
|||
|
ebbb76df97
|
|||
|
f7203dedff
|
|||
|
bce84d128b
|
|||
|
c0a9916604
|
@@ -6,7 +6,7 @@ Some fun little scripts to automate tasks regarding the LfK Läufersystem.
|
|||||||
pnpm i
|
pnpm i
|
||||||
```
|
```
|
||||||
|
|
||||||
## Scrips
|
## Scripts 📜
|
||||||
> All of the current scripts - explained
|
> All of the current scripts - explained
|
||||||
|
|
||||||
### Shared
|
### Shared
|
||||||
|
|||||||
@@ -22,13 +22,13 @@
|
|||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@odit/lfk-client-node": "1.1.1",
|
"@odit/lfk-client-node": "1.1.1",
|
||||||
"dotenv": "s16.0.3"
|
"dotenv": "16.0.3"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"volta": {
|
"volta": {
|
||||||
"node": "19.9.0"
|
"node": "19.9.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"pnpm": "8"
|
"pnpm": "10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
import { RunnerService, ScanService } from "@odit/lfk-client-node";
|
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 orgID = -1;
|
||||||
const distanceMeter = 3300;
|
const distanceMeter = 3000;
|
||||||
|
|
||||||
await login();
|
await login();
|
||||||
|
|
||||||
const runners = await RunnerService.runnerControllerGetAll();
|
const runners = await RunnerService.runnerControllerGetAll();
|
||||||
|
console.log(`Loaded ${runners.length} runners.`);
|
||||||
let filteredRunners = [];
|
let filteredRunners = [];
|
||||||
|
|
||||||
if (teamID !== -1) {
|
if (teamID !== -1) {
|
||||||
@@ -15,9 +16,11 @@ if (teamID !== -1) {
|
|||||||
} else {
|
} else {
|
||||||
filteredRunners = runners.filter((r) => r.group.id == orgID || r.group.parentGroup?.id == orgID);
|
filteredRunners = runners.filter((r) => r.group.id == orgID || r.group.parentGroup?.id == orgID);
|
||||||
}
|
}
|
||||||
|
console.log(`Filtered to ${filteredRunners.length} runners.`);
|
||||||
|
|
||||||
const scans = [];
|
const scans = [];
|
||||||
for (const runner of filteredRunners) {
|
for (const runner of filteredRunners) {
|
||||||
scans.push(ScanService.scanControllerPost({ distance: distanceMeter, runner: runner.id, valid: true }))
|
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.`);
|
||||||
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.`);
|
||||||
@@ -8,6 +8,7 @@ export async function login() {
|
|||||||
const password = process.env.PASSWORD;
|
const password = process.env.PASSWORD;
|
||||||
|
|
||||||
if (!user || !password || !OpenAPI.BASE) {
|
if (!user || !password || !OpenAPI.BASE) {
|
||||||
|
console.error("Missing environment variables: BASE_URL, USER, PASSWORD");
|
||||||
process.exit(1)
|
process.exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user