feat: make /accept invitations takes JSON instead of URL encoded input
This commit is contained in:
parent
fde42dd414
commit
b65c8a7340
@ -3,6 +3,7 @@ package online.wesal.wesal.controller;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import online.wesal.wesal.dto.AcceptInvitationRequest;
|
||||
import online.wesal.wesal.dto.ApiResponse;
|
||||
import online.wesal.wesal.dto.CategorizedInvitationsResponse;
|
||||
import online.wesal.wesal.dto.CreateInvitationRequest;
|
||||
@ -98,16 +99,12 @@ public class InvitationController {
|
||||
@PostMapping("/accept")
|
||||
@Operation(summary = "Accept invitation", description = "Accept an invitation by ID")
|
||||
public ResponseEntity<ApiResponse<Void>> acceptInvitation(
|
||||
@RequestParam Long id,
|
||||
@Valid @RequestBody AcceptInvitationRequest request,
|
||||
Authentication authentication) {
|
||||
|
||||
if (id == null || id <= 0) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.error("Valid invitation ID is required"));
|
||||
}
|
||||
|
||||
try {
|
||||
String userEmail = authentication.getName();
|
||||
invitationService.acceptInvitation(id, userEmail);
|
||||
invitationService.acceptInvitation(request.getId(), userEmail);
|
||||
return ResponseEntity.ok(new ApiResponse<>(true));
|
||||
} catch (RuntimeException e) {
|
||||
return ResponseEntity.badRequest().body(ApiResponse.error(e.getMessage()));
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package online.wesal.wesal.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Positive;
|
||||
|
||||
public class AcceptInvitationRequest {
|
||||
|
||||
@NotNull(message = "Invitation ID is required")
|
||||
@Positive(message = "Invitation ID must be positive")
|
||||
private Long id;
|
||||
|
||||
public AcceptInvitationRequest() {}
|
||||
|
||||
public AcceptInvitationRequest(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user