secend try

This commit is contained in:
2025-10-21 22:41:29 +02:00
parent 9d5ae2ddb6
commit 5e01561df9

View File

@@ -4,22 +4,24 @@ const wake = require('wake-on-lan');
@Injectable() @Injectable()
export class WolService { export class WolService {
async wakeUp(mac: string): Promise<{ success: boolean; message: string }> { async wakeUp(mac: string): Promise<{ success: boolean; message: string }> {
return new Promise((resolve, reject) => { try {
wake(mac, (error: Error | null) => { // 1. Rufe die Funktion direkt auf.
if (error) { // Sie ist synchron und "fire-and-forget".
console.error(`Fehler beim Senden des WoL-Pakets an ${mac}:`, error); // Sie WIRFT einen FEHLER, wenn die MAC-Adresse ungültig ist.
reject( wake(mac);
new InternalServerErrorException(
`Paket konnte nicht gesendet werden: ${error.message}`, // 2. Wenn die Zeile oben KEINEN Fehler wirft,
), // ist die Anfrage raus. Gib sofort Erfolg zurück.
); return {
} else {
resolve({
success: true, success: true,
message: `Magic Packet erfolgreich an ${mac} gesendet.`, message: `Magic Packet (Anfrage) an ${mac} gesendet.`,
}); };
} } catch (error) {
}); // 3. Fange den synchronen Fehler ab (z.B. "invalid mac address")
}); console.error(`Fehler beim Senden des WoL-Pakets an ${mac}:`, error);
throw new InternalServerErrorException(
`Paket konnte nicht gesendet werden: ${error.message}`,
);
}
} }
} }