Skip to content
Snippets Groups Projects
Commit 8a320c3f authored by W's avatar W
Browse files

add all

parent 9bf66471
Branches
No related merge requests found
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Task;
use App\TasksMember;
class TaskController extends Controller
{
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
$user = $request->user();
$result = $request->has([
'group_id',
'taskname',
'description'
]);
if ($result) {
$form = [
'group_id' => $request->group_id,
'taskname' => $request->taskname,
'description' => $request->description,
'status_kanban' => Config::get('constants.STATUS_KANBAN.PRODUCT_BACKLOG')
];
$task = Task::create($form);
return response(json_encode([
'data' => $task->toArray(),
'msg' => ['Success']
]), 200);
} else {
return response(json_encode([
'err' => ['Bad Request']
]), 400);
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show(Request $request, $taskId)
{
//
$user = $request->user();
$task = Task::find($taskId)->first();
if ($task) {
$taskArr = $task->toArray();
$taskArr['members'] = $task->toArray();
return response(json_encode([
'data' => $taskArr,
'msg' => ['success']
]), 200);
} else {
return response(json_encode([
'err' => ['Not Found']
]), 404);
}
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $taskId)
{
$user = $request->user();
$result = $request->has([
'taskname',
'description',
'status_kanban'
]);
if ($result) {
$form = [
'taskname' => $request->taskname,
'description' => $request->description,
'status_kanban' => $request->status_kanban
];
$task = Task::find($taskId)->first();
if ($task) {
$task->fill($form);
$task->save();
return response(json_encode([
'data' => $task->toArray(),
'msg' => ['Success']
]), 200);
} else {
return response(json_encode([
'err' => ['Not Found']
]), 404);
}
} else {
return response(json_encode([
'err' => ['Bad Request']
]), 400);
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($taskId)
{
Task::destroy($taskId);
return response(json_encode([
'msg' => ['deleted']
]), 200);
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\TasksMember;
class TasksMemberController extends Controller
{
public function add(Request $req) {
$user = $request->user();
$result = $request->has([
'task_id',
'user_id'
]);
if ($result) {
$memberTask = TasksMember::create([
'task_id' => $req->task_id,
'user_id' => $req->user_id
]);
return response(json_encode([
'data' => $memberTask->toArray(),
'msg' => ['success']
]), 200);
} else {
return response(json_encode([
'err' => ['Bad Request']
]), 400);
}
}
}
...@@ -7,4 +7,8 @@ use Illuminate\Database\Eloquent\Model; ...@@ -7,4 +7,8 @@ use Illuminate\Database\Eloquent\Model;
class Task extends Model class Task extends Model
{ {
// //
public function members() {
return $this->hasMany('App\TasksMember', 'task_id');
}
} }
...@@ -10,7 +10,7 @@ class TasksMember extends Model ...@@ -10,7 +10,7 @@ class TasksMember extends Model
protected $table = 'tasks_member'; protected $table = 'tasks_member';
public $incrementing = false; public $incrementing = false;
protected $primaryKey = ['task_id', 'user_id']; protected $primaryKey = ['task_id', 'user_id'];
/** /**
* Set the keys for a save update query. * Set the keys for a save update query.
* *
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
......
<?php
return [
'STATUS_KANBAN' => [
'PRODUCT_BACKLOG' => 'PRODUCT_BACKLOG',
'OPEN' => 'OPEN',
'WIP' => 'WIP',
'DONE' => 'DONE',
]
];
\ No newline at end of file
...@@ -14,8 +14,10 @@ class CreateGroupsMemberTable extends Migration ...@@ -14,8 +14,10 @@ class CreateGroupsMemberTable extends Migration
public function up() public function up()
{ {
Schema::create('groups_member', function (Blueprint $table) { Schema::create('groups_member', function (Blueprint $table) {
$table->integer('group_id')->foreign('group_id')->references('id')->on('groups'); $table->unsignedInteger('group_id');
$table->integer('user_id')->foreign('user_id')->references('id')->on('users'); $table->foreign('group_id')->references('id')->on('groups');
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->primary(['group_id', 'user_id']); $table->primary(['group_id', 'user_id']);
$table->string('role'); $table->string('role');
$table->timestamps(); $table->timestamps();
......
...@@ -15,7 +15,8 @@ class CreateTasksTable extends Migration ...@@ -15,7 +15,8 @@ class CreateTasksTable extends Migration
{ {
Schema::create('tasks', function (Blueprint $table) { Schema::create('tasks', function (Blueprint $table) {
$table->increments('id'); $table->increments('id');
$table->integer('group_id')->foreign('group_id')->references('id')->on('groups'); $table->unsignedInteger('group_id');
$table->foreign('group_id')->references('id')->on('groups');
$table->string('taskname'); $table->string('taskname');
$table->string('description'); $table->string('description');
$table->string('status_kanban'); $table->string('status_kanban');
......
...@@ -14,8 +14,10 @@ class CreateTasksMemberTable extends Migration ...@@ -14,8 +14,10 @@ class CreateTasksMemberTable extends Migration
public function up() public function up()
{ {
Schema::create('tasks_member', function (Blueprint $table) { Schema::create('tasks_member', function (Blueprint $table) {
$table->integer('task_id')->foreign('task_id')->references('id')->on('tasks'); $table->unsignedInteger('task_id');
$table->integer('user_id')->foreign('user_id')->references('id')->on('users'); $table->foreign('task_id')->references('id')->on('tasks');
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps(); $table->timestamps();
}); });
} }
......
...@@ -12,7 +12,7 @@ use Illuminate\Http\Request; ...@@ -12,7 +12,7 @@ use Illuminate\Http\Request;
| is assigned the "api" middleware group. Enjoy building your API! | is assigned the "api" middleware group. Enjoy building your API!
| |
*/ */
Route::get('/wildan', 'UserController@testMasukAuthAPI')->middleware('auth:api');
Route::middleware('auth:api')->get('/user', function (Request $request) { Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user(); return $request->user();
}); });
...@@ -20,4 +20,17 @@ Route::middleware('auth:api')->get('/user', function (Request $request) { ...@@ -20,4 +20,17 @@ Route::middleware('auth:api')->get('/user', function (Request $request) {
Route::post('/login', 'UserController@generateToken'); Route::post('/login', 'UserController@generateToken');
Route::post('/logout', 'UserController@logOut')->middleware('auth:api'); Route::post('/logout', 'UserController@logOut')->middleware('auth:api');
Route::get('/wildan', 'UserController@testMasukAuthAPI')->middleware('auth:api');
\ No newline at end of file
//Task
Route::post('/tasks', 'TaskController@store')->middleware('auth:api');
Route::get('/tasks/{taskId}', 'TaskController@show')->middleware('auth:api');
Route::put('/tasks/{taskId}', 'TaskController@update')->middleware('auth:api');
Route::delete('/tasks/{taskId}', 'TaskController@delete')->middleware('auth:api');
// Route::group(['middleware' => 'auth:api'], function()
// {
// Route::resource('tasks','TaskController', ['except' => ['index', 'edit', 'create']]);
// });
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment