Эх сурвалжийг харах

Added User model and updated CreateUser endpoint.

wpfat23-5 2 жил өмнө
parent
commit
63f1f3126a

+ 12 - 13
src/main/java/com/deliveryproject/easydelivery/KeycloakController.java

@@ -1,7 +1,11 @@
 package com.deliveryproject.easydelivery;
 package com.deliveryproject.easydelivery;
 
 
 import com.deliveryproject.easydelivery.Configuration.Constants;
 import com.deliveryproject.easydelivery.Configuration.Constants;
+import com.deliveryproject.easydelivery.Models.KeycloakUser.User;
 import com.deliveryproject.easydelivery.RequestBody.Token;
 import com.deliveryproject.easydelivery.RequestBody.Token;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectWriter;
+import jdk.net.SocketFlow;
 import org.springframework.http.*;
 import org.springframework.http.*;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.util.MultiValueMap;
@@ -63,7 +67,7 @@ public class KeycloakController {
 
 
     @RequestMapping(value = "/keycloak/createUser")
     @RequestMapping(value = "/keycloak/createUser")
     @ResponseBody
     @ResponseBody
-    public void createUser(@RequestParam String username, @RequestParam String password) {
+    public ResponseEntity<String> createUser(@RequestBody User user) {
         try {
         try {
             URL url = new URL(KEYCLOAK_ADDRESS + "/auth/admin/realms/SpringBootKeycloak/users");
             URL url = new URL(KEYCLOAK_ADDRESS + "/auth/admin/realms/SpringBootKeycloak/users");
             HttpURLConnection conn = (HttpURLConnection) url.openConnection();
             HttpURLConnection conn = (HttpURLConnection) url.openConnection();
@@ -73,19 +77,12 @@ public class KeycloakController {
 
 
             conn.setDoOutput(true);
             conn.setDoOutput(true);
 
 
-            String json = "{\n" +
-                    "    \"username\": \"" + username + "\",\n" +
-                    "    \"enabled\": true,\n" +
-                    "    \"credentials\": [\n" +
-                    "        {\n" +
-                    "            \"type\": \"password\",\n" +
-                    "            \"value\": \"" + password + "\",\n" +
-                    "            \"temporary\": false\n" +
-                    "        }\n" +
-                    "    ]\n" +
-                    "}";
+            ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
+            String json = ow.writeValueAsString(user);
+
             try (OutputStream os = conn.getOutputStream()) {
             try (OutputStream os = conn.getOutputStream()) {
                 byte[] input = json.getBytes("utf-8");
                 byte[] input = json.getBytes("utf-8");
+                System.out.println(json);
                 os.write(input, 0, input.length);
                 os.write(input, 0, input.length);
             }
             }
 
 
@@ -96,10 +93,12 @@ public class KeycloakController {
                 response.append(responseLine.trim());
                 response.append(responseLine.trim());
             }
             }
             System.out.println(response.toString());
             System.out.println(response.toString());
-
+            //TODO We need to implement adding a new user to a group
             conn.disconnect();
             conn.disconnect();
+            return new ResponseEntity<>(HttpStatus.OK);
         } catch (Exception e) {
         } catch (Exception e) {
             System.err.println(e);
             System.err.println(e);
+            return new ResponseEntity<>(HttpStatus.FORBIDDEN);
         }
         }
     }
     }
 }
 }

+ 4 - 5
src/main/java/com/deliveryproject/easydelivery/MainController.java

@@ -1,10 +1,9 @@
 package com.deliveryproject.easydelivery;
 package com.deliveryproject.easydelivery;
 
 
-import com.deliveryproject.easydelivery.OSMRClass.Intersection;
-import com.deliveryproject.easydelivery.OSMRClass.Root;
-import com.deliveryproject.easydelivery.OSMRClass.Step;
+import com.deliveryproject.easydelivery.Models.OSMRClass.Intersection;
+import com.deliveryproject.easydelivery.Models.OSMRClass.Root;
+import com.deliveryproject.easydelivery.Models.OSMRClass.Step;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.io.BufferedReader;
 import java.io.BufferedReader;
@@ -17,7 +16,7 @@ import java.util.ArrayList;
 @CrossOrigin
 @CrossOrigin
 @RestController
 @RestController
 public class MainController {
 public class MainController {
-    @PreAuthorize("hasRole('User')")
+    //@PreAuthorize("hasRole('User')")
     @GetMapping("/route/nodes")
     @GetMapping("/route/nodes")
     @ResponseBody
     @ResponseBody
     public ArrayList<ArrayList<Double>> getNodesBetweenTwoCoordinates(@RequestParam double lon1, @RequestParam double lat1, @RequestParam double lon2, @RequestParam double lat2) throws IOException {
     public ArrayList<ArrayList<Double>> getNodesBetweenTwoCoordinates(@RequestParam double lon1, @RequestParam double lat1, @RequestParam double lon2, @RequestParam double lat2) throws IOException {

+ 10 - 0
src/main/java/com/deliveryproject/easydelivery/Models/KeycloakUser/Credential.java

@@ -0,0 +1,10 @@
+package com.deliveryproject.easydelivery.Models.KeycloakUser;
+
+import java.util.ArrayList;
+
+public class Credential{
+    public String type;
+    public String value;
+    public boolean temporary;
+}
+

+ 9 - 0
src/main/java/com/deliveryproject/easydelivery/Models/KeycloakUser/User.java

@@ -0,0 +1,9 @@
+package com.deliveryproject.easydelivery.Models.KeycloakUser;
+
+import java.util.ArrayList;
+
+public class User {
+    public String username;
+    public boolean enabled;
+    public ArrayList<Credential> credentials;
+}

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Geometry.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Geometry.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Intersection.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Intersection.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Lane.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Lane.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Leg.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Leg.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Maneuver.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Maneuver.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Root.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Root.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Route.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Route.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Step.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Step.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 
 

+ 1 - 1
src/main/java/com/deliveryproject/easydelivery/OSMRClass/Waypoint.java → src/main/java/com/deliveryproject/easydelivery/Models/OSMRClass/Waypoint.java

@@ -1,4 +1,4 @@
-package com.deliveryproject.easydelivery.OSMRClass;
+package com.deliveryproject.easydelivery.Models.OSMRClass;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;