wip
This commit is contained in:
@@ -5,6 +5,8 @@ namespace App\Http\ApiControllers;
|
||||
use App\Models\Holding;
|
||||
use App\Models\Portfolio;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use App\Http\Requests\HoldingRequest;
|
||||
use App\Http\Resources\HoldingResource;
|
||||
use HackerEsq\FilterModels\FilterModels;
|
||||
use App\Http\ApiControllers\Controller as ApiController;
|
||||
@@ -25,12 +27,22 @@ class HoldingController extends ApiController
|
||||
public function show(Portfolio $portfolio, string $symbol)
|
||||
{
|
||||
|
||||
//
|
||||
Gate::authorize('readOnly', $portfolio);
|
||||
|
||||
$holding = $portfolio->holdings()->symbol($symbol)->firstOrFail();
|
||||
|
||||
return HoldingResource::make($holding);
|
||||
}
|
||||
|
||||
public function put(FilterModels $filters)
|
||||
public function update(HoldingRequest $request, Portfolio $portfolio, string $symbol)
|
||||
{
|
||||
|
||||
//
|
||||
Gate::authorize('fullAccess', $portfolio);
|
||||
|
||||
$holding = $portfolio->holdings()->symbol($symbol)->firstOrFail();
|
||||
|
||||
$holding->update($request->validated());
|
||||
|
||||
return HoldingResource::make($holding);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use App\Http\Requests\FormRequest;
|
||||
|
||||
class HoldingRequest extends FormRequest
|
||||
{
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
|
||||
$rules = [
|
||||
'reinvest_dividends' => ['sometimes', 'boolean']
|
||||
];
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user