From 0a7b2d9a4f765e9f2ac86b0d65049d39fbbedfd7 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Tue, 14 Jul 2026 06:59:00 +0000 Subject: [PATCH] =?UTF-8?q?TA=20=EC=97=AD=ED=95=A0=20Spring=20=EA=B2=BD?= =?UTF-8?q?=EA=B3=84=20smoke=20(role-ta-live-1522-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RoleMatrixController.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/main/java/com/klaroworks/runtime/controller/RoleMatrixController.java diff --git a/src/main/java/com/klaroworks/runtime/controller/RoleMatrixController.java b/src/main/java/com/klaroworks/runtime/controller/RoleMatrixController.java new file mode 100644 index 0000000..c6580c3 --- /dev/null +++ b/src/main/java/com/klaroworks/runtime/controller/RoleMatrixController.java @@ -0,0 +1,50 @@ +package com.klaroworks.runtime.controller; + +import com.klaroworks.runtime.dto.ApiResponse; +import com.klaroworks.runtime.dto.RoleCreateRequest; +import com.klaroworks.runtime.dto.RoleResponse; +import com.klaroworks.runtime.service.RoleMatrixService; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@RestController +@RequestMapping("/api/v1/roles") +@RequiredArgsConstructor +public class RoleMatrixController { + + private final RoleMatrixService roleMatrixService; + + @PostMapping + public ResponseEntity> createRole( + @Valid @RequestBody RoleCreateRequest request) { + return ResponseEntity.status(HttpStatus.CREATED) + .body(ApiResponse.success(roleMatrixService.createRole(request))); + } + + @GetMapping("/{id}") + public ResponseEntity> getRoleById(@PathVariable Long id) { + return ResponseEntity.ok(ApiResponse.success(roleMatrixService.getRoleById(id))); + } + + @GetMapping + public ResponseEntity>> getAllRoles() { + return ResponseEntity.ok(ApiResponse.success(roleMatrixService.getAllRoles())); + } + + @PutMapping("/{id}") + public ResponseEntity> updateRole( + @PathVariable Long id, + @Valid @RequestBody RoleCreateRequest request) { + return ResponseEntity.ok(ApiResponse.success(roleMatrixService.updateRole(id, request))); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteRole(@PathVariable Long id) { + roleMatrixService.deleteRole(id); + return ResponseEntity.noContent().build(); + } +}