Skip to content

Commit 30b611a

Browse files
committed
refactor: order http files by application
1 parent 01c8c27 commit 30b611a

File tree

10 files changed

+115
-14
lines changed

10 files changed

+115
-14
lines changed

app/Http/Controllers/Api/NotesController.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
use App\Domain\Notes\Dtos\UpdateNoteData;
99
use App\Domain\Notes\Exceptions\NoteExceptions;
1010
use App\Domain\Subscriptions\Exceptions\SubscriptionExceptions;
11-
use App\Http\Controllers\Controller;
12-
use App\Http\Controllers\NoteResource;
13-
use App\Http\Requests\UpdateNoteRequest;
1411
use App\Domain\Notes\Models\Note;
1512
use App\Domain\Users\Models\User;
13+
use App\Http\Requests\Api\StoreNoteRequest;
14+
use App\Http\Requests\Api\UpdateNoteRequest;
15+
use App\Http\Resources\Api\NoteResource;
1616
use Illuminate\Http\JsonResponse;
1717
use Illuminate\Http\Request;
18-
use App\Http\Requests\StoreNoteRequest;
18+
use Inertia\Controller;
1919

2020
class NotesController extends Controller
2121
{

app/Http/Controllers/NotesController.php renamed to app/Http/Controllers/Web/NotesController.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
<?php
22

3-
namespace App\Http\Controllers;
3+
namespace App\Http\Controllers\Web;
44

55
use App\Domain\Notes\Actions\StoreNoteAction;
66
use App\Domain\Notes\Actions\UpdateNoteAction;
77
use App\Domain\Notes\Dtos\StoreNoteData;
88
use App\Domain\Notes\Dtos\UpdateNoteData;
99
use App\Domain\Notes\Exceptions\NoteExceptions;
1010
use App\Domain\Subscriptions\Exceptions\SubscriptionExceptions;
11-
use App\Http\Requests\UpdateNoteRequest;
1211
use App\Domain\Notes\Models\Note;
1312
use App\Domain\Users\Models\User;
13+
use App\Http\Controllers\Controller;
14+
use App\Http\Requests\Web\StoreNoteRequest;
15+
use App\Http\Requests\Web\UpdateNoteRequest;
1416
use Illuminate\Http\RedirectResponse;
1517
use Inertia\Inertia;
1618
use Illuminate\Http\Request;
17-
use App\Http\Requests\StoreNoteRequest;
1819
use Inertia\Response;
1920

2021
class NotesController extends Controller

app/Http/Requests/StoreNoteRequest.php renamed to app/Http/Requests/Api/StoreNoteRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace App\Http\Requests;
3+
namespace App\Http\Requests\Api;
44

55
use Illuminate\Foundation\Http\FormRequest;
66
use Illuminate\Support\Facades\Auth;

app/Http/Requests/UpdateNoteRequest.php renamed to app/Http/Requests/Api/UpdateNoteRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace App\Http\Requests;
3+
namespace App\Http\Requests\Api;
44

55
use App\Domain\Notes\Models\Note;
66
use Illuminate\Foundation\Http\FormRequest;
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<?php
2+
3+
namespace App\Http\Requests\Web;
4+
5+
use Illuminate\Foundation\Http\FormRequest;
6+
use Illuminate\Support\Facades\Auth;
7+
use Illuminate\Validation\Rule;
8+
9+
class StoreNoteRequest extends FormRequest
10+
{
11+
/**
12+
* Determine if the user is authorized to make this request.
13+
*
14+
* @return bool
15+
*/
16+
public function authorize()
17+
{
18+
return true;
19+
}
20+
21+
/**
22+
* Get the validation rules that apply to the request.
23+
*
24+
* @return array
25+
*/
26+
public function rules()
27+
{
28+
/** @var int $authUserId */
29+
$authUserId = Auth::id();
30+
31+
return [
32+
'title' => [
33+
'bail',
34+
'required',
35+
'string',
36+
'max:40',
37+
'min:6',
38+
Rule::unique('notes')
39+
->where('user_id', $authUserId)
40+
],
41+
'content' => [
42+
'bail',
43+
'required',
44+
'string',
45+
'min:20'
46+
],
47+
];
48+
}
49+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
3+
namespace App\Http\Requests\Web;
4+
5+
use App\Domain\Notes\Models\Note;
6+
use Illuminate\Foundation\Http\FormRequest;
7+
use Illuminate\Support\Facades\Auth;
8+
use Illuminate\Validation\Rule;
9+
10+
class UpdateNoteRequest extends FormRequest
11+
{
12+
/**
13+
* Determine if the user is authorized to make this request.
14+
*
15+
* @return bool
16+
*/
17+
public function authorize()
18+
{
19+
return true;
20+
}
21+
22+
/**
23+
* Get the validation rules that apply to the request.
24+
*
25+
* @return array
26+
*/
27+
public function rules()
28+
{
29+
/** @var int $authUserId */
30+
$authUserId = Auth::id();
31+
/** @var Note $note */
32+
$note = $this->route('note');
33+
34+
return [
35+
'title' => [
36+
'bail',
37+
'nullable',
38+
'string',
39+
'max:40',
40+
'min:6',
41+
Rule::unique('notes')
42+
->where('user_id', $authUserId)
43+
->ignoreModel($note)
44+
],
45+
'content' => [
46+
'bail',
47+
'nullable',
48+
'string',
49+
'min:20'
50+
],
51+
];
52+
}
53+
}

app/Http/Controllers/NoteResource.php renamed to app/Http/Resources/Api/NoteResource.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace App\Http\Controllers;
3+
namespace App\Http\Resources\Api;
44

55
use App\Domain\Notes\Models\Note;
66
use Illuminate\Http\Resources\Json\JsonResource;
@@ -15,7 +15,6 @@ public function toArray($request): array
1515
return [
1616
'id' => $this->id,
1717
'title' => $this->title,
18-
'excerpt' => $this->excerpt,
1918
'content' => $this->content,
2019
'created_at' => $this->created_at,
2120
'updated_at' => $this->updated_at,

routes/web.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?php
22

3+
use App\Http\Controllers\Web\NotesController;
34
use Illuminate\Foundation\Application;
45
use Illuminate\Support\Facades\Route;
56
use Inertia\Inertia;
@@ -28,5 +29,5 @@
2829
return Inertia::render('Dashboard');
2930
})->name('dashboard');
3031

31-
Route::resource('notes', App\Http\Controllers\NotesController::class)
32+
Route::resource('notes', NotesController::class)
3233
->middleware(['auth:sanctum', 'note.logged.user']);

tests/Feature/Http/Controllers/Api/Notes/IndexNotesControllerTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public function test_index_notes()
3434
'*' => [
3535
'id',
3636
'title',
37-
'excerpt',
3837
'content',
3938
'created_at',
4039
'updated_at',

tests/Feature/Http/Controllers/Api/Notes/ShowNoteControllerTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public function test_show()
4040
$data->where('id', $this->note->id)
4141
->where('title', $this->note->title)
4242
->where('content', $this->note->content)
43-
->where('excerpt', $this->note->excerpt)
4443
->has('created_at')
4544
->has('updated_at');
4645
})->etc();

0 commit comments

Comments
 (0)