2025-01-23 22:47:16 -06:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\ApiControllers;
|
|
|
|
|
|
2025-01-24 19:24:16 -06:00
|
|
|
use App\Models\Holding;
|
2025-01-27 20:04:03 -06:00
|
|
|
use App\Models\Portfolio;
|
2025-01-23 22:47:16 -06:00
|
|
|
use Illuminate\Http\Request;
|
2025-01-24 19:24:16 -06:00
|
|
|
use App\Http\Resources\HoldingResource;
|
|
|
|
|
use HackerEsq\FilterModels\FilterModels;
|
2025-01-23 22:47:16 -06:00
|
|
|
use App\Http\ApiControllers\Controller as ApiController;
|
|
|
|
|
|
|
|
|
|
class HoldingController extends ApiController
|
|
|
|
|
{
|
2025-01-24 19:24:16 -06:00
|
|
|
public function index(FilterModels $filters)
|
2025-01-23 22:47:16 -06:00
|
|
|
{
|
2025-01-24 19:24:16 -06:00
|
|
|
|
|
|
|
|
$filters->setQuery(Holding::query());
|
|
|
|
|
$filters->setScopes(['myHoldings']);
|
|
|
|
|
$filters->setEagerRelations(['market_data', 'transactions']);
|
|
|
|
|
$filters->setSearchableColumns(['symbol']);
|
|
|
|
|
|
|
|
|
|
return HoldingResource::collection($filters->paginated());
|
2025-01-23 22:47:16 -06:00
|
|
|
}
|
2025-01-27 20:04:03 -06:00
|
|
|
|
|
|
|
|
public function show(Portfolio $portfolio, string $symbol)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function put(FilterModels $filters)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
}
|
2025-01-23 22:47:16 -06:00
|
|
|
}
|