From 0180987ea148833afa0370b4bb2757facac1fb74 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Tue, 14 Jul 2026 08:29:59 +0000 Subject: [PATCH] =?UTF-8?q?Developer=20=EC=97=AD=ED=95=A0=20Spring=20?= =?UTF-8?q?=EA=B3=A8=EA=B2=A9=20smoke=20(role-developer-live-v3-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/DeveloperController.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/com/example/demo/controller/DeveloperController.java diff --git a/src/main/java/com/example/demo/controller/DeveloperController.java b/src/main/java/com/example/demo/controller/DeveloperController.java new file mode 100644 index 0000000..6cb5a3f --- /dev/null +++ b/src/main/java/com/example/demo/controller/DeveloperController.java @@ -0,0 +1,37 @@ +package com.example.demo.controller; + +import com.example.demo.service.DeveloperService; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/roles") +public class DeveloperController { + + private final DeveloperService developerService; + + public DeveloperController(DeveloperService developerService) { + this.developerService = developerService; + } + + @GetMapping + public ResponseEntity> getAllRoles() { + return ResponseEntity.ok(developerService.getAllRoles()); + } + + @GetMapping("/{role}") + public ResponseEntity> getRolePermission(@PathVariable String role) { + String permission = developerService.getRolePermission(role); + return ResponseEntity.ok(Map.of("role", role, "permission", permission)); + } + + @GetMapping("/{role}/check") + public ResponseEntity> checkPermission( + @PathVariable String role, + @RequestParam String action) { + boolean allowed = developerService.hasPermission(role, action); + return ResponseEntity.ok(Map.of("action", action, "allowed", allowed)); + } +}