wip
This commit is contained in:
@@ -2,14 +2,22 @@
|
||||
|
||||
namespace App\Http\ApiControllers;
|
||||
|
||||
use App\Models\Holding;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Resources\UserResource;
|
||||
use App\Http\Resources\HoldingResource;
|
||||
use HackerEsq\FilterModels\FilterModels;
|
||||
use App\Http\ApiControllers\Controller as ApiController;
|
||||
|
||||
class HoldingController extends ApiController
|
||||
{
|
||||
public function me(Request $request)
|
||||
public function index(FilterModels $filters)
|
||||
{
|
||||
return UserResource::make($request->user());
|
||||
|
||||
$filters->setQuery(Holding::query());
|
||||
$filters->setScopes(['myHoldings']);
|
||||
$filters->setEagerRelations(['market_data', 'transactions']);
|
||||
$filters->setSearchableColumns(['symbol']);
|
||||
|
||||
return HoldingResource::collection($filters->paginated());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\ApiControllers;
|
||||
|
||||
use App\Models\MarketData;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Resources\MarketDataResource;
|
||||
use App\Http\ApiControllers\Controller as ApiController;
|
||||
|
||||
class MarketDataController extends ApiController
|
||||
{
|
||||
public function show(Request $request, string $symbol)
|
||||
{
|
||||
|
||||
return MarketDataResource::make(
|
||||
MarketData::getMarketData($symbol)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\ApiControllers;
|
||||
|
||||
use App\Models\Portfolio;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Support\FilterRequest;
|
||||
use HackerEsq\FilterModels\FilterModels;
|
||||
use App\Http\Resources\PortfolioResource;
|
||||
use App\Http\ApiControllers\Controller as ApiController;
|
||||
|
||||
class PortfolioController extends ApiController
|
||||
{
|
||||
public function index(Request $request)
|
||||
public function index(FilterModels $filters)
|
||||
{
|
||||
$filterRequest = new FilterRequest(Portfolio::class);
|
||||
|
||||
$filterRequest->setScopes(['myPortfolios']);
|
||||
$filterRequest->setEagerRelations(['users', 'transactions', 'holdings']);
|
||||
$filterRequest->setFilterableRelations(['holdings' => 'symbol', 'transactions' => 'symbol']);
|
||||
$filterRequest->setSearchableColumns(['title', 'notes']);
|
||||
|
||||
return PortfolioResource::collection($filterRequest->get());
|
||||
$filters->setQuery(Portfolio::query());
|
||||
$filters->setScopes(['myPortfolios']);
|
||||
$filters->setEagerRelations(['users', 'transactions', 'holdings']);
|
||||
$filters->setFilterableRelations(['holdings' => 'symbol', 'transactions' => 'symbol']);
|
||||
$filters->setSearchableColumns(['title', 'notes']);
|
||||
|
||||
return PortfolioResource::collection($filters->paginated());
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,21 @@
|
||||
|
||||
namespace App\Http\ApiControllers;
|
||||
|
||||
use App\Models\Transaction;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Resources\UserResource;
|
||||
use HackerEsq\FilterModels\FilterModels;
|
||||
use App\Http\Resources\TransactionResource;
|
||||
use App\Http\ApiControllers\Controller as ApiController;
|
||||
|
||||
class TransactionController extends ApiController
|
||||
{
|
||||
public function me(Request $request)
|
||||
public function index(FilterModels $filters)
|
||||
{
|
||||
return UserResource::make($request->user());
|
||||
|
||||
$filters->setQuery(Transaction::query());
|
||||
$filters->setScopes(['myTransactions']);
|
||||
$filters->setSearchableColumns(['symbol']);
|
||||
|
||||
return TransactionResource::collection($filters->paginated());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user