$settings, 'assignments' => MacroAssignment::with(['macro', 'label'])->orderBy('part_type')->orderBy('order')->get(), 'macros' => Macro::with('collections')->orderBy('name')->get(), 'labels' => Label::orderBy('name')->get(), 'collections' => MacroCollection::with('macros')->orderBy('name')->get(), 'last_macros_import' => [ 'at' => Setting::get('macros_last_imported_at'), 'filename' => Setting::get('macros_last_imported_filename'), ], 'last_labels_import' => [ 'at' => Setting::get('labels_last_imported_at'), 'filename' => Setting::get('labels_last_imported_filename'), ], ]); } public function update(Request $request): JsonResponse { $validated = $request->validate([ 'key' => ['required', 'string', 'in:'.implode(',', self::AGENDA_KEYS)], 'value' => ['nullable', 'string', 'max:500'], ]); Setting::set($validated['key'], $validated['value']); return response()->json(['success' => true]); } }