Skip to content

Commit 2bc3acd

Browse files
authored
Merge pull request laravel#31 from Artisans-PXM/fetch_request
2 parents f292c6c + 929948e commit 2bc3acd

26 files changed

+247
-35
lines changed

app/Http/Controllers/Api/CompanyController.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public function __invoke(CheckCredentialsRequest $request): AnonymousResourceCol
2222
{
2323
$validatedData = $request->validated();
2424

25-
$companies = $this->companyQueries->listQuery($validatedData['user']);
25+
$companies = $this->companyQueries->listQuery($request, $validatedData['user']);
2626

2727
return CompanyResource::collection($companies);
2828
}

app/Http/Controllers/Api/CurrencyController.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use App\Http\Controllers\Controller;
88
use App\Http\Requests\Api\CurrencyRequest;
9+
use App\Http\Requests\Api\FetchCurrencyRequest;
910
use App\Http\Resources\Api\CurrencyResource;
1011
use App\Queries\CurrencyQueries;
1112
use Illuminate\Http\JsonResponse;
@@ -18,9 +19,11 @@ public function __construct(
1819
) {
1920
}
2021

21-
public function fetch(): AnonymousResourceCollection
22+
public function fetch(FetchCurrencyRequest $request): AnonymousResourceCollection
2223
{
23-
$currencies = $this->currencyQueries->listQuery();
24+
$request->validated();
25+
26+
$currencies = $this->currencyQueries->listQuery($request);
2427

2528
return CurrencyResource::collection($currencies);
2629
}

app/Http/Controllers/Api/HierarchyController.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace App\Http\Controllers\Api;
66

77
use App\Http\Controllers\Controller;
8+
use App\Http\Requests\Api\FetchHierarchyRequest;
89
use App\Http\Requests\Api\HierarchyRequest;
910
use App\Http\Resources\Api\HierarchyResource;
1011
use App\Queries\HierarchyQueries;
@@ -19,9 +20,11 @@ public function __construct(
1920

2021
}
2122

22-
public function fetch(): AnonymousResourceCollection
23+
public function fetch(FetchHierarchyRequest $request): AnonymousResourceCollection
2324
{
24-
$hierarchies = $this->hierarchyQueries->listQuery();
25+
$request->validated();
26+
27+
$hierarchies = $this->hierarchyQueries->listQuery($request);
2528

2629
return HierarchyResource::collection($hierarchies);
2730
}

app/Http/Controllers/Api/LocaleController.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
namespace App\Http\Controllers\Api;
66

77
use App\Http\Controllers\Controller;
8+
use App\Http\Requests\Api\FetchLocaleRequest;
89
use App\Http\Requests\Api\LocaleRequest;
910
use App\Http\Resources\Api\LocaleResource;
1011
use App\Queries\LocaleQueries;
1112
use Illuminate\Http\JsonResponse;
12-
use Illuminate\Http\Request;
1313
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
1414

1515
class LocaleController extends Controller
@@ -20,9 +20,11 @@ public function __construct(
2020

2121
}
2222

23-
public function fetch(Request $request): AnonymousResourceCollection
23+
public function fetch(FetchLocaleRequest $request): AnonymousResourceCollection
2424
{
25-
$locales = $this->localeQueries->listQuery();
25+
$request->validated();
26+
27+
$locales = $this->localeQueries->listQuery($request);
2628

2729
return LocaleResource::collection($locales);
2830
}

app/Http/Controllers/Api/PriceBookController.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace App\Http\Controllers\Api;
66

77
use App\Http\Controllers\Controller;
8+
use App\Http\Requests\Api\FetchPriceBookRequest;
89
use App\Http\Requests\Api\PriceBookRequest;
910
use App\Http\Resources\Api\PriceBookResource;
1011
use App\Queries\PriceBookQueries;
@@ -19,9 +20,11 @@ public function __construct(
1920

2021
}
2122

22-
public function fetch(): AnonymousResourceCollection
23+
public function fetch(FetchPriceBookRequest $request): AnonymousResourceCollection
2324
{
24-
$priceBooks = $this->priceBookQueries->listQuery();
25+
$request->validated();
26+
27+
$priceBooks = $this->priceBookQueries->listQuery($request);
2528

2629
return PriceBookResource::collection($priceBooks);
2730
}

app/Http/Controllers/Api/RoleController.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace App\Http\Controllers\Api;
66

77
use App\Http\Controllers\Controller;
8+
use App\Http\Requests\Api\FetchRoleRequest;
89
use App\Http\Requests\Api\RoleRequest;
910
use App\Http\Resources\Api\RoleResource;
1011
use App\Queries\RoleQueries;
@@ -19,9 +20,11 @@ public function __construct(
1920

2021
}
2122

22-
public function fetch(): AnonymousResourceCollection
23+
public function fetch(FetchRoleRequest $request): AnonymousResourceCollection
2324
{
24-
$roles = $this->roleQueries->listQuery();
25+
$request->validated();
26+
27+
$roles = $this->roleQueries->listQuery($request);
2528

2629
return RoleResource::collection($roles);
2730
}

app/Http/Controllers/Api/TemplateController.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace App\Http\Controllers\Api;
66

