diff --git a/app/Course.php b/app/Course.php new file mode 100644 index 0000000..4bb5bfc --- /dev/null +++ b/app/Course.php @@ -0,0 +1,10 @@ +all(), [ + 'name' => 'required|unique:courses|max:250' + ]); + + if ($validator->fails()) { + return response($validator->errors(), 400); + } + + $course = new Course; + $course->name = $request->input('name'); + $course->save(); + + return response('Course created', 201); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + return Course::find($id); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + // + } +} diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 4960037..3e0bd49 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use App\Course; class DashboardController extends Controller { @@ -23,6 +24,10 @@ class DashboardController extends Controller */ public function index() { - return view('dashboard'); + $courses = Course::all(); + + return view('dashboard', [ + 'courses' => $courses + ]); } } diff --git a/database/migrations/2017_11_07_012931_create_courses_table.php b/database/migrations/2017_11_07_012931_create_courses_table.php new file mode 100644 index 0000000..9024fa8 --- /dev/null +++ b/database/migrations/2017_11_07_012931_create_courses_table.php @@ -0,0 +1,32 @@ +increments('id'); + $table->timestamps(); + $table->string('name', 250)->unique(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('courses'); + } +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index e119db6..03be7a6 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -11,6 +11,13 @@ class DatabaseSeeder extends Seeder */ public function run() { - // $this->call(UsersTableSeeder::class); + DB::table('users')->insert([ + 'name' => 'admin', + 'email' => 'test@test.com', + 'password' => bcrypt('password1') + ]); + DB::table('courses')->insert([ + 'name' => 'test course 1' + ]); } } diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index bd88820..5759dea 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -4,4 +4,8 @@

Your Dashboard

+@foreach ($courses as $course) +

{{ $course->name }}

+@endforeach + @endsection \ No newline at end of file diff --git a/routes/api.php b/routes/api.php index c641ca5..f6f4090 100644 --- a/routes/api.php +++ b/routes/api.php @@ -16,3 +16,5 @@ use Illuminate\Http\Request; Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); + +Route::apiResource('courses', 'CourseController'); \ No newline at end of file