控制器功能:
public function index () {
// TESTED
// The getAllActiveSuppliers() function just return Supplier::pagniate(10)
$suppliers = $this -> model -> getAllActiveSuppliers();
return new SupplierResource($suppliers);
}
Run Code Online (Sandbox Code Playgroud)
返回的Json:
{
"current_page": 1,
"data": [
{
"id": 23,
"name": "Test Name",
"description": "Test Description",
"created_by": {
"id": 1,
"name": "Test 1",
"email": "admin@admin.com",
"email_verified_at": null,
"active": 1,
"created_at": "2018-10-12 14:17:38",
"updated_at": "2018-10-12 14:17:38"
},
"updated_by": {
"id": 1,
"name": "Test 1",
"email": "admin@admin.com",
"email_verified_at": null,
"active": 1,
"created_at": "2018-10-12 14:17:38",
"updated_at": "2018-10-12 14:17:38" …Run Code Online (Sandbox Code Playgroud) 我有一个函数可以检查用户是否拥有权限并返回Boolean。
问题是
我如何检查每个功能用户是否拥有权限。例如在用户控制器中我有两个功能:
指数():
public function index () {
if(Auth::user() -> hasPermissionTo('show all users')) {
// continue for API
} else {
// response with error for API
}
}
Run Code Online (Sandbox Code Playgroud)
我知道有更好的方法来做到这一点,因为我不想在所有函数中重复这个 if 语句。
我尝试做的事情:
我尝试创建一个辅助函数来检查用户是否具有权限,并在用户没有权限时返回响应错误。并在每个函数中调用它,但它不起作用。
辅助函数代码:
if(!function_exists('userHasPermission')) {
function userHasPermission ($permission) {
$main_permission = 'do everything';
if (!Auth::user() -> hasPermissionTo($main_permission) || !Auth::user() -> hasPermissionTo($permission)) {
$res = trans('api_responses.authorization_failed');
return Response::json([
'message' => $res['message'],
'code' => $res['code']
], $res['code']);
}
}
}
Run Code Online (Sandbox Code Playgroud)
索引函数调用
public …Run Code Online (Sandbox Code Playgroud) 我创建了一个 PWA 应用程序,它工作正常。
问题是:
用户在桌面上安装 PWA,它工作正常,但在关闭并重新打开后显示空白页面。
同样在移动设备上,它在将网站添加到主页后显示空白页面。
var deferredPrompt;
关联
ProductsRequest.php代码:
public function rules()
{
return [
'name' => 'required
|min:'.trans('validation_standards.names.min').'
|max:'.trans('validation_standards.names.max').'
|unique:products,name,'.$this -> product_id,
'barcode' => 'size:'.trans('validation_standards.barcode.size').'
|unique:products,barcode,'.$this -> product_id,
'category_id' => 'required
|exists:categories,id',
'seasons_id' => 'required
|exists:seasons,id',
// REQUIRED IMAGE ONLY IN STORE
'image' => 'required
|image|mimes:'.trans('validation_standards.images.extensions').'
|max:'.trans('validation_standards.images.file_size'),
'description' => 'nullable
|min:'.trans('validation_standards.descriptions.min').'
|max:'.trans('validation_standards.descriptions.max'),
];
}
Run Code Online (Sandbox Code Playgroud)
这些规则适用于存储和更新方法。
问题是:
我希望图像仅在商店中需要,而在更新中不需要,因为用户只需更新产品基本信息,而无需在每次更新产品时为产品选择新图像。
我尝试过的:
我尝试创建两个不同的ProductsRequest 一个用于存储,另一个用于更新,但我知道这个成就不是最好的成就,因为我的代码必须是 DRY 的。