generated from Dicken/dickendock
round27: Ping-Regression rueckgaengig gemacht (Echo/Samsung-Geraete ignorieren ICMP), Aktualisiert-Text entfernt, Suchmaschinen-Hinweis+README, API-Scanner stark erweitert mit eigenem Reiter
This commit is contained in:
@@ -27,15 +27,29 @@ export function listDetectedApis(): DetectedApiEntry[] {
|
||||
return db.select().from(detectedApis).all().map(mapRow);
|
||||
}
|
||||
|
||||
export function getApisForService(serviceId: string): DetectedApiEntry[] {
|
||||
return db.select().from(detectedApis).where(eq(detectedApis.serviceId, serviceId)).all().map(mapRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ersetzt die gespeicherten API-Funde eines Dienstes komplett durch die
|
||||
* neuen Ergebnisse eines Scan-Laufs - kein Anhäufen von veralteten
|
||||
* Einträgen, wenn sich z. B. der API-Pfad einer Software mal ändert.
|
||||
*
|
||||
* Liefert zusätzlich `added` zurück: die Einträge, die VORHER noch nicht
|
||||
* gespeichert waren (nach Pfad+Typ verglichen) - damit der Scanner auf der
|
||||
* Scanner-Seite nach dem ersten Mal nur noch NEUE/geänderte Funde anzeigen
|
||||
* kann, statt bei jedem erneuten Scan die komplette (meist unveränderte)
|
||||
* Liste erneut runterzurattern. Die vollständige Liste bleibt jederzeit
|
||||
* unter Admin -> APIs einsehbar.
|
||||
*/
|
||||
export function replaceApisForService(
|
||||
serviceId: string,
|
||||
found: { path: string; type: string; status: number }[]
|
||||
): DetectedApiEntry[] {
|
||||
): { saved: DetectedApiEntry[]; added: DetectedApiEntry[] } {
|
||||
const before = getApisForService(serviceId);
|
||||
const beforeKeys = new Set(before.map((e) => `${e.path}::${e.type}`));
|
||||
|
||||
db.delete(detectedApis).where(eq(detectedApis.serviceId, serviceId)).run();
|
||||
|
||||
const timestamp = new Date().toISOString();
|
||||
@@ -52,7 +66,10 @@ export function replaceApisForService(
|
||||
db.insert(detectedApis).values(rows).run();
|
||||
}
|
||||
|
||||
return rows.map(mapRow);
|
||||
const saved = rows.map(mapRow);
|
||||
const added = saved.filter((e) => !beforeKeys.has(`${e.path}::${e.type}`));
|
||||
|
||||
return { saved, added };
|
||||
}
|
||||
|
||||
export function deleteApisForService(serviceId: string): void {
|
||||
|
||||
Reference in New Issue
Block a user