feat: add theme update
This commit is contained in:
@@ -23,4 +23,26 @@ public function show($id)
|
||||
{
|
||||
return response()->json(Theme::findOrFail($id));
|
||||
}
|
||||
|
||||
// Edit an existing theme — typically its color map. The `key` is the stable
|
||||
// identifier the app maps against, so it is intentionally not editable here.
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$theme = Theme::findOrFail($id);
|
||||
|
||||
$data = $request->validate([
|
||||
'name' => 'sometimes|string|max:255',
|
||||
'colors' => 'sometimes|array',
|
||||
'colors.*' => 'nullable|string|max:32',
|
||||
'order' => 'sometimes|integer',
|
||||
'is_active' => 'sometimes|boolean',
|
||||
]);
|
||||
|
||||
$theme->update($data);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Theme updated successfully',
|
||||
'data' => $theme,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,6 +202,8 @@
|
||||
/// themes (color themes a scene can use)
|
||||
Route::get('/themes', [ThemeController::class, 'index']);
|
||||
Route::get('/themes/{id}', [ThemeController::class, 'show']);
|
||||
Route::put('/themes/{id}', [ThemeController::class, 'update']); // edit name / colors / order / active
|
||||
Route::post('/themes/{id}', [ThemeController::class, 'update']); // same, for method-spoofed clients
|
||||
|
||||
/// scenes (تنظیمات صحنه) — each scene has an image, optional video, and sound
|
||||
// Consolidated settings screen (all scenes + current user's preferences) in one call.
|
||||
|
||||
Reference in New Issue
Block a user