Bläddra i källkod

REST - XML/JSON, password type password, admin panel update

mateuszsudra 2 år sedan
förälder
incheckning
0a8cb9e1ed

+ 18 - 0
boat-reservation-logic/src/main/java/pl/sudra/controller/BoatController.java

@@ -28,6 +28,24 @@ public class BoatController {
         return boatService.getBoats();
     }
 
+    @RequestMapping(
+            value = "/getAllBoats/json",
+            method = RequestMethod.GET,
+            produces = MediaType.APPLICATION_JSON_VALUE)
+    public List<Boat> listAddressesXML() {
+        System.out.println("Getting Boats");
+        return boatService.getBoats();
+    }
+
+    @RequestMapping(
+            value = "/getAllBoats/xml",
+            method = RequestMethod.GET,
+            produces = MediaType.APPLICATION_XML_VALUE)
+    public List<Boat> listAddressesJSON() {
+        System.out.println("Getting Boats");
+        return boatService.getBoats();
+    }
+
     //    test request
     @RequestMapping(value = "/hello", method = RequestMethod.GET)
     public String sayHello() {

+ 2 - 0
boat-reservation-logic/src/main/java/pl/sudra/securityController/CustomInterceptor.java

@@ -18,6 +18,8 @@ public class CustomInterceptor implements HandlerInterceptor {
             "/login",
             "/register",
             "/getAllBoats",
+            "/getAllBoats/xml",
+            "/getAllBoats/json",
             "/activateUser",
             "/pdf"
     );

+ 3 - 0
boat-reservation-view/src/app/admin-panel/admin-panel.component.html

@@ -5,6 +5,7 @@
       <th>ID</th>
       <th translate="admin.username"></th>
       <th>Email</th>
+      <th>E</th>
       <th>A</th>
       <th>M</th>
       <th translate="admin.actions"></th>
@@ -13,6 +14,8 @@
       <td>{{user.id}}</td>
       <td>{{user.username}}</td>
       <td>{{user.email}}</td>
+      <td *ngIf="user.enabled">✅</td>
+      <td *ngIf="!user.enabled">❌</td>
       <td *ngIf="user.isAdmin">✅</td>
       <td *ngIf="!user.isAdmin">❌</td>
       <td *ngIf="user.isManager">✅</td>

+ 2 - 1
boat-reservation-view/src/app/admin-panel/admin-panel.component.ts

@@ -22,7 +22,8 @@ export class AdminPanelComponent {
               user.username,
               user.email,
               user.role.includes("ADMIN"),
-              user.role.includes("MANAGER")))
+              user.role.includes("MANAGER"),
+              user.enabled))
         })
         this.users.sort((a, b) => a.id - b.id)
         console.log(this.users)

+ 3 - 1
boat-reservation-view/src/app/domain/user.ts

@@ -5,13 +5,15 @@ export class User {
   isAdmin = false
   isManager = false
   role: string = '';
+  enabled = false;
 
-  constructor(id: number, username: string, email: string, isAdmin: boolean, isManager: boolean) {
+  constructor(id: number, username: string, email: string, isAdmin: boolean, isManager: boolean, enabled: boolean) {
     this.id = id;
     this.username = username;
     this.email = email;
     this.isAdmin = isAdmin;
     this.isManager = isManager;
+    this.enabled = enabled;
   }
 
   switchAdmin(){

+ 1 - 4
boat-reservation-view/src/app/footer/footer.component.ts

@@ -14,10 +14,7 @@ export class FooterComponent {
     translate.addLangs(['en', 'pl']);
     translate.setDefaultLang('en');
     translate.use('en');
-    // if (this.lang == '') {
-    //   sessionStorage.setItem('lang', 'en')
-    //   this.lang = 'en'
-    // }
+    sessionStorage.setItem('lang', 'en')
     this.lang = sessionStorage.getItem("lang")!
     this.username = sessionStorage.getItem('username')!
     console.log(this.username)

+ 11 - 4
boat-reservation-view/src/app/home-view/home-view.component.html

@@ -1,4 +1,11 @@
-<p translate="homePage1"></p>
-<p translate="homePage2"></p>
-<p translate="homePage3"></p>
-<p translate="homePage4"></p>
+<div style="font-family: Courier New, monospace">
+  <p translate="homePage1"></p>
+  <p translate="homePage2"></p>
+  <p translate="homePage3"></p>
+  <p translate="homePage4"></p>
+  <br><br>
+  <a>Get file with our boats informations: </a>
+  <b><a href="localhost:2137/getAllBoats/xml"> [XML]</a></b>,
+  <b><a href="localhost:2137/getAllBoats/json"> [JSON]</a></b>.
+</div>
+

+ 1 - 0
boat-reservation-view/src/app/login-view/login-view.component.css

@@ -9,6 +9,7 @@ label {
 }
 
 input[type="text"],
+input[type="password"],
 input[type="number"],
 textarea {
   width: 100%;

+ 1 - 1
boat-reservation-view/src/app/login-view/login-view.component.html

@@ -13,7 +13,7 @@
 
     <div class="form-group">
       <label for="password" translate="login.password"></label>
-      <input type="text"
+      <input type="password"
              id="password"
              name="name" formControlName="password"
              minlength="5">

+ 1 - 0
boat-reservation-view/src/app/register-view/register-view.component.css

@@ -14,6 +14,7 @@ label {
 }
 
 input[type="text"],
+input[type="password"],
 input[type="number"],
 textarea {
   width: 100%;

+ 1 - 1
boat-reservation-view/src/app/register-view/register-view.component.html

@@ -25,7 +25,7 @@
 
   <div class="form-group">
     <label for="password" translate="register.password"></label>
-    <input type="text"
+    <input type="password"
            id="password"
            name="name" formControlName="password"
            minlength="5"