77
use App\Http\Controllers\Controller;
8+
use App\Http\Requests\Api\FetchTemplateRequest;
89
use App\Http\Requests\Api\TemplateRequest;
910
use App\Http\Resources\Api\TemplateResource;
1011
use App\Queries\TemplateQueries;
@@ -19,9 +20,11 @@ public function __construct(
1920

2021
}
2122

22-
public function fetch(): AnonymousResourceCollection
23+
public function fetch(FetchTemplateRequest $request): AnonymousResourceCollection
2324
{
24-
$templates = $this->templateQueries->listQuery();
25+
$request->validated();
26+
27+
$templates = $this->templateQueries->listQuery($request);
2528

2629
return TemplateResource::collection($templates);
2730
}

app/Http/Controllers/Api/UserController.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace App\Http\Controllers\Api;
66

77
use App\Http\Controllers\Controller;
8+
use App\Http\Requests\Api\FetchUserRequest;
89
use App\Http\Requests\Api\UserRequest;
910
use App\Http\Resources\Api\UserResource;
1011
use App\Queries\UserQueries;
@@ -19,9 +20,11 @@ public function __construct(
1920

2021
}
2122

22-
public function fetch(string $roleId = null): AnonymousResourceCollection
23+
public function fetch(FetchUserRequest $request, string $roleId = null): AnonymousResourceCollection
2324
{
24-
$users = $this->userQueries->listQuery($roleId);
25+
$request->validated();
26+
27+
$users = $this->userQueries->listQuery($request, $roleId);
2528

2629
return UserResource::collection($users);
2730
}

app/Http/Requests/Api/AttributeRequest.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@
1010
use Illuminate\Validation\Rule;
1111
use Illuminate\Validation\Rules\Exists;
1212
use Illuminate\Validation\Rules\RequiredIf;
13+
use Illuminate\Validation\Rules\Unique;
1314

1415
class AttributeRequest extends FormRequest
1516
{
1617
/**
1718
* Get the validation rules that apply to the request.
1819
*
19-
* @return array<string, (array<int, (Exists | RequiredIf | string)> | null)>
20+
* @return array<string, (array<int, (Exists | RequiredIf | string | Unique)> | null)>
2021
*/
2122
public function rules(): array
2223
{
@@ -31,7 +32,7 @@ public function rules(): array
3132
'required',
3233
'string',
3334
'max:255',
34-
Rule::unique('attributes', 'name')->ignore($attributeId)->where('template_id', $this->template_id)
35+
Rule::unique('attributes', 'name')->ignore($attributeId)->where('template_id', $this->template_id),
3536
],
3637
'template_id' => ['required', Rule::exists('templates', 'id')->where('company_id', app('company_id'))],
3738
'description' => ['nullable', 'string'],

app/Http/Requests/Api/CheckCredentialsRequest.php

+4
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ public function rules(): array
2626
return [
2727
'email' => ['required', 'email'],
2828
'password' => ['required'],
29+
'filter' => ['sometimes', 'array', 'max:2'],
30+
'filter.name' => ['sometimes', 'string', 'max:255'],
31+
'filter.email' => ['sometimes', 'string', 'email'],
32+
'sort' => ['sometimes', 'string'],
2933
];
3034
}
3135

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchCurrencyRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'array', 'max:2'],
21+
'filter.code' => ['sometimes', 'string', 'max:255'],
22+
'filter.format' => ['sometimes', 'string', 'max:255'],
23+
'sort' => ['sometimes', 'string'],
24+
];
25+
}
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchHierarchyRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'array', 'max:2'],
21+
'filter.name' => ['sometimes', 'string', 'max:255'],
22+
'filter.id' => ['sometimes', 'string', 'uuid'],
23+
'sort' => ['sometimes', 'string'],
24+
];
25+
}
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchLocaleRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'array', 'max:2'],
21+
'filter.*' => ['sometimes', 'string', 'max:255'],
22+
'sort' => ['sometimes', 'string'],
23+
];
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchPriceBookRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'string', 'max:1', 'required_array_keys:name'],
21+
'filter.name' => ['required_with:filter', 'string', 'max:255'],
22+
'sort' => ['sometimes', 'string'],
23+
];
24+
}
25+
}
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchRoleRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'array', 'max:1', 'required_array_keys:name'],
21+
'filter.name' => ['required_with:filter', 'string', 'max:255'],
22+
'sort' => ['sometimes', 'string'],
23+
];
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchTemplateRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'array', 'max:1', 'required_array_keys:name'],
21+
'filter.name' => ['required_with:filter', 'string', 'max:255'],
22+
'sort' => ['sometimes', 'string'],
23+
];
24+
}
25+
}
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Requests\Api;
6+
7+
use Illuminate\Contracts\Validation\ValidationRule;
8+
use Illuminate\Foundation\Http\FormRequest;
9+
10+
class FetchUserRequest extends FormRequest
11+
{
12+
/**
13+
* Get the validation rules that apply to the request.
14+
*
15+
* @return array<string, (ValidationRule | array<int, string> | string)>
16+
*/
17+
public function rules(): array
18+
{
19+
return [
20+
'filter' => ['sometimes', 'array', 'max:4'],
21+
'filter.*' => ['sometimes', 'string', 'max:255'],
22+
'filter.email' => ['email'],
23+
'sort' => ['sometimes', 'string'],
24+
];
25+
}
26+
}

0 commit comments

Comments
 (0)