orderBy('id')->get(); return response()->json(['error' => false, 'data' => $templates]); } public function show(int $id): JsonResponse { $template = Template::findOrFail($id); return response()->json(['error' => false, 'data' => $template]); } public function store(Request $request): JsonResponse { $data = $request->validate([ 'type_id' => 'required|integer|min:1', 'name' => 'nullable|string|max:100', 'subject' => 'nullable|string|max:100', 'message' => 'nullable|string', 'status' => 'boolean', ]); $template = DB::transaction(fn () => Template::create($data)); return response()->json([ 'error' => false, 'message' => 'Thêm email template thành công', 'data' => $template, ], 201); } public function update(Request $request, int $id): JsonResponse { $template = Template::findOrFail($id); $data = $request->validate([ 'type_id' => 'sometimes|integer|min:1', 'name' => 'sometimes|nullable|string|max:100', 'subject' => 'sometimes|nullable|string|max:100', 'message' => 'sometimes|nullable|string', 'status' => 'sometimes|boolean', ]); DB::transaction(fn () => $template->update($data)); return response()->json([ 'error' => false, 'message' => 'Cập nhật email template thành công', 'data' => $template->fresh(), ]); } public function destroy(int $id): JsonResponse { $template = Template::findOrFail($id); DB::transaction(fn () => $template->delete()); return response()->json([ 'error' => false, 'message' => 'Đã xoá email template', ]); } }