package cc.mrbird.febs.gateway.enhance.controller; import cc.mrbird.febs.common.core.entity.QueryRequest; import cc.mrbird.febs.gateway.enhance.entity.RouteUser; import cc.mrbird.febs.gateway.enhance.service.RouteUserService; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; /** * @author MrBird */ @RestController @RequiredArgsConstructor @RequestMapping("route/auth/user") public class RouteUserController { private final RouteUserService routeUserService; @GetMapping("data") public Flux findUserPages(QueryRequest request, RouteUser routeUser) { return routeUserService.findPages(request, routeUser); } @GetMapping("count") public Mono findUserCount(RouteUser routeUser) { return routeUserService.findCount(routeUser); } @GetMapping("{username}") public Mono findByUsername(@PathVariable String username) { return routeUserService.findByUsername(username); } @PostMapping @PreAuthorize("hasAuthority('admin')") public Mono createRouteUser(RouteUser routeUser) { return routeUserService.create(routeUser); } @PutMapping @PreAuthorize("hasAuthority('admin')") public Mono updateRouteUser(RouteUser routeUser) { return routeUserService.update(routeUser); } @DeleteMapping @PreAuthorize("hasAuthority('admin')") public Flux deleteRouteUser(String ids) { return routeUserService.delete(ids); } }