boolean('active_only', false); $templates = $this->service->list($activeOnly); return response()->json([ 'status' => 'success', 'data' => $templates, ]); } /** * POST /api/attendance-comment-templates */ public function store(StoreAttendanceCommentTemplateRequest $request): JsonResponse { $template = $this->service->create($request->validated()); return response()->json([ 'status' => 'success', 'message' => 'Template created successfully.', 'data' => $template, ], 201); } /** * GET /api/attendance-comment-templates/{id} */ public function show(int $id): JsonResponse { $template = $this->service->findOrFail($id); return response()->json([ 'status' => 'success', 'data' => $template, ]); } /** * PUT/PATCH /api/attendance-comment-templates/{id} */ public function update(UpdateAttendanceCommentTemplateRequest $request, int $id): JsonResponse { $template = $this->service->update($id, $request->validated()); return response()->json([ 'status' => 'success', 'message' => 'Template updated successfully.', 'data' => $template, ]); } /** * DELETE /api/attendance-comment-templates/{id} */ public function destroy(int $id): JsonResponse { $this->service->delete($id); return response()->json([ 'status' => 'success', 'message' => 'Template deleted successfully.', ]); } /** * Optional compatibility endpoint with your old CI shape: * GET /api/attendance-comment-templates/list-data */ public function listData(Request $request): JsonResponse { $activeOnly = $request->boolean('active_only', false); $templates = $this->service->list($activeOnly); return response()->json([ 'templates' => $templates, ]); } }