$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', Rule::in(self::AGENDA_KEYS)], 'value' => ['nullable', 'string', 'max:500'], ]); if ($validated['key'] === 'default_translation_language') { validator($validated, [ 'value' => ['nullable', Rule::in(['DE', 'EN', 'FR', 'ES', 'NL', 'IT'])], ])->validate(); } Setting::set($validated['key'], $validated['value']); return response()->json(['success' => true]); } }