package com.kaidi.oa.web; import com.kaidi.oa.common.ApiResp; import com.kaidi.oa.common.NotFoundException; import com.kaidi.oa.domain.MeetingRoom; import com.kaidi.oa.repository.MeetingRoomRepository; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** Meeting room directory. */ @RestController @RequestMapping("/api/oa/meeting-rooms") public class MeetingRoomController { private final MeetingRoomRepository roomRepo; public MeetingRoomController(MeetingRoomRepository roomRepo) { this.roomRepo = roomRepo; } @GetMapping public ApiResp> list() { return ApiResp.ok(roomRepo.findAll()); } /** GET /{id} — single room; 404 when absent. Mirrors the room-existence guard in MeetingController. */ @GetMapping("/{id}") public ApiResp get(@PathVariable Long id) { return ApiResp.ok(roomRepo.findById(id) .orElseThrow(() -> new NotFoundException("meeting room not found: " + id))); } }