fix test & style code

This commit is contained in:
Romulus21
2021-10-01 22:22:43 +02:00
parent b5afb216de
commit a0edc63e10
4 changed files with 53 additions and 69 deletions

View File

@@ -7,6 +7,8 @@ use App\Models\Event;
use App\Http\Resources\Event as EventResource;
use App\Models\EventGuestsNonUsers;
use App\Models\User;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class EventController extends Controller
@@ -14,91 +16,82 @@ class EventController extends Controller
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response|object
* @return JsonResponse
*/
public function index()
public function index(): JsonResponse
{
$events = Event::all();
return (EventResource::collection($events))
->response()
->setStatusCode(200);
return response()->json(EventResource::collection($events));
}
/**
* Store a newly created resource in storage.
*
* @param EventRequest $request
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
*/
public function store(EventRequest $request)
public function store(EventRequest $request): JsonResponse
{
$validated = $request->validated();
$event = $request->user()->events()->create($validated);
$event->save();
return (new EventResource($event))
->response()
->setStatusCode(201);
return response()->json(new EventResource($event), 201);
}
/**
* Display the specified resource.
*
* @param \App\Models\Event $event
* @return \Illuminate\Http\JsonResponse
* @param Event $event
* @return JsonResponse
*/
public function show(Event $event)
public function show(Event $event): JsonResponse
{
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\Event $event
* @return \Illuminate\Http\JsonResponse
* @param EventRequest $request
* @param Event $event
* @return JsonResponse
* @throws AuthorizationException
*/
public function update(EventRequest $request, Event $event)
public function update(EventRequest $request, Event $event): JsonResponse
{
$this->authorize('update', $event);
$event->update($request->all());
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\Event $event
* @return \Illuminate\Http\Response
* @param Event $event
* @return JsonResponse
*/
public function destroy(Event $event)
public function destroy(Event $event): JsonResponse
{
$this->authorize('delete', $event);
$event->delete();
return response([], 204);
return response()->json([], 204);
}
public function inviteUser(Event $event, User $user)
public function inviteUser(Event $event, User $user): JsonResponse
{
$this->authorize('update', $event);
$event->guests()->attach($user);
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
public function removeInviteUser(Event $event, User $user)
@@ -113,27 +106,23 @@ class EventController extends Controller
->setStatusCode(204);
}
public function addGuestToStaffEvent(Event $event, User $user)
public function addGuestToStaffEvent(Event $event, User $user): JsonResponse
{
$this->authorize('delete', $event);
$event->guests()->updateExistingPivot($user, ['is_staff' => true], false);
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
public function deleteGuestToStaffEvent(Event $event, User $user)
public function deleteGuestToStaffEvent(Event $event, User $user): JsonResponse
{
$this->authorize('delete', $event);
$event->guests()->updateExistingPivot($user, ['is_staff' => false], false);
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
public function userConfirmParticipation(Event $event)
@@ -156,38 +145,32 @@ class EventController extends Controller
return response([], 204);
}
public function addGuestWithEmail(Event $event)
public function addGuestWithEmail(Request $request, Event $event)
{
$data = request()->validate([
$data = $request->validate([
'email' => 'required|email',
]);
$event->emailedGuests()->save(new EventGuestsNonUsers(['email' => $data['email']]));
return (new EventResource($event))
->response()
->setStatusCode(201);
return response()->json(new EventResource($event), 201);
}
public function guestCanReadEvent(Event $event)
public function guestCanReadEvent(Request $request, Event $event)
{
$guest = request()->guest;
$guest = $request->guest;
if (!$guest->read_at) {
$guest->update(['read_at' => now()->toDateTimeString()]);
}
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
public function guestCanConfirmEvent(Event $event)
public function guestCanConfirmEvent(Request $request, Event $event)
{
$guest = request()->guest;
$guest = $request->guest;
$guest->update(['validated_at' => now()->toDateTimeString()]);
return (new EventResource($event))
->response()
->setStatusCode(200);
return response()->json(new EventResource($event));
}
}

View File

@@ -2,6 +2,7 @@
namespace App\Http\Resources;
use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;
class EventGuestWithoutEmail extends JsonResource

View File

@@ -13,7 +13,7 @@ class EventPolicy
/**
* Determine whether the user can view any models.
*
* @param \App\User $user
* @param User $user
* @return mixed
*/
public function viewAny(User $user)
@@ -24,8 +24,8 @@ class EventPolicy
/**
* Determine whether the user can view the model.
*
* @param \App\User $user
* @param \App\Models\Event $event
* @param User $user
* @param Event $event
* @return mixed
*/
public function view(User $user, Event $event)
@@ -36,7 +36,7 @@ class EventPolicy
/**
* Determine whether the user can create models.
*
* @param \App\User $user
* @param User $user
* @return mixed
*/
public function create(User $user)
@@ -47,8 +47,8 @@ class EventPolicy
/**
* Determine whether the user can update the model.
*
* @param \App\User $user
* @param \App\Models\Event $event
* @param User $user
* @param Event $event
* @return mixed
*/
public function update(User $user, Event $event)
@@ -71,8 +71,8 @@ class EventPolicy
/**
* Determine whether the user can delete the model.
*
* @param \App\User $user
* @param \App\Models\Event $event
* @param User $user
* @param Event $event
* @return mixed
*/
public function delete(User $user, Event $event)
@@ -83,8 +83,8 @@ class EventPolicy
/**
* Determine whether the user can restore the model.
*
* @param \App\User $user
* @param \App\Models\Event $event
* @param User $user
* @param Event $event
* @return mixed
*/
public function restore(User $user, Event $event)
@@ -95,8 +95,8 @@ class EventPolicy
/**
* Determine whether the user can permanently delete the model.
*
* @param \App\User $user
* @param \App\Models\Event $event
* @param User $user
* @param Event $event
* @return mixed
*/
public function forceDelete(User $user, Event $event)
@@ -107,8 +107,8 @@ class EventPolicy
/**
* Determine whether the guest can permanently delete invitation.
*
* @param \App\User $user
* @param \App\Models\Event $event
* @param User $user
* @param Event $event
* @return mixed
*/
public function participation(User $user, Event $event)

View File

@@ -627,7 +627,7 @@ class EventsTest extends TestCase
'data' => [
'user_id' => $userTwo->id,
'attributes' => [
'validated_at' => now()->toDateTimeString(),
'validated_at' => now()->format('Y'),
]
],
],