diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php index e47ea695a16ca6ab647253eae527f4effdcc08d6..6f7c923cdfb88032214d4737a511c0db54465eec 100644 --- a/app/Http/Controllers/TaskController.php +++ b/app/Http/Controllers/TaskController.php @@ -133,10 +133,10 @@ class TaskController extends Controller public function getTasksFromGroupId(Request $req, $groupId) { - $tasks = Group::find($groupId)->tasks; + $tasks = Task::where('group_id', $groupId)->get(); return response(json_encode([ 'data' => $tasks->toArray(), 'statusMessage' => 'success' - ]), 400); + ]), 200); } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 98cc4cf80c45e2f70937a88790c58d3507f90178..a9fce09de34fb8f3487d3bd52eb6b077f9c5881c 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -69,4 +69,11 @@ class UserController extends Controller 'statusMessage'=> "success", ]), 200); } + + public function getGroups($userId){ + return response(json_encode([ + 'data' => User::getGroups($userId)->toArray(), + 'statusMessage'=> "success", + ]), 200); + } } diff --git a/app/User.php b/app/User.php index d9f93fa7e28f76b9f26bb078e7d970660eaf4f0e..70c22cb34f359599ffc0451cae09dee84cd1da79 100644 --- a/app/User.php +++ b/app/User.php @@ -6,6 +6,10 @@ use Illuminate\Notifications\Notifiable; use Laravel\Passport\HasApiTokens; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; +use Nexmo\Network\Number\Request; +use App\GroupMember; +use Illuminate\Support\Facades\App; +use Illuminate\Support\Facades\DB; class User extends Authenticatable { @@ -37,4 +41,9 @@ class User extends Authenticatable protected $casts = [ 'email_verified_at' => 'datetime', ]; + + public static function getGroups($userId) { + $groups = DB::table('group_member')->select('user_id','high_score','groups.created_at','groups.updated_at','id', 'group_name','description')->join('groups','group_member.group_id','=','groups.id')->where('user_id',$userId)->get(); + return $groups; + } } diff --git a/routes/api.php b/routes/api.php index 7c19d5a13df19810a4e54ea88686602fcf3425f8..2cd2d088d9fabaa138b83df9ab7705da65d05de0 100644 --- a/routes/api.php +++ b/routes/api.php @@ -22,6 +22,10 @@ Route::post('/login', 'UserController@generateToken'); Route::post('/logout', 'UserController@logOut'); +//User +Route::get('/user/{userId}/groups', 'UserController@getGroups'); + + //Task Route::post('/tasks', 'TaskController@store'); Route::get('/tasks/{taskId}', 'TaskController@show'); @@ -33,7 +37,7 @@ Route::delete('/task_member', 'TasksMemberController@removeMember'); Route::post('/task_member', 'TasksMemberController@addMember'); //Get Group Task -Route::get('/group/{groupId}/tasks', 'TaskController@getTasksFromGroup'); +Route::get('/group/{groupId}/tasks', 'TaskController@getTasksFromGroupId'); //Group Route::post('/group', 'GroupController@store');