f052_admin_area #27
Reference in New Issue
Block a user
Delete Branch "f052_admin_area"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@@ -0,0 +17,4 @@userList = await getUsers();})async function getUsers() {try catch block benutzen
@@ -0,0 +18,4 @@})async function getUsers() {const URL = "/api/users"sowas kann man ganz gut in eine constante auslagern also ein enum oder objekt, welches alle routen hält und ich diese dann nur referenzieren muss. das sind solche "magic strings"
müsste ganzheitlich getan werden -> Ticket angelegt
@@ -0,0 +24,4 @@return await response.json();}async function addUser() {Try Catch block
@@ -0,0 +35,4 @@return;}const URL = "/api/users";s.o.
@@ -0,0 +36,4 @@}const URL = "/api/users";const hashedUserPassword = new jsSHA('SHA-512', 'TEXT').update(userPassword).getHash('HEX');Das hashen von Passwörtern solle stets im Backend erfolgen. Hier sollte auch auf eine sichere Methode geachtet werden die noch eine Salt wert einfügt z.B. bycrpty o.ä.
manuelles hashen wurde durch bcrypt ausgetauscht.
@@ -0,0 +48,4 @@})if (response.ok) {userList = await getUsers();Performanter wäre es wenn du dir nach dem Erstellen des Users, dieses zurück liefern lässt. Damit reduzierst du Traffic
sowas wie
const newUser = await response.json();
userList = [...userList, newUser];
@@ -0,0 +65,4 @@}, 5000);}async function deleteUser(userId: string) {try catch
@@ -0,0 +26,4 @@const rowCount = addUser(userName, userPassword);return new Response(null, { status: rowCount == 1 ? 200 : 400 });status code für created ist 201