diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 55c2c595..6946f7e3 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -64,26 +64,32 @@ class UserController extends Controller } /** - * Give credits to a user. + * * * @param Request $request * @param int $id * @return User */ - public function addCredits(Request $request, int $id) + public function increment(Request $request, int $id) { $discordUser = DiscordUser::find($id); $user = $discordUser ? $discordUser->user : User::findOrFail($id); $request->validate([ - "credits" => "required|numeric|min:0|max:1000000", - ]); - - if ($user->credits + $request->credits >= 99999999) throw ValidationException::withMessages([ - 'credits' => "You can't add this amount of credits because you would exceed the credit limit" + "credits" => "sometimes|numeric|min:0|max:1000000", + "server_limit" => "sometimes|numeric|min:0|max:1000000", ]); - $user->increment('credits', $request->credits); + if($request->credits){ + if ($user->credits + $request->credits >= 99999999) throw ValidationException::withMessages([ + 'credits' => "You can't add this amount of credits because you would exceed the credit limit" + ]); + $user->increment('credits', $request->credits); + } + + if($request->server_limit){ + $user->increment('server_limit', $request->server_limit); + } return $user; } diff --git a/routes/api.php b/routes/api.php index 3f475be8..7a1f8dae 100644 --- a/routes/api.php +++ b/routes/api.php @@ -17,7 +17,7 @@ use Illuminate\Support\Facades\Route; */ Route::middleware('api.token')->group(function () { - Route::patch('/users/{user}/addcredits', [UserController::class, 'addCredits']); + Route::patch('/users/{user}/increment', [UserController::class, 'increment']); Route::resource('users', UserController::class)->except(['store', 'create']); Route::patch('/servers/{server}/suspend', [ServerController::class, 'suspend']);