nexus clients

This commit is contained in:
xiaomlove
2021-04-21 00:07:32 +08:00
parent be9b8634c4
commit c7a6616618
23 changed files with 897 additions and 31 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Http\Requests\AgentAllowRequest;
use App\Http\Resources\AgentAllowResource;
use App\Models\AgentAllow;
use Illuminate\Http\Request;
@@ -24,11 +25,13 @@ class AgentAllowController extends Controller
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
* @return array
*/
public function store(Request $request)
public function store(AgentAllowRequest $request)
{
//
$result = AgentAllow::query()->create($request->all());
$resource = new AgentAllowResource($result);
return success('agent allow store', $resource);
}
/**
@@ -47,21 +50,26 @@ class AgentAllowController extends Controller
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
* @return array
*/
public function update(Request $request, $id)
{
//
$result = AgentAllow::query()->findOrFail($id);
$result->update($request->all());
$resource = new AgentAllowResource($result);
return success('agent allow update', $resource);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
* @return array
*/
public function destroy($id)
{
//
$result = AgentAllow::query()->findOrFail($id);
$success = $result->delete();
return success('agent allow delete', $success);
}
}

View File

@@ -0,0 +1,70 @@
<?php
namespace App\Http\Controllers;
use App\Http\Resources\UserResource;
use App\Models\User;
use App\Repositories\UserRepository;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return array
*/
public function index(Request $request)
{
$result = (new UserRepository())->getList($request->all());
$resource = UserResource::collection($result);
return success('user list', $resource);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function store(Request $request)
{
$result = (new UserRepository())->store($request->all());
$resource = new UserResource($result);
return success('user store', $resource);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return array
*/
public function update(Request $request, $id)
{
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return array
*/
public function destroy($id)
{
}
}

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AgentAllowRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'family' => 'required|string',
'start_name' => 'required|string',
'peer_id_pattern' => 'required|string',
'peer_id_match_num' => 'required|numeric',
'peer_id_matchtype' => 'required|in:hex,dec',
'peer_id_start' => 'required|string',
'agent_pattern' => 'required|string',
'agent_match_num' => 'required|numeric',
'agent_matchtype' => 'required|in:hex,dec',
'agent_start' => 'required|string',
'exception' => 'required|in:yes,no',
'allowhttps' => 'required|in:yes,no',
];
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class UserResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'username' => $this->username,
'uploaded' => $this->uploaded,
'downloaded' => $this->downloaded,
];
}
}