Parcourir la source

RIFFMASTER: FRONTEND: add authGuards for login, register and main component

Kuba il y a 3 ans
Parent
commit
1211abcef0
51 fichiers modifiés avec 95 ajouts et 16 suppressions
  1. 6 8
      Backend/Spring/.idea/workspace.xml
  2. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/0.pack
  3. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/10.pack
  4. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/11.pack
  5. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/12.pack
  6. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/13.pack
  7. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/14.pack
  8. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/15.pack
  9. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/16.pack
  10. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/17.pack
  11. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/18.pack
  12. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/2.pack
  13. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/4.pack
  14. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/5.pack
  15. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/7.pack
  16. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/8.pack
  17. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/9.pack
  18. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack
  19. BIN
      Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack.old
  20. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/0246c355e6352ba45e3a855e63385f40fa9fb86e816b239f1d8be75e8ee2ca61.json
  21. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/0bb0d1033771a725897f50fc8d3671297dcff8ce48fd3e8f48843fbc38ec329b.json
  22. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/108512eaa4422e5d62fc28cd26d9156a7b38bdccf389fd19260018b4855c7546.json
  23. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/18f42b65ec6673168677e07b94d48673caa0c11bf318c5fbcf5afb08f85f8536.json
  24. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/3bd516f2e83e5a7eca0a65e40a13cf19f10ce460f58bb277232cb59cf65909d5.json
  25. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/4f4401d8d416a966b1c1cc40e4760f0300faf34d1626ffc0e5c4ae46b3e360e9.json
  26. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/52f5601355cacf6e12037dbb1bb4d612f6312513b702ab6b7b1d902fd72cced3.json
  27. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/7bc00ca0c403f6d06b9cf23292a705acd4857e1d781b8bfad2b82f0b5a4047c7.json
  28. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/898fed8d814d0589ad56ab790d560b9376575d84a2b79fe3fd0dcb95888bd5ef.json
  29. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/8c26744def4f3e9c4243d307ebce7a597770c575621cc1126a4a96a7693dd393.json
  30. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/9aacdcb2620b6bda989bbfb262ea8f1b9a0a7bc9fcae2a1fa341a5425d59d0f5.json
  31. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/9f65225caf252c72fe7d5f86ea5eca5fa61c49d85a28aafd33026bc0e0ab2d70.json
  32. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/a2fbb07d668420e266673969580194bbe02d3696720d2c5cbca35c44da0dd95c.json
  33. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/a40f93e4cb622445775ff5828d595bf4ec1ec1fdd592c52cd8f8eeb09d2fb7d4.json
  34. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/b2a35eba3c5d8676ebbdd3a6b198b14e76d2df1e79bb96fa6c74492b8f37e86d.json
  35. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/c5484ea959803e114818003f6aa23db4a4db72b7283c4d47d4e43c15ccf20460.json
  36. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/c82ace4bdfd589490c8d686a10f5cf691ba73f9575f25177d263627ac364b247.json
  37. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/c90273bb14c19fae0e3a4722470ddcd2cd1ead393388c1039525ddfbd5d7ac2f.json
  38. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/cb59249745c84fba8b2d8cc78111541853007a3c32677af92cd54fe59629217d.json
  39. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/d5cb7bffe5feb147510a35392026943958fe90b98bd1971badf10039253347cd.json
  40. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/d793ced2a02392b9e2ef18c2108348dc6aa820a5a505f82ceacd3199d90ef0ed.json
  41. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/da4b86184302d507823f551787d4693806c67a45249440fe449b04e6dd191337.json
  42. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/da64ded8aac13d682357ba02f4cd6baf0fd4f44da3478cae2855ba2161b82a33.json
  43. 0 0
      Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/ec8e59365aa040b41998bdbc06b997b01e2427737aa94cf67008c412ebbf4820.json
  44. 8 1
      Frontend/RiffMasterFront/.idea/workspace.xml
  45. 35 0
      Frontend/RiffMasterFront/src/app/Services/auth-guard.service.ts
  46. 8 1
      Frontend/RiffMasterFront/src/app/Services/auth.service.ts
  47. 6 3
      Frontend/RiffMasterFront/src/app/app-routing.module.ts
  48. 1 1
      Frontend/RiffMasterFront/src/app/app.component.html
  49. 15 0
      Frontend/RiffMasterFront/src/app/app.component.ts
  50. 9 2
      Frontend/RiffMasterFront/src/app/app.module.ts
  51. 7 0
      Frontend/RiffMasterFront/src/app/main-page/main-page.component.ts

+ 6 - 8
Backend/Spring/.idea/workspace.xml

