validate([ 'name' => 'required|string|unique:permissions', ]); if ($permission = Permission::create([ 'name' => $request->name, 'guard_name' => 'web' ])) { return redirect()->back()->with('success', __( 'permission `:name` has been created', [ 'name' => $permission->name, ] )); } return redirect()->back()->with('error', __( 'can\'t create permission' )); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Permission $permission * @return \Illuminate\Http\Response */ public function update(Request $request, Permission $permission) { $request->validate([ 'name' => ['required', 'string', Rule::unique('permissions')->ignore($permission->id)] ]); if ($permission->update(['name' => $request->name])) { return redirect()->back()->with('success', __( 'permission has been updated', )); } return redirect()->back()->with('error', __( 'can\'t update permission' )); } /** * Remove the specified resource from storage. * * @param \App\Models\Permission $permission * @return \Illuminate\Http\Response */ public function destroy(Permission $permission) { if ($permission->delete()) { return redirect()->back()->with('success', __( 'permission has been deleted' )); } return redirect()->back()->with('error', __( 'can\'t delete permission' )); } }