diff --git a/app/Http/Controllers/Remote/Host/DropController.php b/app/Http/Controllers/Remote/Host/DropController.php deleted file mode 100644 index 685b245..0000000 --- a/app/Http/Controllers/Remote/Host/DropController.php +++ /dev/null @@ -1,21 +0,0 @@ -validate([ - 'managed_price' => 'sometimes|numeric|max:1000|nullable', - ]); - - $host->managed_price = $request->managed_price; - $host->save(); - - return $this->updated($host); - } -} diff --git a/app/Http/Controllers/Remote/Host/HostController.php b/app/Http/Controllers/Remote/Host/HostController.php index bd5bb91..e373665 100644 --- a/app/Http/Controllers/Remote/Host/HostController.php +++ b/app/Http/Controllers/Remote/Host/HostController.php @@ -17,7 +17,7 @@ class HostController extends Controller public function index() { // - Host::all(); + // Host::all(); } /** @@ -28,13 +28,8 @@ public function index() */ public function store(Request $request) { - // 保存服务器 - $request->validate([ - 'name' => 'required|string', - 'ip' => 'sometimes|ip', - // status only allow online or offline - 'status' => 'required|in:online,offline,maintenance', - ]); + // 存储计费项目 + } /** diff --git a/app/Http/Controllers/Remote/ModuleController.php b/app/Http/Controllers/Remote/ModuleController.php index 6966691..d0302fe 100644 --- a/app/Http/Controllers/Remote/ModuleController.php +++ b/app/Http/Controllers/Remote/ModuleController.php @@ -14,12 +14,14 @@ public function index() return $this->success(auth('remote')->user()); } - public function call(Request $request, Module $module, $func) + public function call(Request $request, Module $module) { $request->validate([ 'func' => 'required|string' ]); + $func = $request->func; + // 不能让 func 的首个字符为 / if (Str::startsWith($func, '/')) { $func = substr($func, 1); diff --git a/app/Models/Host.php b/app/Models/Host.php index 745c439..2b6cb18 100644 --- a/app/Models/Host.php +++ b/app/Models/Host.php @@ -110,41 +110,49 @@ public function cost($price = null) return true; } + /** + * 创建主机 + * + * 在此之后,所有的主机都将由 module 创建,并且主机的数据仅被用作计费。 + * + * 废弃 + * @deprecated + */ // on create - protected static function boot() - { - parent::boot(); + // protected static function boot() + // { + // parent::boot(); - static::creating(function ($model) { - // if sanctum - if (auth('sanctum')->check()) { - $model->user_id = auth('sanctum')->id(); - } else { - // if user_id is null - // check user_id is exists - throw_if(!User::find($model->user_id), CommonException::class, 'user is not exists'); - } + // // static::creating(function ($model) { + // // // if sanctum + // // // if (auth('sanctum')->check()) { + // // // $model->user_id = auth('sanctum')->id(); + // // // } else { + // // // // if user_id is null + // // // // check user_id is exists + // // // throw_if(!User::find($model->user_id), CommonException::class, 'user is not exists'); + // // // } - // set price to 0 - $model->price = 0; + // // // // set price to 0 + // // // $model->price = 0; - // $model->load('module'); - // $model->module->load(['provider', 'module']); + // // // $model->load('module'); + // // // $model->module->load(['provider', 'module']); - // add to queue + // // // add to queue - }); + // // }); - // when Updated - static::updated(function ($model) { - dispatch(new \App\Jobs\Remote\Host($model, 'put')); - }); + // // when Updated + // static::updated(function ($model) { + // dispatch(new \App\Jobs\Remote\Host($model, 'put')); + // }); - // when delete - static::deleting(function ($model) { - // return false; + // // when delete + // static::deleting(function ($model) { + // // return false; - dispatch(new \App\Jobs\Remote\Host($model, 'delete')); - }); - } + // dispatch(new \App\Jobs\Remote\Host($model, 'delete')); + // }); + // } } diff --git a/routes/api.php b/routes/api.php index 58bd5a3..15b4fd1 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,23 +1,25 @@ middleware(['api', 'auth:sanctum'])->group(function () { - // Route::apiResource('users', Controllers\User\UserController::class); + Route::apiResource('users', UserController::class); - Route::apiResource('drops', User\DropController::class); + Route::apiResource('drops', DropController::class); Route::get('tasks', [TaskController::class, 'index']); - Route::apiResource('work-orders', User\WorkOrder\WorkOrderController::class); - Route::apiResource('work-orders.replies', User\WorkOrder\ReplyController::class); + Route::apiResource('work-orders', WorkOrderController::class); + Route::apiResource('work-orders.replies', ReplyController::class); // 调用远程 API // Route::post('hosts/{host}/func/{func}', [Remote\CallController::class, 'host'])->name('host.call'); - Route::post('/modules/{module}', [Remote\ModuleController::class, 'call'])->name('module.call'); + Route::post('/modules/{module}', [ModuleController::class, 'call'])->name('module.call'); }); diff --git a/routes/remote.php b/routes/remote.php index 8759102..1dfef11 100644 --- a/routes/remote.php +++ b/routes/remote.php @@ -7,7 +7,7 @@ Route::apiResource('modules', Remote\ModuleController::class)->only(['index']); Route::apiResource('servers', Remote\ServerController::class); Route::apiResource('hosts', Remote\Host\HostController::class); - Route::patch('hosts/{host}', [Remote\Host\DropController::class, 'update']); + // Route::patch('hosts/{host}', [Remote\Host\DropController::class, 'update']); // Route::patch('tasks', Remote\Host\TaskController::class); Route::apiResource('tasks', Remote\Host\TaskController::class);