From 0ff09533e8e41c3cb903e1d197c434f7bf6398ca Mon Sep 17 00:00:00 2001 From: brausjonas Date: Tue, 9 May 2023 18:39:10 +0200 Subject: [PATCH] User Delete By Admin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - User können von admins gelöscht werden, - email adresse kann nicht doppelt registriert werden --- backend/database.mv.db | Bin 40960 -> 40960 bytes backend/database.trace.db | 54 ++++++++++++++++++ .../backend/anwprj/DataBaseHandler.java | 16 +++++- .../anwprj/controller/UserController.java | 21 +++++++ 4 files changed, 90 insertions(+), 1 deletion(-) diff --git a/backend/database.mv.db b/backend/database.mv.db index 64d78deb91f509350e09809aca46578d39a735bb..e02110209b915bed38bff7be707d2331bbd3b594 100644 GIT binary patch literal 40960 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 diff --git a/backend/database.trace.db b/backend/database.trace.db index 3dbe7eb..8a6becf 100644 --- a/backend/database.trace.db +++ b/backend/database.trace.db @@ -1404,3 +1404,57 @@ No data is available [2000-214] org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax Fehler in SQL Befehl "select * from [*]user where mail='test@gmail.com'"; erwartet "identifier" Syntax error in SQL statement "select * from [*]user where mail='test@gmail.com'"; expected "identifier"; SQL statement: select * from user where mail='test@gmail.com' [42001-214] +2023-05-09 16:26:46 jdbc[3]: exception +java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. + at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) + at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:469) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) + at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) + at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) + at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) + at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:833) +2023-05-09 18:34:46 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientException: Keine Daten verfügbar +No data is available [2000-214] +2023-05-09 18:36:23 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientException: Keine Daten verfügbar +No data is available [2000-214] +2023-05-09 18:37:03 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientException: Keine Daten verfügbar +No data is available [2000-214] +2023-05-09 16:37:51 jdbc[3]: exception +java.sql.SQLClientInfoException: Client info name 'ApplicationName' not supported. + at org.h2.jdbc.JdbcConnection.setClientInfo(JdbcConnection.java:1573) + at com.intellij.database.remote.jdbc.impl.RemoteConnectionImpl.setClientInfo(RemoteConnectionImpl.java:469) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) + at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) + at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) + at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) + at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) + at java.base/java.lang.Thread.run(Thread.java:833) +2023-05-09 18:38:17 jdbc[3]: exception +org.h2.jdbc.JdbcSQLNonTransientException: Keine Daten verfügbar +No data is available [2000-214] diff --git a/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java b/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java index c4c94ad..105f96d 100644 --- a/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java +++ b/backend/src/main/java/com/example/backend/anwprj/DataBaseHandler.java @@ -339,7 +339,7 @@ public class DataBaseHandler { ResultSet rs = st.executeQuery("select * from users where mail='" + mail + "'"); User u = resultSetToUser(rs); - u.clearOutPassword(); + if(u != null) u.clearOutPassword(); return u; } catch (SQLException e) @@ -407,4 +407,18 @@ public class DataBaseHandler return null; } } + + public boolean deleteUser(String mail) + { + try + { + st.executeUpdate("delete from users where mail='" + mail + "'"); + return true; + } + catch(Exception e) + { + e.printStackTrace(); + return false; + } + } } diff --git a/backend/src/main/java/com/example/backend/anwprj/controller/UserController.java b/backend/src/main/java/com/example/backend/anwprj/controller/UserController.java index 00c253b..27485c3 100644 --- a/backend/src/main/java/com/example/backend/anwprj/controller/UserController.java +++ b/backend/src/main/java/com/example/backend/anwprj/controller/UserController.java @@ -24,6 +24,13 @@ public class UserController @PostMapping("/users") public ResponseEntity addUser(@RequestBody User user) { + User checkUser = db.getUser(user.getMail()); + + if(checkUser != null) + { + return new ResponseEntity<>("mail", HttpStatus.FORBIDDEN); + } + //if user was successfully added to database User u = db.addUser(user); @@ -103,4 +110,18 @@ public class UserController return new ResponseEntity<>(HttpStatus.FORBIDDEN); } + + @CrossOrigin + @DeleteMapping("/users") + public ResponseEntity deleteUser(@RequestParam(name="sessionid") String sessionID, @RequestParam(name="mail") String mail) + { + User sessionUser = UserSessionIDHandler.getUserBySessionID(sessionID); + + if(sessionUser != null && sessionUser.getPermissions() == UserPermissions.admin.getValue()) + { + return new ResponseEntity<>(db.deleteUser(mail), HttpStatus.OK); + } + + return new ResponseEntity<>(HttpStatus.FORBIDDEN); + } }