validate([ 'name' => 'required|unique:palettes,name', ]); $palette = Palette::create(['name' => $request->name]); return response()->json($palette); } public function addColor(Request $request, Palette $palette) { $request->validate([ 'name' => 'required|regex:/^[a-z-]+$/', 'hex_value' => 'required|regex:/^#[a-fA-F0-9]{6}$/' ]); $color = PaletteColor::create([ 'palette_id' => $palette->id, 'name' => $request->name, 'hex_value' => $request->hex_value ]); return response()->json($color); } public function updateColor(Request $request, Palette $palette, PaletteColor $color) { $request->validate([ 'name' => 'required|regex:/^[a-z-]+$/', 'hex_value' => 'required|regex:/^#[a-fA-F0-9]{6}$/' ]); $color->update([ 'name' => $request->name, 'hex_value' => $request->hex_value ]); return response()->json($color); } public function deleteColor(Palette $palette, PaletteColor $color) { $color->delete(); return response()->json(['message' => 'Color deleted']); } public function getColors(Palette $palette) { return response()->json($palette->colors); } }