@@ -11,14 +11,12 @@
   <component name="ChangeListManager">
     <list default="true" id="8315de53-8c15-472c-a710-45938463dc02" name="Changes" comment="RIFFMASTER: add frontend files">
       <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/node_modules/.package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/node_modules/.package-lock.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/package-lock.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/package.json" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/Services/auth.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/Services/auth.service.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/login-page/login-page.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/login-page/login-page.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/login-page/login-page.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/login-page/login-page.component.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/register-page/register-page.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/register-page/register-page.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/register-page/register-page.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/register-page/register-page.component.ts" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app-routing.module.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app-routing.module.ts" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app.component.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app.component.ts" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app.module.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/app.module.ts" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/main-page/main-page.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../../Frontend/RiffMasterFront/src/app/main-page/main-page.component.ts" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -226,7 +224,7 @@
       <workItem from="1686986592460" duration="4445000" />
       <workItem from="1687000973157" duration="670000" />
       <workItem from="1687006511411" duration="604000" />
-      <workItem from="1687011079341" duration="17053000" />
+      <workItem from="1687011079341" duration="18645000" />
     </task>
     <task id="LOCAL-00001" summary="add basic hello world and transfering data to server">
       <created>1679575346987</created>

BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/0.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/10.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/11.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/12.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/13.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/14.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/15.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/16.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/17.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/18.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/2.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/4.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/5.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/7.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/8.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/9.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack


BIN
Frontend/RiffMasterFront/.angular/cache/16.0.4/angular-webpack/9163ed2c587ff4665fb17ea4ebc8750a69df1e73/index.pack.old


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/0246c355e6352ba45e3a855e63385f40fa9fb86e816b239f1d8be75e8ee2ca61.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/0bb0d1033771a725897f50fc8d3671297dcff8ce48fd3e8f48843fbc38ec329b.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/108512eaa4422e5d62fc28cd26d9156a7b38bdccf389fd19260018b4855c7546.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/18f42b65ec6673168677e07b94d48673caa0c11bf318c5fbcf5afb08f85f8536.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/3bd516f2e83e5a7eca0a65e40a13cf19f10ce460f58bb277232cb59cf65909d5.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/4f4401d8d416a966b1c1cc40e4760f0300faf34d1626ffc0e5c4ae46b3e360e9.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/52f5601355cacf6e12037dbb1bb4d612f6312513b702ab6b7b1d902fd72cced3.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/7bc00ca0c403f6d06b9cf23292a705acd4857e1d781b8bfad2b82f0b5a4047c7.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/898fed8d814d0589ad56ab790d560b9376575d84a2b79fe3fd0dcb95888bd5ef.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/8c26744def4f3e9c4243d307ebce7a597770c575621cc1126a4a96a7693dd393.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/9aacdcb2620b6bda989bbfb262ea8f1b9a0a7bc9fcae2a1fa341a5425d59d0f5.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/9f65225caf252c72fe7d5f86ea5eca5fa61c49d85a28aafd33026bc0e0ab2d70.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/a2fbb07d668420e266673969580194bbe02d3696720d2c5cbca35c44da0dd95c.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/a40f93e4cb622445775ff5828d595bf4ec1ec1fdd592c52cd8f8eeb09d2fb7d4.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/b2a35eba3c5d8676ebbdd3a6b198b14e76d2df1e79bb96fa6c74492b8f37e86d.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/c5484ea959803e114818003f6aa23db4a4db72b7283c4d47d4e43c15ccf20460.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/c82ace4bdfd589490c8d686a10f5cf691ba73f9575f25177d263627ac364b247.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/c90273bb14c19fae0e3a4722470ddcd2cd1ead393388c1039525ddfbd5d7ac2f.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/cb59249745c84fba8b2d8cc78111541853007a3c32677af92cd54fe59629217d.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/d5cb7bffe5feb147510a35392026943958fe90b98bd1971badf10039253347cd.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/d793ced2a02392b9e2ef18c2108348dc6aa820a5a505f82ceacd3199d90ef0ed.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/da4b86184302d507823f551787d4693806c67a45249440fe449b04e6dd191337.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/da64ded8aac13d682357ba02f4cd6baf0fd4f44da3478cae2855ba2161b82a33.json


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
Frontend/RiffMasterFront/.angular/cache/16.0.4/babel-webpack/ec8e59365aa040b41998bdbc06b997b01e2427737aa94cf67008c412ebbf4820.json


+ 8 - 1
Frontend/RiffMasterFront/.idea/workspace.xml

@@ -12,6 +12,13 @@
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="TypeScript File" />
+      </list>
+    </option>
+  </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../.." />
     <option name="RESET_MODE" value="HARD" />
@@ -101,7 +108,7 @@
       <workItem from="1686937499471" duration="1137000" />
       <workItem from="1686989529474" duration="3659000" />
       <workItem from="1687006518226" duration="3557000" />
-      <workItem from="1687011087000" duration="4350000" />
+      <workItem from="1687011087000" duration="7706000" />
     </task>
     <task id="LOCAL-00001" summary="RIFFMASTER: add frontend project">
       <created>1685976235580</created>

+ 35 - 0
Frontend/RiffMasterFront/src/app/Services/auth-guard.service.ts

