🛠 1️⃣ Was wurde erfolgreich ausgelagert?
✔ cryptoUtils.ts → Enthält generateKeyAndIV und generateTokencryptoUtils
✔ useAdminAuth.ts → Enthält decryptToken, useEffect für Login-Status und logoutAdminuseAdminAuth
✔ useSystemSettings.ts → Verwaltet Redux-Daten und setzt formValuesuseSystemSettings
✔ handleAdminLogin.ts → Enthält handleAdminLogin, um die Login-Logik auszulagernhandleAdminLogin
✔ handleClearDatabase.ts → Handhabt das Löschen der DatenbankhandleClearDatabase
✔ handleReboot.ts → Handhabt den Reboot des CPLhandleReboot
✔ handleSetDateTime.ts → Setzt Datum und Uhrzeit für das SystemhandleSetDateTime
✔ handleSubmit.ts → Verarbeitet Änderungen und sendet sie an den ServerhandleSubmit
✔ users.ts → Enthält die USERS-Konfiguration für den Adminusers
🚀 Das bedeutet:
SettingsModal.tsx ist jetzt nur noch für die UI zuständig.
Alle Geschäftslogik (State, API-Aufrufe, Funktionen) wurde sauber in separate Dateien ausgelagert.
Der Code ist jetzt wartungsfreundlicher und wiederverwendbarer.
This commit is contained in:
27
components/header/settingsModal/handlers/handleAdminLogin.ts
Normal file
27
components/header/settingsModal/handlers/handleAdminLogin.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
// components/header/settingsModal/handlers/handleAdminLogin.ts
|
||||
import bcrypt from "bcryptjs";
|
||||
import { generateToken } from "../utils/cryptoUtils";
|
||||
import USERS from "../config/users";
|
||||
|
||||
const handleAdminLogin = (
|
||||
username: string,
|
||||
password: string,
|
||||
onSuccess: () => void,
|
||||
onError: (errorMsg: string) => void
|
||||
) => {
|
||||
const user = USERS.Admin;
|
||||
bcrypt.compare(password, user.password, (err, isMatch) => {
|
||||
if (isMatch) {
|
||||
const token = generateToken(user);
|
||||
sessionStorage.setItem("token", token);
|
||||
localStorage.setItem("isAdminLoggedIn", "true");
|
||||
onSuccess();
|
||||
} else {
|
||||
onError(
|
||||
"Login fehlgeschlagen. Bitte überprüfen Sie Benutzername und Passwort."
|
||||
);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export default handleAdminLogin;
|
||||
Reference in New Issue
Block a user