diff --git a/app/Http/Controllers/GroupsController.php b/app/Http/Controllers/GroupsController.php index c96fa691296ad53a4a19337cf5241fb3f66d73f5..f123a9ecc3566c91f17b064d27605636f82872b8 100644 --- a/app/Http/Controllers/GroupsController.php +++ b/app/Http/Controllers/GroupsController.php @@ -27,7 +27,7 @@ class GroupsController extends Controller GroupsMember::create([ 'group_id' => $group['id'], 'user_id' => $input['user_id'], - 'role' => $input['role'], + // 'role' => $input['role'], 'high_score' => 0 ]); @@ -35,7 +35,7 @@ class GroupsController extends Controller return response(json_encode([ 'statusMessage' => 'success', - 'data' => NULL + 'data' => $group->toArray() ]), 200); } @@ -80,7 +80,7 @@ class GroupsController extends Controller return response(json_encode([ 'statusMessage' => 'Success', - 'data' => $group->toArray() + 'data' => NULL ]), 200); } } diff --git a/app/Http/Controllers/GroupsMemberController.php b/app/Http/Controllers/GroupsMemberController.php index f9551355b05ac7c832c3c00f42a8243122b3476a..8bc8b0a751abd68bd34547768ca625cd6a628d9b 100644 --- a/app/Http/Controllers/GroupsMemberController.php +++ b/app/Http/Controllers/GroupsMemberController.php @@ -30,30 +30,30 @@ class GroupsMemberController extends Controller 'data' => NULL ]), 404); } - $groupMember = GroupMember::where([ + $groupMember = GroupsMember::where([ 'user_id' => $user->id, 'group_id' => $input['group_id'] ])->first(); - $group = Group::find($input['group_id']); + $group = Groups::find($input['group_id']); if (is_null($group)) { return response(json_encode([ - 'statusMessage' => 'Bad Request' - ]), 400); + 'statusMessage' => 'error' + ]), 404); } else { if (is_null($groupMember)) { - $groupMember = GroupMember::create([ + $groupMember = GroupsMember::create([ 'group_id' => $input['group_id'], 'user_id' => $user->id, - 'role' => $input['role'], + // 'role' => $input['role'], 'high_score' => 0 ]); } return response(json_encode([ 'statusMessage' => 'success', - 'data' => $groupMember->toArray() + 'data' => NULL ]), 200); } } @@ -63,7 +63,7 @@ class GroupsMemberController extends Controller $group = Groups::find($groupId); if (!is_null($group)) { - $users = DB::table('groups_member')->select('user_id', 'role', 'high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','groups_member.group_id','=','groups.id')->where('group_id',$groupId)->get(); + $users = DB::table('groups_member')->select('user_id', 'high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','groups_member.group_id','=','groups.id')->where('group_id',$groupId)->get(); return response(json_encode([ 'statusMessage' => 'success', 'data' => $users->toArray() @@ -86,7 +86,7 @@ class GroupsMemberController extends Controller } else { $input = $request->all(); $groupMember = GroupsMember::create([ - 'role' => $input['role'], + // 'role' => $input['role'], 'high_score' => $input['high_score'] ]); @@ -97,7 +97,7 @@ class GroupsMemberController extends Controller return response(json_encode([ 'statusMessage' => 'Success', - 'data' => $member->toArray() + 'data' => NULL ]), 200); } else { return response(json_encode([ @@ -126,7 +126,7 @@ class GroupsMemberController extends Controller private function validate2(Request $request) { $input = $request->all(); return Validator::make($input, [ - 'role' => 'required', + // 'role' => 'required', 'high_score' => 'required' ]); } diff --git a/app/Http/Controllers/TasksController.php b/app/Http/Controllers/TasksController.php index 4efef9e3858c5824c2815514c32936ab766a7136..ef9c28229eace372bde8b701b55c90a9479df210 100644 --- a/app/Http/Controllers/TasksController.php +++ b/app/Http/Controllers/TasksController.php @@ -8,7 +8,7 @@ use App\Groups; use App\TasksMember; use Illuminate\Support\Facades\DB; use function GuzzleHttp\json_encode; -class TaskController extends Controller +class TasksController extends Controller { /** @@ -23,16 +23,16 @@ class TaskController extends Controller $user = $request->user(); $result = $request->has([ 'group_id', - 'taskname', + 'task_name', 'description', 'kanban_status' ]); if ($result) { $form = [ 'group_id' => $request->group_id, - 'taskname' => $request->taskname, + 'task_name' => $request->task_name, 'description' => $request->description, - 'kanban_status' => $request->status_kanban + 'kanban_status' => $request->kanban_status ]; $task = Tasks::create($form); return response(json_encode([ @@ -88,14 +88,14 @@ class TaskController extends Controller 'task_name', 'description', 'kanban_status', - 'complexity' + 'work_hour' ]); if ($result) { $form = [ - 'task_name' => $request->taskname, + 'task_name' => $request->task_name, 'description' => $request->description, - 'kanban_status' => $request->status_kanban, - 'complexity' => $request->complexity + 'kanban_status' => $request->kanban_status, + 'work_hour' => $request->work_hour ]; $task = Tasks::find($taskId)->first(); if ($task) { @@ -145,7 +145,7 @@ class TaskController extends Controller $taskNotIn = DB::table('tasks') ->select('tasks.id','tasks.group_id','task_name','description', 'kanban_status', 'work_hour','tasks.created_at','tasks.updated_at', DB::raw('"-" as assignee')) ->where([ - 'status_kanban' => $req->status_kanban, + 'kanban_status' => $req->kanban_status, 'tasks.group_id'=> $groupId, ])->whereNotIn('id', $idTaskMemberArr); @@ -153,7 +153,7 @@ class TaskController extends Controller ->select('tasks.id','tasks.group_id','task_name','description', 'kanban_status', 'work_hour','tasks.created_at','tasks.updated_at','users.name as assignee') ->join('tasks_member','tasks.id','=','task_id') ->join('users','users.id','=','tasks_member.user_id')->where([ - 'kanban_status' => $req->status_kanban, + 'kanban_status' => $req->kanban_status, 'tasks.group_id'=> $groupId, ])->union($taskNotIn)->get(); return response(json_encode([ diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index a9fce09de34fb8f3487d3bd52eb6b077f9c5881c..e031b1bca898c327f295f9d0b4bcc3f234cc22ad 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -7,6 +7,8 @@ use App\User; use App\Group; use Google_Client; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\DB; +use function GuzzleHttp\json_encode; class UserController extends Controller { @@ -30,12 +32,14 @@ class UserController extends Controller ]); } else { // Not Found + DB::beginTransaction(); $user = User::create([ 'name' => $payload['name'], 'email' => $payload['email'], 'google_id' => $userid, ]); $token = $user->createToken('accessToken')->accessToken; + DB::commit(); $user['token'] = $token; return json_encode([ 'data' => $user->toArray(), @@ -76,4 +80,21 @@ class UserController extends Controller 'statusMessage'=> "success", ]), 200); } + + public function getUserByEmail($email) { + $user = User::where('email',$email)->first(); + + if ($user) { + $user['token'] = NULL; + return response(json_encode([ + 'statusMessage'=> "success", + 'data' => $user->toArray() + ]),200); + } else { + return response(json_encode([ + 'statusMessage'=> "success", + 'data' => NULL + ]),404); + } + } } diff --git a/app/Tasks.php b/app/Tasks.php index 1d539079240a21644bcf990dcbe10e39be60c348..e0a2a332f11607c976cf874f8281c5d015d449af 100644 --- a/app/Tasks.php +++ b/app/Tasks.php @@ -8,8 +8,8 @@ class Tasks extends Model { protected $fillable = [ - 'group_id', 'taskname', - 'description', 'status_kanban' + 'group_id', 'task_name', + 'description', 'kanban_status' ]; public function groups() diff --git a/app/User.php b/app/User.php index 0f83c51d5e62e7026d8a381270ce2fa9a55b544c..8600660584907a8a327951b67d52affd3c173187 100644 --- a/app/User.php +++ b/app/User.php @@ -43,7 +43,7 @@ class User extends Authenticatable ]; public static function getGroups($userId) { - $groups = DB::table('group_member')->select('user_id','high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','group_member.group_id','=','groups.id')->where('user_id',$userId)->get(); + $groups = DB::table('groups_member')->select('user_id','high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','groups_member.group_id','=','groups.id')->where('user_id',$userId)->get(); return $groups; } } diff --git a/database/factories/GroupsMemberFactory.php b/database/factories/GroupsMemberFactory.php index 0e64ec422b6c2f1053a5275df44b18de73e3b4fd..888277fbf4ca3507d8b6780bbdf9b365dded0b28 100644 --- a/database/factories/GroupsMemberFactory.php +++ b/database/factories/GroupsMemberFactory.php @@ -17,7 +17,7 @@ use Faker\Generator as Faker; $factory->define(App\GroupsMember::class, function (Faker $faker) { return [ 'user_id' => factory('App\User')->create()->id, - 'role' => $faker->randomElement(Config::get('constants.ROLE')), + // 'role' => $faker->randomElement(Config::get('constants.ROLE')), 'high_score' => $faker->randomNumber ]; }); \ No newline at end of file diff --git a/database/factories/TasksFactory.php b/database/factories/TasksFactory.php index 274ba3b8788e28d15d5e04b97666daba557c388d..f42f44c09ae3a4a9228134878320bf82814e2086 100644 --- a/database/factories/TasksFactory.php +++ b/database/factories/TasksFactory.php @@ -19,6 +19,6 @@ $factory->define(App\Tasks::class, function (Faker $faker) { 'task_name' => $faker->sentence($nbWords = 3), 'description' => array_random([$faker->text($maxNbChars = 50), ""]), 'kanban_status' => $faker->randomElement(Config::get('constants.KANBAN_STATUS')), - 'complexity' => $faker->numberBetween($min = 1, $max = 100), + 'work_hour' => $faker->numberBetween($min = 1, $max = 100), ]; }); \ No newline at end of file diff --git a/database/migrations/2019_02_19_140125_create_groups_member_table.php b/database/migrations/2019_02_19_140125_create_groups_member_table.php index 2faf69b6318c1fa1da7ea9ce23159a1e3855dfe5..f4e261e9f408e1e24de9095d210c5ae1e7c80944 100644 --- a/database/migrations/2019_02_19_140125_create_groups_member_table.php +++ b/database/migrations/2019_02_19_140125_create_groups_member_table.php @@ -16,7 +16,7 @@ class CreateGroupsMemberTable extends Migration Schema::create('groups_member', function (Blueprint $table) { $table->unsignedInteger('group_id'); $table->unsignedInteger('user_id'); - $table->string('role'); + // $table->string('role')->default("Nothing"); $table->unsignedInteger('high_score')->default(0); $table->timestamps(); diff --git a/database/migrations/2019_02_19_140448_create_tasks_table.php b/database/migrations/2019_02_19_140448_create_tasks_table.php index dd31b9fab214a56c0b5510d55eaa274b6d1d717d..14a9e7a15ce2cf83bde1c60d577447f9c4e3e688 100644 --- a/database/migrations/2019_02_19_140448_create_tasks_table.php +++ b/database/migrations/2019_02_19_140448_create_tasks_table.php @@ -19,7 +19,7 @@ class CreateTasksTable extends Migration $table->string('task_name'); $table->string('description')->default(""); $table->string('kanban_status')->index(); - $table->integer('complexity'); + $table->integer('work_hour'); $table->timestamps(); $table->foreign('group_id') diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 712c15a510fe68cbfacebf69357db07733d1404f..a19efefc6b768b1800c16b883bdea38c7b8697bc 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -10,7 +10,7 @@ class DatabaseSeeder extends Seeder */ public function run() { - $this->call(UsersTableSeeder::class); + // $this->call(UsersTableSeeder::class); $this->call(GroupsTableSeeder::class); $this->call(TasksTableSeeder::class); } diff --git a/routes/api.php b/routes/api.php index abfb33f88bb2bb6ab757221e656d640afed69d93..1a09b5662d5a644561dd3ef7867fa938f6a017dc 100644 --- a/routes/api.php +++ b/routes/api.php @@ -24,6 +24,7 @@ Route::post('/logout', 'UserController@logOut'); //User Route::get('/user/{userId}/groups', 'UserController@getGroups'); //Bisa //Ambil Group yang dipunyai user +Route::get('/user/email/{email}', 'UserController@getUserByEmail'); //Bisa //Ambil user dengan param email //Task @@ -54,5 +55,5 @@ Route::delete('/group/{groupId}/member/{userId}', 'GroupsMemberController@delete // Route::group(['middleware' => 'auth:api'], function() // { -// Route::resource('tasks','TaskController', ['except' => ['index', 'edit', 'create']]); +// Route::resource('tasks','TasksController', ['except' => ['index', 'edit', 'create']]); // }); \ No newline at end of file