From 286fa78eb0192df848eb3629eb591c84d38c2fca Mon Sep 17 00:00:00 2001 From: tuanvu Date: Thu, 8 Jan 2026 15:31:07 +0100 Subject: [PATCH] clean edt athlete --- .../FrisbYEE/rest/UserSyncResource.java | 7 -- front_end/src/App.tsx | 9 --- front_end/src/components/edt_athlete.tsx | 65 ------------------- 3 files changed, 81 deletions(-) delete mode 100644 front_end/src/components/edt_athlete.tsx diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/UserSyncResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/UserSyncResource.java index 1f5f302..f4adae2 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/UserSyncResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/UserSyncResource.java @@ -9,18 +9,15 @@ import org.springframework.security.core.context.SecurityContextHolder; import hackathon.FrisbYEE.jpa.metier.Athlete; import hackathon.FrisbYEE.jpa.service.AthleteDAO; import jakarta.transaction.Transactional; - import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/users") @CrossOrigin(origins = "http://localhost:3000") public class UserSyncResource { - @Autowired private AthleteDAO athleteDAO; @@ -28,13 +25,10 @@ public class UserSyncResource { @Transactional public ResponseEntity sync() { Jwt jwt = (Jwt) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - String keycloakId = jwt.getSubject(); String firstName = jwt.getClaimAsString("given_name"); String lastName = jwt.getClaimAsString("family_name"); - if (!athleteDAO.existsByKeycloakId(keycloakId)) { - System.out.println("New user detected from Keycloak. Syncing: " + firstName + " " + lastName); Athlete athlete = new Athlete(); athlete.setKeycloakId(keycloakId); athlete.setName(lastName); @@ -42,7 +36,6 @@ public class UserSyncResource { athlete.setRole(hackathon.FrisbYEE.jpa.metier.Role.athlete); athleteDAO.save(athlete); } - return ResponseEntity.ok().build(); } } \ No newline at end of file diff --git a/front_end/src/App.tsx b/front_end/src/App.tsx index 733add2..5e78330 100644 --- a/front_end/src/App.tsx +++ b/front_end/src/App.tsx @@ -11,21 +11,13 @@ import EdtCoach from './components/edt_coach' import { Coach } from "./classes"; import RessourcePanel from './components/ressourcePanel'; import TestAPI from './components/test_api'; -import EdtAthlete from './components/edt_athlete'; -// Test -const testCoach = new Coach(); -testCoach.id = 1; -testCoach.nom = "Coach Test"; const keycloakInitOptions = { onLoad: 'login-required', checkLoginIframe: false } - function App() { - - return ( @@ -36,7 +28,6 @@ function App() { - diff --git a/front_end/src/components/edt_athlete.tsx b/front_end/src/components/edt_athlete.tsx deleted file mode 100644 index c246705..0000000 --- a/front_end/src/components/edt_athlete.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React, { useState } from 'react'; - -export const EdtAthlete = () => { - const [formData, setFormData] = useState({ - name: '', - prenom: '', - id_keycloak: '', - categorie: '', - niveau: '' - }); - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - try { - const response = await fetch("http://localhost:8081/api/athlete/create", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(formData), - }); - - if (response.ok) { - alert("Athlete created successfully in PostgreSQL!"); - setFormData({ name: '', prenom: '', id_keycloak: '', categorie: '', niveau: '' }); - } else { - alert("Failed to create athlete. Status: " + response.status); - } - } catch (error) { - console.error("Error creating athlete:", error); - alert("Error: Check console"); - } - }; - - return ( -
-

Test Create Athlete (PostgreSQL)

-
-
- - setFormData({...formData, name: e.target.value})} /> -
-
- - setFormData({...formData, prenom: e.target.value})} /> -
-
- - setFormData({...formData, id_keycloak: e.target.value})} /> -
-
- - setFormData({...formData, categorie: e.target.value})} /> -
-
- - setFormData({...formData, niveau: e.target.value})} /> -
- -
-
- ); -}; - -export default EdtAthlete;