增加 流量操作
This commit is contained in:
parent
694fb378f0
commit
7ccb4afe3a
70
app/Http/Controllers/Application/UserController.php
Normal file
70
app/Http/Controllers/Application/UserController.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Application;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(User $user)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, User $user)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(User $user)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function addTraffic(Request $request, User $user)
|
||||
{
|
||||
$request->validate([
|
||||
'traffic' => 'required|numeric|min:1'
|
||||
]);
|
||||
|
||||
$traffic = $request->input('traffic');
|
||||
|
||||
Cache::lock('user_traffic_' . $user->id)->get(function () use ($user, $traffic) {
|
||||
$user->update([
|
||||
'traffic' => $user->traffic + $traffic
|
||||
]);
|
||||
});
|
||||
|
||||
return response()->json([
|
||||
'message' => 'success',
|
||||
]);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
namespace App\Http;
|
||||
|
||||
use App\Http\Middleware\Admin;
|
||||
use App\Http\Middleware\ApiToken;
|
||||
use App\Http\Middleware\Authenticate;
|
||||
use App\Http\Middleware\EncryptCookies;
|
||||
use App\Http\Middleware\PreventRequestsDuringMaintenance;
|
||||
@ -87,6 +88,6 @@ class Kernel extends HttpKernel
|
||||
'signed' => ValidateSignature::class,
|
||||
'throttle' => ThrottleRequests::class,
|
||||
'verified' => EnsureEmailIsVerified::class,
|
||||
'admin' => Admin::class,
|
||||
'api_token' => ApiToken::class,
|
||||
];
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
use App\Http\Controllers\Api\ServerController;
|
||||
use App\Http\Controllers\Api\TunnelController;
|
||||
use App\Http\Controllers\Api\PortManagerController;
|
||||
|
||||
use App\Http\Controllers\Application\UserController as ApplicationUserController;
|
||||
|
||||
Route::prefix('tunnel')->name('api.tunnel.')->group(function () {
|
||||
Route::post('/handler/{key}', [PortManagerController::class, 'handler'])->name('handler');
|
||||
@ -19,3 +19,8 @@
|
||||
Route::post('tunnels/{tunnel}/close', [TunnelController::class, 'close']);
|
||||
Route::apiResource('servers', ServerController::class);
|
||||
});
|
||||
|
||||
Route::prefix('application')->name('application.')->middleware('api_token')->group(function () {
|
||||
Route::post('users/{user}/traffic', [ApplicationUserController::class, 'addTraffic']);
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user