diff --git a/backend/administration/pom.xml b/backend/database-manager/pom.xml
similarity index 96%
rename from backend/administration/pom.xml
rename to backend/database-manager/pom.xml
index 9717a48..4ba7abd 100644
--- a/backend/administration/pom.xml
+++ b/backend/database-manager/pom.xml
@@ -5,7 +5,7 @@
1.0-SNAPSHOT
4.0.0
- administration
+ database-manager
jar
diff --git a/backend/administration/src/main/java/insa/application/helpapp/rest/AdministrationService.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/AdministrationService.java
similarity index 52%
rename from backend/administration/src/main/java/insa/application/helpapp/rest/AdministrationService.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/AdministrationService.java
index 6c3ea52..1853c33 100644
--- a/backend/administration/src/main/java/insa/application/helpapp/rest/AdministrationService.java
+++ b/backend/database-manager/src/main/java/insa/application/helpapp/rest/AdministrationService.java
@@ -4,12 +4,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Optional;
@Service
public class AdministrationService {
@Autowired
private ConnectionRepository connectionRepository;
+ @Autowired
+ private RoleRepository roleRepository;
public boolean checkToken(int idUser, String token) {
List connections = connectionRepository.findByIdUser(idUser);
@@ -20,4 +23,23 @@ public class AdministrationService {
Connection c = connections.getFirst();
return c.getToken().equals(token) && c.getExpiresAt().isAfter(java.time.LocalDateTime.now());
}
+
+ public boolean checkRole(int idUser, int role)
+ {
+ List connections = connectionRepository.findByIdUser(idUser);
+
+ if (connections.isEmpty()) {
+ return false;
+ }
+ // Connection c = connections.getFirst();
+ Optional roleOption = roleRepository.findById(role);
+ if(!roleOption.isPresent()) {
+ return false;
+ }
+ return true;
+ }
+
+ public List getRoles() {
+ return roleRepository.findAll();
+ }
}
diff --git a/backend/administration/src/main/java/insa/application/helpapp/rest/Connection.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/Connection.java
similarity index 100%
rename from backend/administration/src/main/java/insa/application/helpapp/rest/Connection.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/Connection.java
diff --git a/backend/administration/src/main/java/insa/application/helpapp/rest/ConnectionRepository.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/ConnectionRepository.java
similarity index 100%
rename from backend/administration/src/main/java/insa/application/helpapp/rest/ConnectionRepository.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/ConnectionRepository.java
diff --git a/backend/request-service/src/main/java/insa/application/helpapp/rest/Requests.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/Request.java
similarity index 87%
rename from backend/request-service/src/main/java/insa/application/helpapp/rest/Requests.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/Request.java
index 8eb04eb..688d38e 100644
--- a/backend/request-service/src/main/java/insa/application/helpapp/rest/Requests.java
+++ b/backend/database-manager/src/main/java/insa/application/helpapp/rest/Request.java
@@ -7,11 +7,11 @@ import jakarta.persistence.Column;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
@Entity
@Table(name = "requests", schema = "service-architecture")
-public class Requests {
+public class Request {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -24,7 +24,7 @@ public class Requests {
private int idUser;
@Column(name = "created_at", nullable = false, columnDefinition = "DATE DEFAULT CURRENT_DATE")
- private LocalDate createdAt;
+ private LocalDateTime createdAt;
@Column(name = "message", nullable = false)
private String message;
@@ -54,11 +54,11 @@ public class Requests {
this.idUser = idUser;
}
- public LocalDate getCreatedAt() {
+ public LocalDateTime getCreatedAt() {
return createdAt;
}
- public void setCreatedAt(LocalDate createdAt) {
+ public void setCreatedAt(LocalDateTime createdAt) {
this.createdAt = createdAt;
}
diff --git a/backend/request-service/src/main/java/insa/application/helpapp/rest/RequestRepository.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/RequestRepository.java
similarity index 92%
rename from backend/request-service/src/main/java/insa/application/helpapp/rest/RequestRepository.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/RequestRepository.java
index f0c5c80..61b9d8d 100644
--- a/backend/request-service/src/main/java/insa/application/helpapp/rest/RequestRepository.java
+++ b/backend/database-manager/src/main/java/insa/application/helpapp/rest/RequestRepository.java
@@ -2,6 +2,6 @@ package insa.application.helpapp.rest;
import org.springframework.data.jpa.repository.JpaRepository;
-public interface RequestRepository extends JpaRepository {
+public interface RequestRepository extends JpaRepository {
}
\ No newline at end of file
diff --git a/backend/role-service/src/main/java/insa/application/helpapp/rest/Role.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/Role.java
similarity index 100%
rename from backend/role-service/src/main/java/insa/application/helpapp/rest/Role.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/Role.java
diff --git a/backend/role-service/src/main/java/insa/application/helpapp/rest/RoleRepository.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/RoleRepository.java
similarity index 100%
rename from backend/role-service/src/main/java/insa/application/helpapp/rest/RoleRepository.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/RoleRepository.java
diff --git a/backend/user-service/src/main/java/insa/application/helpapp/rest/User.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/User.java
similarity index 100%
rename from backend/user-service/src/main/java/insa/application/helpapp/rest/User.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/User.java
diff --git a/backend/user-service/src/main/java/insa/application/helpapp/rest/UserRepository.java b/backend/database-manager/src/main/java/insa/application/helpapp/rest/UserRepository.java
similarity index 100%
rename from backend/user-service/src/main/java/insa/application/helpapp/rest/UserRepository.java
rename to backend/database-manager/src/main/java/insa/application/helpapp/rest/UserRepository.java
diff --git a/backend/pom.xml b/backend/pom.xml
index e6ee6db..2bc1f84 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -7,8 +7,8 @@
pom
-
- administration
+
+ database-manager
request-service
role-service
user-service
diff --git a/backend/request-service/pom.xml b/backend/request-service/pom.xml
index f54d3e0..82462f1 100644
--- a/backend/request-service/pom.xml
+++ b/backend/request-service/pom.xml
@@ -26,7 +26,7 @@
insa.application.helpapp
- administration
+ database-manager
1.0-SNAPSHOT
diff --git a/backend/request-service/src/main/java/insa/application/helpapp/rest/RequestServiceApplication.java b/backend/request-service/src/main/java/insa/application/helpapp/rest/RequestServiceApplication.java
index 7968774..99b4cda 100644
--- a/backend/request-service/src/main/java/insa/application/helpapp/rest/RequestServiceApplication.java
+++ b/backend/request-service/src/main/java/insa/application/helpapp/rest/RequestServiceApplication.java
@@ -10,11 +10,15 @@ import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.beans.factory.annotation.Autowired;
+import java.time.LocalDateTime;
+
@SpringBootApplication
@RestController
public class RequestServiceApplication {
@Autowired
private AdministrationService administrationService;
+ @Autowired
+ private RequestRepository requestRepository;
public static void main(String[] args) {
SpringApplication.run(RequestServiceApplication.class, args);
}
@@ -32,13 +36,18 @@ public class RequestServiceApplication {
};
}
- @PostMapping("/post_message")
+ @PostMapping("/post_request")
public ResponseEntity> postMessage(@RequestParam int idUser,@RequestParam String token, @RequestParam String message) {
if(!administrationService.checkToken(idUser, token)) {
return ResponseEntity.status(HttpStatus.FORBIDDEN).body("User or token invalid.");
};
-
- return ResponseEntity.ok("Message posted");
+ Request request = new Request();
+ // id_status = 1 means waiting. it is always set to 1 when created.
+ request.setIdStatus(1);
+ request.setIdUser(idUser);
+ request.setCreatedAt(LocalDateTime.now());
+ request.setMessage(message);
+ return ResponseEntity.ok(requestRepository.save(request));
}
}
diff --git a/backend/role-service/pom.xml b/backend/role-service/pom.xml
index df42e87..c278c5a 100644
--- a/backend/role-service/pom.xml
+++ b/backend/role-service/pom.xml
@@ -23,6 +23,12 @@
8.0.33
runtime
+
+
+ insa.application.helpapp
+ database-manager
+ 1.0-SNAPSHOT
+
diff --git a/backend/role-service/src/main/java/insa/application/helpapp/rest/RoleServiceApplication.java b/backend/role-service/src/main/java/insa/application/helpapp/rest/RoleServiceApplication.java
index 9669849..09d1286 100644
--- a/backend/role-service/src/main/java/insa/application/helpapp/rest/RoleServiceApplication.java
+++ b/backend/role-service/src/main/java/insa/application/helpapp/rest/RoleServiceApplication.java
@@ -15,7 +15,7 @@ import java.util.List;
public class RoleServiceApplication {
@Autowired
- private RoleRepository roleRepository;
+ private AdministrationService administrationService;
public static void main(String[] args) {
SpringApplication.run(RoleServiceApplication.class, args);
@@ -36,6 +36,6 @@ public class RoleServiceApplication {
@GetMapping("/get_roles")
public List getRoles() {
- return roleRepository.findAll();
+ return administrationService.getRoles();
}
}
diff --git a/backend/user-service/pom.xml b/backend/user-service/pom.xml
index b3ce56b..528eff7 100644
--- a/backend/user-service/pom.xml
+++ b/backend/user-service/pom.xml
@@ -26,7 +26,7 @@
insa.application.helpapp
- administration
+ database-manager
1.0-SNAPSHOT
diff --git a/backend/user-service/src/main/java/insa/application/helpapp/rest/UserService.java b/backend/user-service/src/main/java/insa/application/helpapp/rest/UserService.java
deleted file mode 100644
index 18698af..0000000
--- a/backend/user-service/src/main/java/insa/application/helpapp/rest/UserService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package insa.application.helpapp.rest;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class UserService {
-
- @Autowired
- private ConnectionRepository connectionRepository;
-
- public boolean checkToken(int idUser, String token) {
- List connections = connectionRepository.findByIdUser(idUser);
-
- if (connections.isEmpty()) {
- return false;
- }
- Connection c = connections.getFirst();
- return c.getToken().equals(token) && c.getExpiresAt().isAfter(java.time.LocalDateTime.now());
- }
-}