41 lines
1.1 KiB
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));
|
|
}
|
|
}
|