|
@@ -34,12 +34,26 @@ public function show(int $id): JsonResponse
|
|
|
|
|
|
|
|
public function update(HolidayRequest $request, int $id): JsonResponse
|
|
public function update(HolidayRequest $request, int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
|
|
+ $item = $this->service->findById($id);
|
|
|
|
|
+ if (!$item) {
|
|
|
|
|
+ return $this->errorResponse(message: 'Feriado não encontrado.', code: 404);
|
|
|
|
|
+ }
|
|
|
|
|
+ if ($item->base_holiday_id !== null) {
|
|
|
|
|
+ return $this->errorResponse(message: 'Este feriado foi criado pela franqueadora e não pode ser editado.', code: 403);
|
|
|
|
|
+ }
|
|
|
$item = $this->service->update($id, $request->validated());
|
|
$item = $this->service->update($id, $request->validated());
|
|
|
return $this->successResponse(payload: new HolidayResource($item), message: __('messages.updated'));
|
|
return $this->successResponse(payload: new HolidayResource($item), message: __('messages.updated'));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function destroy(int $id): JsonResponse
|
|
public function destroy(int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
|
|
+ $item = $this->service->findById($id);
|
|
|
|
|
+ if (!$item) {
|
|
|
|
|
+ return $this->errorResponse(message: 'Feriado não encontrado.', code: 404);
|
|
|
|
|
+ }
|
|
|
|
|
+ if ($item->base_holiday_id !== null) {
|
|
|
|
|
+ return $this->errorResponse(message: 'Este feriado foi criado pela franqueadora e não pode ser excluído.', code: 403);
|
|
|
|
|
+ }
|
|
|
$this->service->delete($id);
|
|
$this->service->delete($id);
|
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
|
}
|
|
}
|