diff --git a/app/Http/Controllers/GroupsMemberController.php b/app/Http/Controllers/GroupsMemberController.php index 324c88b6f5d94f57c60b8338c622a24e72268b29..d3ad267200cad41bf69d025d6dd4195fccd301af 100644 --- a/app/Http/Controllers/GroupsMemberController.php +++ b/app/Http/Controllers/GroupsMemberController.php @@ -94,10 +94,12 @@ class GroupsMemberController extends Controller 'user_id' => $userId, ])->first(); if ($member) { - $member->fill([ - 'high_score' => $input['high_score'] - ]); - $member->save(); + if ($request->has('high_score') && $input['high_score']>$member->high_score) { + $member->fill([ + 'high_score' => $input['high_score'] + ]); + $member->save(); + } return response(json_encode([ 'statusMessage' => 'Success', @@ -134,4 +136,21 @@ class GroupsMemberController extends Controller 'high_score' => 'required' ]); } + + public function getHighScore(Request $request, $groupId, $userId) { + $member = GroupsMember::where([ + 'group_id' => $groupId, + 'user_id' => $userId, + ])->first(); + if ($member) { + return response(json_encode([ + 'statusMessage' => 'success', + 'data' => $member->high_score + ]), 200); + } else { + return response(json_encode([ + 'statusMessage' => 'Not Found' + ]), 404); + } + } } \ No newline at end of file diff --git a/routes/api.php b/routes/api.php index 31bae6d0d7cd2e70bb0192248fdc83f27a652bb7..c910aa2f2ceb027c80003ba3402014a73755757e 100644 --- a/routes/api.php +++ b/routes/api.php @@ -57,6 +57,7 @@ Route::delete('/group/{groupId}', 'GroupsController@delete'); Route::post('/group/member', 'GroupsMemberController@store'); //Bisa nambah Group Member Route::get('/group/{groupId}/members', 'GroupsMemberController@show'); //Bisa ambil seluruh member dari suatu group Route::put('/group/{groupId}/member/{userId}', 'GroupsMemberController@update'); +Route::get('/group/{groupId}/member/{userId}', 'GroupsMemberController@getHighScore'); Route::delete('/group/{groupId}/member/{userId}', 'GroupsMemberController@delete'); //Get History Group