Require principal for star mutations.
This commit is contained in:
		
							parent
							
								
									73fdced131
								
							
						
					
					
						commit
						1484a7023c
					
				| @ -11,6 +11,7 @@ import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.domain.Slice; | ||||
| import org.springframework.http.HttpStatus; | ||||
| import org.springframework.http.ResponseEntity; | ||||
| import org.springframework.security.access.AccessDeniedException; | ||||
| import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
| 
 | ||||
| @ -70,8 +71,11 @@ public class RecipeController { | ||||
|     public ResponseEntity<RecipeStar> addStar( | ||||
|             @PathVariable String username, | ||||
|             @PathVariable String slug, | ||||
|             @AuthenticationPrincipal User principal | ||||
|             @Nullable @AuthenticationPrincipal User principal | ||||
|     ) throws RecipeException { | ||||
|         if (principal == null) { | ||||
|             throw new AccessDeniedException("Must be logged in to star a recipe."); | ||||
|         } | ||||
|         return ResponseEntity.status(HttpStatus.CREATED).body(this.recipeStarService.create(username, slug, principal)); | ||||
|     } | ||||
| 
 | ||||
| @ -79,8 +83,11 @@ public class RecipeController { | ||||
|     public ResponseEntity<Map<String, Object>> getStar( | ||||
|             @PathVariable String username, | ||||
|             @PathVariable String slug, | ||||
|             @AuthenticationPrincipal User principal | ||||
|             @Nullable @AuthenticationPrincipal User principal | ||||
|     ) throws RecipeException { | ||||
|         if (principal == null) { | ||||
|             throw new AccessDeniedException("Must be logged in to get a recipe star."); | ||||
|         } | ||||
|         final @Nullable RecipeStar star = this.recipeStarService.find(username, slug, principal).orElse(null); | ||||
|         if (star != null) { | ||||
|             return ResponseEntity.ok(Map.of("isStarred", true, "star", star)); | ||||
| @ -93,8 +100,11 @@ public class RecipeController { | ||||
|     public ResponseEntity<Object> removeStar( | ||||
|             @PathVariable String username, | ||||
|             @PathVariable String slug, | ||||
|             @AuthenticationPrincipal User principal | ||||
|             @Nullable @AuthenticationPrincipal User principal | ||||
|     ) throws RecipeException { | ||||
|         if (principal == null) { | ||||
|             throw new AccessDeniedException("Must be logged in to delete a recipe star."); | ||||
|         } | ||||
|         this.recipeStarService.delete(username, slug, principal); | ||||
|         return ResponseEntity.noContent().build(); | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Jesse Brault
						Jesse Brault