ultimatepos/Modules/Connector/Http/Controllers/Api/V2/StockController.php

41 lines
1.1 KiB
PHP

<?php
namespace Modules\Connector\Http\Controllers\Api\V2;
use App\Services\Api\BusinessContextService;
use App\Transaction;
use Illuminate\Http\Request;
class StockController extends BaseController
{
public function __construct(protected BusinessContextService $contextService)
{
}
public function transfers(Request $request)
{
return $this->paginated($this->listByType($request, 'sell_transfer'));
}
public function adjustments(Request $request)
{
return $this->paginated($this->listByType($request, 'stock_adjustment'));
}
public function openingStock(Request $request)
{
return $this->paginated($this->listByType($request, 'opening_stock'));
}
protected function listByType(Request $request, string $type)
{
$business_id = $this->contextService->getBusinessId($request);
return Transaction::where('business_id', $business_id)
->where('type', $type)
->with(['location'])
->orderBy('transaction_date', 'desc')
->paginate($request->input('per_page', 25));
}
}