Course api beginnings
This commit is contained in:
10
app/Course.php
Normal file
10
app/Course.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Course extends Model
|
||||
{
|
||||
//
|
||||
}
|
||||
77
app/Http/Controllers/CourseController.php
Normal file
77
app/Http/Controllers/CourseController.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Validator;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Course;
|
||||
|
||||
class CourseController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return Course::paginate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateCoursesTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('courses', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->timestamps();
|
||||
$table->string('name', 250)->unique();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('courses');
|
||||
}
|
||||
}
|
||||
@@ -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'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,4 +4,8 @@
|
||||
|
||||
<h1>Your Dashboard</h1>
|
||||
|
||||
@foreach ($courses as $course)
|
||||
<p>{{ $course->name }}</p>
|
||||
@endforeach
|
||||
|
||||
@endsection
|
||||
@@ -16,3 +16,5 @@ use Illuminate\Http\Request;
|
||||
Route::middleware('auth:api')->get('/user', function (Request $request) {
|
||||
return $request->user();
|
||||
});
|
||||
|
||||
Route::apiResource('courses', 'CourseController');
|
||||
Reference in New Issue
Block a user