Add the uninscription request submission
This commit is contained in:
		@ -6,12 +6,14 @@ import org.springframework.web.bind.annotation.*;
 | 
			
		||||
import ovh.herisson.Clyde.Repositories.CourseRepository;
 | 
			
		||||
import ovh.herisson.Clyde.Repositories.Inscription.ExemptionsRequestRepository;
 | 
			
		||||
import ovh.herisson.Clyde.Repositories.Inscription.ScholarshipRequestRepository;
 | 
			
		||||
import ovh.herisson.Clyde.Repositories.Inscription.UninscriptionRequestRepository;
 | 
			
		||||
import ovh.herisson.Clyde.Repositories.UserRepository;
 | 
			
		||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
 | 
			
		||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.*;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Inscription.ExemptionsRequest;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Inscription.ScholarshipRequest;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Inscription.UninscriptionRequest;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
@ -25,14 +27,15 @@ public class RequestsController {
 | 
			
		||||
    public final ScholarshipRequestRepository srr;
 | 
			
		||||
    public final UserRepository userRepository;
 | 
			
		||||
    public final AuthenticatorService authServ;
 | 
			
		||||
 | 
			
		||||
    public final UninscriptionRequestRepository uninscriptionRequestRepository;
 | 
			
		||||
    public final CourseRepository courseRepository;
 | 
			
		||||
 | 
			
		||||
    public RequestsController(ExemptionsRequestRepository err, ScholarshipRequestRepository srr, UserRepository userRepository, AuthenticatorService authServ, CourseRepository courseRepository) {
 | 
			
		||||
    public RequestsController(ExemptionsRequestRepository err, ScholarshipRequestRepository srr, UserRepository userRepository, AuthenticatorService authServ, UninscriptionRequestRepository uninscriptionRequestRepository, CourseRepository courseRepository) {
 | 
			
		||||
        this.err = err;
 | 
			
		||||
        this.srr = srr;
 | 
			
		||||
        this.userRepository = userRepository;
 | 
			
		||||
        this.authServ = authServ;
 | 
			
		||||
        this.uninscriptionRequestRepository = uninscriptionRequestRepository;
 | 
			
		||||
        this.courseRepository = courseRepository;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -83,4 +86,12 @@ public class RequestsController {
 | 
			
		||||
 | 
			
		||||
        return new ResponseEntity<>(toReturn, HttpStatus.OK);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostMapping(value = "/uninscriptionreq")
 | 
			
		||||
    public ResponseEntity<String> postUnregReq(@RequestBody Map<String,Object> uninscr){
 | 
			
		||||
        User u = userRepository.findById((int) uninscr.get("userId"));
 | 
			
		||||
        UninscriptionRequest ur = new UninscriptionRequest(RequestState.Pending, (String) uninscr.get("reason"), new Date(), u);
 | 
			
		||||
        uninscriptionRequestRepository.save(ur);
 | 
			
		||||
        return new ResponseEntity<>(HttpStatus.OK);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,7 @@
 | 
			
		||||
package ovh.herisson.Clyde.Repositories.Inscription;
 | 
			
		||||
 | 
			
		||||
import org.springframework.data.repository.CrudRepository;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Inscription.UninscriptionRequest;
 | 
			
		||||
 | 
			
		||||
public interface UninscriptionRequestRepository extends CrudRepository<UninscriptionRequest, Long> {
 | 
			
		||||
}
 | 
			
		||||
@ -1,20 +1,29 @@
 | 
			
		||||
package ovh.herisson.Clyde.Tables.Inscription;
 | 
			
		||||
 | 
			
		||||
import jakarta.persistence.Entity;
 | 
			
		||||
import jakarta.persistence.GeneratedValue;
 | 
			
		||||
import jakarta.persistence.GenerationType;
 | 
			
		||||
import jakarta.persistence.Id;
 | 
			
		||||
import jakarta.persistence.*;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.RequestState;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.User;
 | 
			
		||||
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
 | 
			
		||||
@Entity
 | 
			
		||||
public class UninscriptionRequest {
 | 
			
		||||
    @Id
 | 
			
		||||
    @GeneratedValue(strategy = GenerationType.AUTO)
 | 
			
		||||
    private int id;
 | 
			
		||||
    private long id;
 | 
			
		||||
    private RequestState state;
 | 
			
		||||
    private String reason;
 | 
			
		||||
    private Date date;
 | 
			
		||||
 | 
			
		||||
    public UninscriptionRequest(RequestState state){
 | 
			
		||||
    @JoinColumn(name = "Users")
 | 
			
		||||
    @ManyToOne(fetch = FetchType.EAGER)
 | 
			
		||||
    private User user;
 | 
			
		||||
 | 
			
		||||
    public UninscriptionRequest(RequestState state,String reason, Date date, User user){
 | 
			
		||||
        this.state = state;
 | 
			
		||||
        this.reason = reason;
 | 
			
		||||
        this.date = date;
 | 
			
		||||
        this.user = user;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public UninscriptionRequest(){}
 | 
			
		||||
@ -26,4 +35,33 @@ public class UninscriptionRequest {
 | 
			
		||||
    public void setState(RequestState state) {
 | 
			
		||||
        this.state = state;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getReason() {
 | 
			
		||||
        return reason;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setReason(String reason) {
 | 
			
		||||
        this.reason = reason;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public long getId() {
 | 
			
		||||
        return id;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public User getUser() {
 | 
			
		||||
        return user;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setUser(User user) {
 | 
			
		||||
        this.user = user;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDate(Date date) {
 | 
			
		||||
        this.date = date;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Date getDate() {
 | 
			
		||||
        return date;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user