package cc.mrbird.febs.gateway.enhance.controller; import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.gateway.enhance.entity.RateLimitLog; import cc.mrbird.febs.gateway.enhance.service.RateLimitLogService; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; /** * @author MrBird */ @RestController @RequiredArgsConstructor @RequestMapping("route/auth/rateLimitLog") public class RateLimitLogController { private final RateLimitLogService rateLimitLogService; @GetMapping("data") public Flux findUserPages(QueryRequest request, RateLimitLog rateLimitLog) { return rateLimitLogService.findPages(request, rateLimitLog); } @GetMapping("count") public Mono findUserCount(RateLimitLog rateLimitLog) { return rateLimitLogService.findCount(rateLimitLog); } @DeleteMapping @PreAuthorize("hasAuthority('admin')") public Flux deleteRateLimitLog(String ids) { return rateLimitLogService.delete(ids); } }