|
@@ -40,6 +40,8 @@ public function byUnit(): JsonResponse
|
|
|
public function store(ClassPackageUnitRequest $request): JsonResponse
|
|
public function store(ClassPackageUnitRequest $request): JsonResponse
|
|
|
{
|
|
{
|
|
|
$unitId = $this->activeUnitId();
|
|
$unitId = $this->activeUnitId();
|
|
|
|
|
+ abort_unless($unitId, 403, 'Nenhuma unidade ativa foi selecionada.');
|
|
|
|
|
+
|
|
|
$data = array_merge($request->validated(), ['unit_id' => $unitId]);
|
|
$data = array_merge($request->validated(), ['unit_id' => $unitId]);
|
|
|
$item = $this->service->create($data);
|
|
$item = $this->service->create($data);
|
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item), message: __('messages.created'), code: 201);
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item), message: __('messages.created'), code: 201);
|
|
@@ -47,25 +49,33 @@ public function store(ClassPackageUnitRequest $request): JsonResponse
|
|
|
|
|
|
|
|
public function show(int $id): JsonResponse
|
|
public function show(int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
- $item = $this->service->findById($id);
|
|
|
|
|
|
|
+ $item = $this->service->findByIdForUnit($id, $this->requiredActiveUnitId());
|
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item));
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function update(ClassPackageUnitRequest $request, int $id): JsonResponse
|
|
public function update(ClassPackageUnitRequest $request, int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
- $item = $this->service->update($id, $request->validated());
|
|
|
|
|
|
|
+ $item = $this->service->update($id, $this->requiredActiveUnitId(), $request->validated());
|
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item), message: __('messages.updated'));
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item), message: __('messages.updated'));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function toggleVisibility(int $id): JsonResponse
|
|
public function toggleVisibility(int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
- $item = $this->service->toggleVisibility($id);
|
|
|
|
|
|
|
+ $item = $this->service->toggleVisibility($id, $this->requiredActiveUnitId());
|
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item), message: __('messages.updated'));
|
|
return $this->successResponse(payload: new ClassPackageUnitResource($item), message: __('messages.updated'));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function destroy(int $id): JsonResponse
|
|
public function destroy(int $id): JsonResponse
|
|
|
{
|
|
{
|
|
|
- $this->service->delete($id);
|
|
|
|
|
|
|
+ $this->service->delete($id, $this->requiredActiveUnitId());
|
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private function requiredActiveUnitId(): int
|
|
|
|
|
+ {
|
|
|
|
|
+ $unitId = $this->activeUnitId();
|
|
|
|
|
+ abort_unless($unitId, 403, 'Nenhuma unidade ativa foi selecionada.');
|
|
|
|
|
+
|
|
|
|
|
+ return $unitId;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|