22
33namespace App \Http \Controllers ;
44
5- use App \Http \Requests \ContactStoreRequest ;
65use App \Http \Resources \ContactResource ;
76use App \Interfaces \ContactServiceInterface ;
87use App \Interfaces \UserServiceInterface ;
8+ use App \Models \User ;
9+ use Illuminate \Contracts \Foundation \Application ;
10+ use Illuminate \Http \RedirectResponse ;
911use Illuminate \Http \Request ;
12+ use Illuminate \Http \Resources \Json \AnonymousResourceCollection ;
13+ use Illuminate \Routing \Redirector ;
1014use Illuminate \Support \Facades \Auth ;
1115
1216class ContactController extends Controller
1317{
14- /**
15- * @var ContactServiceInterface
16- */
1718 private ContactServiceInterface $ service ;
1819
19- /**
20- * @var UserServiceInterface
21- */
2220 private UserServiceInterface $ userService ;
2321
2422 /**
2523 * ContactController constructor.
26- *
27- * @param ContactServiceInterface $service
28- * @param UserServiceInterface $userService
2924 */
3025 public function __construct (ContactServiceInterface $ service , UserServiceInterface $ userService )
3126 {
@@ -36,11 +31,11 @@ public function __construct(ContactServiceInterface $service, UserServiceInterfa
3631 /**
3732 * Returns user by id.
3833 *
39- * @param string $id
4034 * @return ContactResource
4135 */
4236 public function show (string $ id )
4337 {
38+ /** @var User $user */
4439 $ user = Auth::user ();
4540
4641 return new ContactResource (
@@ -51,23 +46,22 @@ public function show(string $id)
5146 /**
5247 * Returns contacts by user.
5348 *
54- * @return \Illuminate\Http\Resources\Json\ AnonymousResourceCollection
49+ * @return AnonymousResourceCollection
5550 */
5651 public function index ()
5752 {
53+ /** @var User $user */
5854 $ user = Auth::user ();
5955
6056 return ContactResource::collection ($ this ->service ->contacts ($ user ));
6157 }
6258
6359 /**
6460 * Store a contact.
65- *
66- * @param string $user_id
67- * @return ContactResource
6861 */
6962 public function store (string $ user_id ): ContactResource
7063 {
64+ /** @var User $user */
7165 $ user = Auth::user ();
7266 $ contact = $ this ->userService ->find ($ user_id );
7367
@@ -79,21 +73,20 @@ public function store(string $user_id): ContactResource
7973 /**
8074 * Redirects to URI.
8175 *
82- * @param Request $request
83- * @param string $id
84- * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
76+ * @return Application|RedirectResponse|Redirector
8577 */
8678 public function redirect (Request $ request , string $ id )
8779 {
80+ /** @var User $user */
8881 $ user = Auth::user ();
8982 $ contact = $ this ->service ->contact ($ id , $ user );
9083
91- if (null === $ contact ) {
84+ if ($ contact === null ) {
9285 abort (404 );
9386 }
9487
9588 $ URI = $ request ->get ('redirect_uri ' , config ('app.uri ' ));
9689
97- return redirect ($ URI ?? '/ ' );
90+ return redirect (is_string ( $ URI ) ? $ URI : '/ ' );
9891 }
9992}
0 commit comments