From 8de8c459a04e1dceae166e6ad32f793221d8b2c9 Mon Sep 17 00:00:00 2001
From: W <W>
Date: Mon, 18 Mar 2019 20:15:20 +0700
Subject: [PATCH] adding

---
 .../Controllers/GroupsMemberController.php    | 27 ++++++++++++++++---
 routes/api.php                                |  1 +
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/app/Http/Controllers/GroupsMemberController.php b/app/Http/Controllers/GroupsMemberController.php
index 324c88b..d3ad267 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 31bae6d..c910aa2 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
-- 
GitLab