|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
use App\Services\ProductService;
|
|
|
use App\Http\Requests\ProductRequest;
|
|
|
+use App\Http\Requests\ProductStockRequest;
|
|
|
use App\Http\Resources\ProductResource;
|
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
|
|
@@ -48,4 +49,15 @@ public function destroy(int $id): JsonResponse
|
|
|
$this->service->delete($id);
|
|
|
return $this->successResponse(message: __('messages.deleted'), code: 204);
|
|
|
}
|
|
|
+
|
|
|
+ public function adjustStock(ProductStockRequest $request, int $id): JsonResponse
|
|
|
+ {
|
|
|
+ $result = $this->service->adjustStock($id, $request->type, $request->quantity);
|
|
|
+
|
|
|
+ if (isset($result['error'])) {
|
|
|
+ return $this->errorResponse($result['error'], 422);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->successResponse(payload: new ProductResource($result['product']), message: __('messages.updated'));
|
|
|
+ }
|
|
|
}
|