From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation
---
apifdxweb/api/apifdxweb-core-impl/src/main/java/com/megatim/apifdxweb/core/impl/administration/TokenGenerationManagerImpl.java | 65 ++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/apifdxweb/api/apifdxweb-core-impl/src/main/java/com/megatim/apifdxweb/core/impl/administration/TokenGenerationManagerImpl.java b/apifdxweb/api/apifdxweb-core-impl/src/main/java/com/megatim/apifdxweb/core/impl/administration/TokenGenerationManagerImpl.java
new file mode 100644
index 0000000..f392df8
--- /dev/null
+++ b/apifdxweb/api/apifdxweb-core-impl/src/main/java/com/megatim/apifdxweb/core/impl/administration/TokenGenerationManagerImpl.java
@@ -0,0 +1,65 @@
+package com.megatim.apifdxweb.core.impl.administration;
+
+import com.bekosoftware.genericdaolayer.dao.ifaces.GenericDAO;
+import com.bekosoftware.genericmanagerlayer.core.impl.AbstractGenericManager;
+import com.google.common.hash.Hashing;
+import com.megatim.apifdxweb.core.ifaces.administration.TokenGenerationManager;
+import com.megatim.apifdxweb.dao.ifaces.administration.TokenGenerationDAO;
+import com.megatim.apifdxweb.model.administration.TokenGeneration;
+import com.megatim.apifdxweb.model.administration.User;
+import com.megatim.apifdxweb.model.administration.enums.StatutTokenGeneration;
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import javax.enterprise.context.Dependent;
+import javax.inject.Inject;
+import javax.transaction.Transactional;
+
+@Dependent
+public class TokenGenerationManagerImpl extends AbstractGenericManager<TokenGeneration, Long> implements TokenGenerationManager {
+
+ @Inject
+ protected TokenGenerationDAO dao;
+
+ public TokenGenerationManagerImpl() {
+ }
+
+ @Override
+ public GenericDAO<TokenGeneration, Long> getDao() {
+ return dao;
+ }
+
+ @Override
+ public String getEntityIdName() {
+ return "id";
+ }
+
+ @Override
+ @Transactional
+ public void createTokenGeneration(User user, String token, int validite) {
+ TokenGeneration currentTokenGeneration = dao.getCurrentGeneration(user.getUserName());
+ if (currentTokenGeneration != null) {
+ currentTokenGeneration.setStatutTokenGeneration(StatutTokenGeneration.ARCHIVE);
+ dao.update(currentTokenGeneration.getId(), currentTokenGeneration);
+ }
+
+ TokenGeneration tokenGeneration = new TokenGeneration();
+ tokenGeneration.setDateGeneration(LocalDateTime.now());
+ tokenGeneration.setUser(user);
+ tokenGeneration.setToken(getHash(token));
+ tokenGeneration.setValidite(validite);
+ tokenGeneration.setStatutTokenGeneration(StatutTokenGeneration.EN_COURS);
+
+ dao.save(tokenGeneration);
+ }
+
+ @Override
+ public boolean isTokenCorrect(String codeParticipant, String token) {
+ TokenGeneration currentTokenGeneration = dao.getCurrentGeneration(codeParticipant);
+ return currentTokenGeneration != null && currentTokenGeneration.getToken().equals(getHash(token));
+ }
+
+ private String getHash(String value) {
+ return Hashing.sha256().hashString(value, StandardCharsets.UTF_8).toString();
+ }
+
+}
--
Gitblit v1.10.0