Fix: merge
This commit is contained in:
commit
153501c8d4
@ -5,6 +5,8 @@ import enseirb.myinpulse.service.AdminApiService;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.security.oauth2.jwt.Jwt;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@SpringBootApplication
|
||||
@ -34,8 +36,8 @@ public class AdminApi {
|
||||
* @return a list of upcoming appointments for the current user
|
||||
*/
|
||||
@GetMapping("/admin/appointments/upcoming")
|
||||
public Iterable<DelAppointment> getUpcomingAppointments() {
|
||||
return adminApiService.getUpcomingAppointments();
|
||||
public Iterable<Appointment> getUpcomingAppointments(@AuthenticationPrincipal Jwt principal) {
|
||||
return adminApiService.getUpcomingAppointments(principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -44,13 +46,15 @@ public class AdminApi {
|
||||
* @return a list of current unvalidated projects, waiting to be accepted
|
||||
*/
|
||||
@GetMapping("/admin/projects/pending")
|
||||
public Iterable<DelProject> getPendingProjects() {
|
||||
public Iterable<Project> getPendingProjects() {
|
||||
return adminApiService.getPendingProjects();
|
||||
}
|
||||
|
||||
/**
|
||||
* Endpoint used to make a decision about a project.
|
||||
*
|
||||
* <p>The decision must contains the administrator
|
||||
*
|
||||
* @return the status code of the request
|
||||
*/
|
||||
@PostMapping("/admin/projects/decision")
|
||||
@ -64,7 +68,7 @@ public class AdminApi {
|
||||
* @return the status code of the request
|
||||
*/
|
||||
@PostMapping("/admin/project/add")
|
||||
public void addNewProject(@RequestBody DelProject project) {
|
||||
public void addNewProject(@RequestBody Project project) {
|
||||
adminApiService.addNewProject(project);
|
||||
}
|
||||
|
||||
@ -77,8 +81,11 @@ public class AdminApi {
|
||||
*/
|
||||
@PostMapping("/admin/appoitements/report/{appointmentId}")
|
||||
public void createAppointmentReport(
|
||||
@PathVariable String appointmentId, @RequestBody DelReport report) {
|
||||
adminApiService.createAppointmentReport(appointmentId, report);
|
||||
@PathVariable String appointmentId,
|
||||
@RequestBody Report report,
|
||||
@AuthenticationPrincipal Jwt principal) {
|
||||
adminApiService.createAppointmentReport(
|
||||
appointmentId, report, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,11 +1,13 @@
|
||||
package enseirb.myinpulse.controller;
|
||||
|
||||
import enseirb.myinpulse.model.LCSection;
|
||||
import enseirb.myinpulse.model.DelProject;
|
||||
import enseirb.myinpulse.model.Project;
|
||||
import enseirb.myinpulse.service.EntrepreneurApiService;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.security.oauth2.jwt.Jwt;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@SpringBootApplication
|
||||
@ -27,8 +29,12 @@ public class EntrepreneurApi {
|
||||
* @return status code
|
||||
*/
|
||||
@PutMapping("/entrepreneur/lcsection/modify/{sectionId}")
|
||||
public void editLCSection(@PathVariable String sectionId, @RequestBody LCSection section) {
|
||||
entrepreneurApiService.editLCSection(sectionId, section);
|
||||
public void editLCSection(
|
||||
@PathVariable String sectionId,
|
||||
@RequestBody LCSection section,
|
||||
@AuthenticationPrincipal Jwt principal) {
|
||||
entrepreneurApiService.editLCSection(
|
||||
sectionId, section, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -39,8 +45,9 @@ public class EntrepreneurApi {
|
||||
* @return status code
|
||||
*/
|
||||
@DeleteMapping("/entrepreneur/lcsection/remove/{sectionId}")
|
||||
public void removeLCSection(@PathVariable String sectionId) {
|
||||
entrepreneurApiService.removeLCSection(sectionId);
|
||||
public void removeLCSection(
|
||||
@PathVariable String sectionId, @AuthenticationPrincipal Jwt principal) {
|
||||
entrepreneurApiService.removeLCSection(sectionId, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -51,8 +58,12 @@ public class EntrepreneurApi {
|
||||
* @return status code
|
||||
*/
|
||||
@PostMapping("/entrepreneur/lcsection/add/{sectionId}")
|
||||
public void addLCSection(@PathVariable String sectionId, @RequestBody LCSection section) {
|
||||
entrepreneurApiService.addLCSection(sectionId, section);
|
||||
public void addLCSection(
|
||||
@PathVariable String sectionId,
|
||||
@RequestBody LCSection section,
|
||||
@AuthenticationPrincipal Jwt principal) {
|
||||
entrepreneurApiService.addLCSection(
|
||||
sectionId, section, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,7 +74,8 @@ public class EntrepreneurApi {
|
||||
* @return status code
|
||||
*/
|
||||
@PostMapping("/entrepreneur/project/request")
|
||||
public void requestNewProject(@RequestBody DelProject project) {
|
||||
entrepreneurApiService.requestNewProject(project);
|
||||
public void requestNewProject(
|
||||
@RequestBody Project project, @AuthenticationPrincipal Jwt principal) {
|
||||
entrepreneurApiService.requestNewProject(project, principal.getClaimAsString("email"));
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,12 @@
|
||||
package enseirb.myinpulse.controller;
|
||||
|
||||
import enseirb.myinpulse.model.Administrator;
|
||||
import enseirb.myinpulse.model.DelAppointment;
|
||||
import enseirb.myinpulse.model.Entrepreneur;
|
||||
import enseirb.myinpulse.model.SectionCell;
|
||||
import enseirb.myinpulse.model.*;
|
||||
import enseirb.myinpulse.service.SharedApiService;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.security.oauth2.jwt.Jwt;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@SpringBootApplication
|
||||
@ -34,8 +33,10 @@ public class SharedApi {
|
||||
public Iterable<SectionCell> getLCSection(
|
||||
@PathVariable("projectId") String projectId,
|
||||
@PathVariable("title") String title,
|
||||
@PathVariable("date") String date) {
|
||||
return sharedApiService.getLCSection(projectId, title, date);
|
||||
@PathVariable("date") String date,
|
||||
@AuthenticationPrincipal Jwt principal) {
|
||||
return sharedApiService.getLCSection(
|
||||
projectId, title, date, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -44,34 +45,33 @@ public class SharedApi {
|
||||
* @return a list of all entrepreneurs in a project
|
||||
*/
|
||||
@GetMapping("/shared/entrepreneurs/{projectId}")
|
||||
public Iterable<Entrepreneur> getEntrepreneursByProjectId(@PathVariable int projectId) {
|
||||
return sharedApiService.getEntrepreneursByProjectId(projectId);
|
||||
public Iterable<Entrepreneur> getEntrepreneursByProjectId(
|
||||
@PathVariable int projectId, @AuthenticationPrincipal Jwt principal) {
|
||||
return sharedApiService.getEntrepreneursByProjectId(
|
||||
projectId, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: is it really useful for the admin ? We can already get all the project of the current
|
||||
* administrator.
|
||||
*
|
||||
* <p>Endpoint used to get the administrator of a project.
|
||||
* Endpoint used to get the administrator of a project.
|
||||
*
|
||||
* @return a list of all project managed by the current admin user
|
||||
*/
|
||||
@GetMapping("/shared/projects/admin/{projectId}")
|
||||
public Iterable<Administrator> getAdminByProjectId(@PathVariable int projectId) {
|
||||
return sharedApiService.getAdminByProjectId(projectId);
|
||||
public Iterable<Administrator> getAdminByProjectId(
|
||||
@PathVariable int projectId, @AuthenticationPrincipal Jwt principal) {
|
||||
return sharedApiService.getAdminByProjectId(projectId, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Should it really be all appointments? all future appointments ? a flag to choose \\
|
||||
* TODO: between both ?
|
||||
*
|
||||
* <p>Endpoint used to get all appointments of a single project.
|
||||
* Endpoint used to get all appointments of a single project.
|
||||
*
|
||||
* @return a list of all appointments.
|
||||
*/
|
||||
@GetMapping("/shared/projects/appointments/{projectId}")
|
||||
public Iterable<DelAppointment> getAppointmentsByProjectId(@PathVariable int projectId) {
|
||||
return sharedApiService.getAppointmentsByProjectId(projectId);
|
||||
public Iterable<Appointment> getAppointmentsByProjectId(
|
||||
@PathVariable int projectId, @AuthenticationPrincipal Jwt principal) {
|
||||
return sharedApiService.getAppointmentsByProjectId(
|
||||
projectId, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -80,17 +80,17 @@ public class SharedApi {
|
||||
* @return a PDF file? TODO: how does that works ?
|
||||
*/
|
||||
@GetMapping("/shared/projects/appointments/report/{appointmentId}")
|
||||
public void getPDFReport(@PathVariable int appointmentId) {
|
||||
sharedApiService.getPDFReport(appointmentId);
|
||||
public void getPDFReport(
|
||||
@PathVariable int appointmentId, @AuthenticationPrincipal Jwt principal) {
|
||||
sharedApiService.getPDFReport(appointmentId, principal.getClaimAsString("email"));
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*
|
||||
* @return TODO
|
||||
*/
|
||||
@PostMapping("/shared/appointment/request")
|
||||
public void createAppointmentRequest(@RequestBody DelAppointment appointment) {
|
||||
sharedApiService.createAppointmentRequest(appointment);
|
||||
public void createAppointmentRequest(
|
||||
@RequestBody Appointment appointment, @AuthenticationPrincipal Jwt principal) {
|
||||
sharedApiService.createAppointmentRequest(appointment, principal.getClaimAsString("email"));
|
||||
}
|
||||
}
|
||||
|
@ -14,12 +14,12 @@ public class AdminApiService {
|
||||
}
|
||||
|
||||
// TODO
|
||||
public Iterable<DelAppointment> getUpcomingAppointments() {
|
||||
public Iterable<Appointment> getUpcomingAppointments(String email) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
// TODO
|
||||
public Iterable<DelProject> getPendingProjects() {
|
||||
public Iterable<Project> getPendingProjects() {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
@ -29,12 +29,12 @@ public class AdminApiService {
|
||||
}
|
||||
|
||||
// TODO
|
||||
public void addNewProject(DelProject project) {
|
||||
public void addNewProject(Project project) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
// TODO
|
||||
public void createAppointmentReport(String appointmentId, DelReport report) {
|
||||
public void createAppointmentReport(String appointmentId, Report report, String email) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
|
@ -1,28 +1,29 @@
|
||||
package enseirb.myinpulse.service;
|
||||
|
||||
import enseirb.myinpulse.model.LCSection;
|
||||
import enseirb.myinpulse.model.DelProject;
|
||||
import enseirb.myinpulse.model.Project;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
|
||||
@Service
|
||||
public class EntrepreneurApiService {
|
||||
|
||||
public void editLCSection(String sectionId, LCSection section) {
|
||||
public void editLCSection(String sectionId, LCSection section, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public void removeLCSection(String sectionId) {
|
||||
public void removeLCSection(String sectionId, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public void addLCSection(String sectionId, LCSection section) {
|
||||
public void addLCSection(String sectionId, LCSection section, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public void requestNewProject(DelProject project) {
|
||||
public void requestNewProject(Project project, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
}
|
||||
|
@ -9,28 +9,28 @@ import org.springframework.web.server.ResponseStatusException;
|
||||
@Service
|
||||
public class SharedApiService {
|
||||
|
||||
public Iterable<SectionCell> getLCSection(String projectId, String title, String date) {
|
||||
|
||||
public Iterable<SectionCell> getLCSection(
|
||||
String projectId, String title, String date, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public Iterable<Entrepreneur> getEntrepreneursByProjectId(int projectId) {
|
||||
public Iterable<Entrepreneur> getEntrepreneursByProjectId(int projectId, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public Iterable<Administrator> getAdminByProjectId(int projectId) {
|
||||
public Iterable<Administrator> getAdminByProjectId(int projectId, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public Iterable<DelAppointment> getAppointmentsByProjectId(int projectId) {
|
||||
public Iterable<Appointment> getAppointmentsByProjectId(int projectId, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public void getPDFReport(int appointmentId) {
|
||||
public void getPDFReport(int appointmentId, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
|
||||
public void createAppointmentRequest(DelAppointment appointment) {
|
||||
public void createAppointmentRequest(Appointment appointment, String mail) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user