@@ -0,0 +1,35 @@
+import { Injectable } from "@angular/core";
+import {CanActivate, Router } from "@angular/router";
+import { AuthService } from "./auth.service";
+
+@Injectable({ providedIn: 'root' })
+export class MainAuthGuard implements CanActivate {
+  constructor(private authService: AuthService, private router: Router) {}
+
+  canActivate(): boolean {
+    if (this.authService.isLoggedIn()) {
+      // User is logged in, allow access to the main page
+      return true;
+    } else {
+      // User is not logged in, redirect to the login page
+      this.router.navigate(['/login']);
+      return false;
+    }
+  }
+}
+
+@Injectable({ providedIn: 'root' })
+export class LoginAuthGuard implements CanActivate {
+  constructor(private authService: AuthService, private router: Router) {}
+
+  canActivate(): boolean {
+    if (this.authService.isLoggedIn()) {
+      // User is already logged in, redirect to the main page
+      this.router.navigate(['/main']);
+      return false;
+    } else {
+      // User is not logged in, allow access to the login page
+      return true;
+    }
+  }
+}

+ 8 - 1
Frontend/RiffMasterFront/src/app/Services/auth.service.ts

@@ -18,7 +18,7 @@ export class AuthService {
 
   login(login: string, password: string) {
     console.log("login" + login + " password: " + password)
-    
+
     let loginDto = {
       "login": login,
       "password": password
@@ -69,4 +69,11 @@ export class AuthService {
         console.error('Error making POST request:', error);
       });
   }
+
+
+
+  isLoggedIn(): boolean {
+    return sessionStorage.getItem('jwtToken') !== null;
+  }
+
 }

+ 6 - 3
Frontend/RiffMasterFront/src/app/app-routing.module.ts

@@ -3,16 +3,19 @@ import { RouterModule, Routes } from '@angular/router';
 import {LoginPageComponent} from "./login-page/login-page.component";
 import {MainPageComponent} from "./main-page/main-page.component";
 import {RegisterPageComponent} from "./register-page/register-page.component";
+import { MainAuthGuard, LoginAuthGuard } from 'src/app/Services/auth-guard.service';
+
 
 const routes: Routes = [
-  { path: 'login', component: LoginPageComponent },
-  { path: 'register', component: RegisterPageComponent },
-  { path: 'main', component: MainPageComponent },
+  { path: 'login', component: LoginPageComponent, canActivate: [LoginAuthGuard] },
+  { path: 'register', component: RegisterPageComponent, canActivate: [LoginAuthGuard] },
+  { path: 'main', component: MainPageComponent, canActivate: [MainAuthGuard] },
   { path: '', redirectTo: '/login', pathMatch: 'full' },
   { path: '**', redirectTo: '/login', pathMatch: 'full' }
 ];
 
 
+
 @NgModule({
   imports: [RouterModule.forRoot(routes)],
   exports: [RouterModule]

+ 1 - 1
Frontend/RiffMasterFront/src/app/app.component.html

@@ -9,7 +9,7 @@
     <a mat-button [routerLink]="'/main'" class="riffmaster-home-button">RiffMaster</a>
     <a mat-button [routerLink]="'/login'">Login</a>
     <a mat-button [routerLink]="'/register'">Sign up</a>
-    <a mat-button >Logout</a>
+    <a mat-button (click)="logout()">Logout</a>
   </div>
 
 </mat-toolbar>

+ 15 - 0
Frontend/RiffMasterFront/src/app/app.component.ts

@@ -1,4 +1,5 @@
 import { Component } from '@angular/core';
+import { Router } from '@angular/router';
 
 @Component({
   selector: 'app-root',
@@ -7,4 +8,18 @@ import { Component } from '@angular/core';
 })
 export class AppComponent {
   title = 'RiffMasterFront';
+
+  constructor(private router: Router) {}
+
+  logout(): void {
+    // Clear session data
+    sessionStorage.removeItem('jwtToken');
+    sessionStorage.removeItem('login');
+    sessionStorage.removeItem('login_id');
+    sessionStorage.removeItem('role');
+
+    // Redirect to the login page
+    this.router.navigate(['/login']);
+  }
+
 }

+ 9 - 2
Frontend/RiffMasterFront/src/app/app.module.ts

@@ -26,6 +26,8 @@ import { MatRadioChange } from '@angular/material/radio';
 
 import { MatTableModule } from '@angular/material/table';
 
+import { MainAuthGuard, LoginAuthGuard } from 'src/app/Services/auth-guard.service';
+
 
 
 
@@ -53,10 +55,15 @@ import { MatTableModule } from '@angular/material/table';
 
     MatRadioModule,
     MatTableModule,
-  
+
     DatePipe,
   ],
-  providers: [DatePipe ],
+  providers: [
+    DatePipe,
+    MainAuthGuard,
+    LoginAuthGuard
+
+  ],
   bootstrap: [AppComponent]
 })
 export class AppModule { }

+ 7 - 0
Frontend/RiffMasterFront/src/app/main-page/main-page.component.ts

@@ -30,6 +30,13 @@ export class MainPageComponent implements OnInit {
     this.getAllSongs();
   }
 
+
+  isModeratorOrAdmin(): boolean {
+    const role = sessionStorage.getItem('role');
+    return role === 'MODERATOR' || role === 'ADMIN';
+  }
+
+
   getAllSongs(): void {
     this.songService.getAllSongs().subscribe(
       (response: Song[]) => {

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff