only(['name', 'description']), 'guard_name' => 'api', ]); return $this->created(); } /** * Display the specified resource. */ public function show(string $id) { // } /** * Update the specified resource in storage. */ public function update(CreateOrUpdateRequest $request, string $id) { $role = Role::query()->findOrFail($id); $role->update($request->only([ 'name', 'description' ])); return $this->noContent(); } /** * Remove the specified resource from storage. */ public function destroy(string $id) { Role::destroy($id); return $this->noContent(); } public function permissions(string $id) { $role = Role::query()->findOrFail($id); return $this->success([ 'data' => $role->permissions?->pluck('name'), ]); } public function assignPermissions(string $id, Request $request) { $role = Role::query()->findOrFail($id); $role->syncPermissions($request->input('permissions', [])); return $this->noContent(); } }