cache = Cache::tags(['remote']); // // 临时修改 prefix // $this->cache->setPrefix('remote_' . auth('remote')->id()); // } // public function all() { // return $this->cache->get('servers', function () { // return []; // }); // } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // // // $servers = $this->cache->get('servers', function () { // return []; // }); $servers = Status::module()->get(); return $this->success($servers); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request, Status $server) { // $request->validate([ 'name' => 'required|string', 'ip' => 'sometimes|ip', // status only allow online or offline 'status' => 'required|in:online,offline,maintenance', ]); $server = $server->create([ 'name' => $request->name, 'ip' => $request->ip, 'status' => $request->status, 'module_id' => auth('remote')->id() ]); return $this->success($server); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(StatusRequest $request, Status $server) { // only allow name,ip,status $request->validate([ 'name' => 'sometimes|string', 'ip' => 'sometimes|ip', 'status' => 'sometimes|in:online,offline,maintenance', ]); $server->update($request->only(['name', 'ip', 'status'])); return $this->updated($server); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Status $status) { // delete $status->provider()->delete(); return $this->deleted(); } }