initial commit
This commit is contained in:
@ -0,0 +1,43 @@
|
||||
package id.iptek.utms.module.controller;
|
||||
|
||||
import id.iptek.utms.api.ApiResponse;
|
||||
import id.iptek.utms.core.i18n.MessageResolver;
|
||||
import id.iptek.utms.module.dto.ModuleResponse;
|
||||
import id.iptek.utms.module.dto.ModuleToggleRequest;
|
||||
import id.iptek.utms.module.service.ModuleRegistryService;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/modules")
|
||||
@SecurityRequirement(name = "bearerAuth")
|
||||
public class ModuleController {
|
||||
|
||||
private final ModuleRegistryService moduleRegistryService;
|
||||
private final MessageResolver messageResolver;
|
||||
|
||||
public ModuleController(ModuleRegistryService moduleRegistryService, MessageResolver messageResolver) {
|
||||
this.moduleRegistryService = moduleRegistryService;
|
||||
this.messageResolver = messageResolver;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ApiResponse<List<ModuleResponse>> list() {
|
||||
return ApiResponse.ok(messageResolver.get("module.list.success"), moduleRegistryService.listModules());
|
||||
}
|
||||
|
||||
@PostMapping("/{code}/toggle")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
public ApiResponse<ModuleResponse> toggle(@PathVariable String code,
|
||||
@RequestBody ModuleToggleRequest request,
|
||||
HttpServletRequest servletRequest) {
|
||||
return ApiResponse.ok(messageResolver.get("module.toggle.success"),
|
||||
moduleRegistryService.setEnabled(code, request.enabled(), servletRequest));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user