user(); if (! $user instanceof User || ! (bool) $user->is_lecturer) { return Response::error('Nur Referenten (is_lecturer) dürfen Kurse anlegen.'); } $validated = $request->validate([ 'name' => ['required', 'string', 'max:255'], 'lecturer_id' => ['required', 'exists:lecturers,id'], 'description' => ['nullable', 'string'], ]); $course = Course::create($validated); return Response::json($course->fresh()); } /** * @return array */ public function schema(JsonSchema $schema): array { return [ 'name' => $schema->string()->description('Name des Kurses.')->required(), 'lecturer_id' => $schema->integer()->description('ID des zugehörigen Referenten (vorher per search-lecturers auflösen).')->required(), 'description' => $schema->string()->description('Beschreibung des Kurses.'), ]; } }