Merge: branch 'backend-test' into front_foundation
This commit is contained in:
@ -95,4 +95,22 @@ public class EntrepreneurApi {
|
||||
@RequestBody Project project, @AuthenticationPrincipal Jwt principal) {
|
||||
entrepreneurApiService.requestNewProject(project, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/*
|
||||
* <p>Endpoint to check if project is has already been validated by an admin
|
||||
*/
|
||||
@GetMapping("/entrepreneur/projects/project-is-active")
|
||||
public Boolean checkIfProjectValidated(@AuthenticationPrincipal Jwt principal) {
|
||||
return entrepreneurApiService.checkIfEntrepreneurProjectActive(
|
||||
principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/*
|
||||
* <p>Endpoint to check if a user requested a project (used when project is pending)
|
||||
*/
|
||||
@GetMapping("/entrepreneur/projects/has-pending-request")
|
||||
public Boolean checkIfHasRequested(@AuthenticationPrincipal Jwt principal) {
|
||||
return entrepreneurApiService.entrepreneurHasPendingRequestedProject(
|
||||
principal.getClaimAsString("email"));
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
package enseirb.myinpulse.service;
|
||||
|
||||
import static enseirb.myinpulse.model.ProjectDecisionValue.PENDING;
|
||||
import static enseirb.myinpulse.model.ProjectDecisionValue.ACTIVE;
|
||||
|
||||
import enseirb.myinpulse.model.Entrepreneur;
|
||||
import enseirb.myinpulse.model.Project;
|
||||
import enseirb.myinpulse.model.SectionCell;
|
||||
import enseirb.myinpulse.model.User;
|
||||
import enseirb.myinpulse.service.database.*;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -234,4 +236,49 @@ public class EntrepreneurApiService {
|
||||
public Iterable<Entrepreneur> getAllEntrepreneurs() {
|
||||
return entrepreneurService.getAllEntrepreneurs();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if an entrepreneur with the given email has a project that is ACTIVE.
|
||||
*
|
||||
* @param email The email of the entrepreneur.
|
||||
* @return true if the entrepreneur has an active project, false otherwise.
|
||||
*/
|
||||
public Boolean checkIfEntrepreneurProjectActive(String email) {
|
||||
User user = this.userService.getUserByEmail(email);
|
||||
if (user == null) {
|
||||
return false;
|
||||
}
|
||||
Long userId = user.getIdUser();
|
||||
|
||||
Entrepreneur entrepreneur = this.entrepreneurService.getEntrepreneurById(userId);
|
||||
if (entrepreneur == null) {
|
||||
return false;
|
||||
}
|
||||
Project proposedProject = entrepreneur.getProjectProposed();
|
||||
return proposedProject != null && proposedProject.getProjectStatus() == ACTIVE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if an entrepreneur with the given email has proposed a project.
|
||||
*
|
||||
* @param email The email of the entrepreneur.
|
||||
* @return true if the entrepreneur has a proposed project, false otherwise.
|
||||
*/
|
||||
public Boolean entrepreneurHasPendingRequestedProject(String email) {
|
||||
User user = this.userService.getUserByEmail(email);
|
||||
if (user == null) {
|
||||
return false;
|
||||
}
|
||||
Long userId = user.getIdUser();
|
||||
|
||||
Entrepreneur entrepreneur = this.entrepreneurService.getEntrepreneurById(userId);
|
||||
if (entrepreneur == null) {
|
||||
return false;
|
||||
}
|
||||
Project proposedProject = entrepreneur.getProjectProposed();
|
||||
if (entrepreneur.getProjectProposed() == null) {
|
||||
return false;
|
||||
}
|
||||
return proposedProject.getProjectStatus() == PENDING;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user