From 465686dbaf51bdd1883d534db68c25a61b4e53a5 Mon Sep 17 00:00:00 2001 From: hackerESQ Date: Mon, 27 Jan 2025 23:03:33 -0600 Subject: [PATCH] fix: simplify the portfolio_id verification --- app/Http/Requests/TransactionRequest.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/Http/Requests/TransactionRequest.php b/app/Http/Requests/TransactionRequest.php index c0412d3..b4c8349 100644 --- a/app/Http/Requests/TransactionRequest.php +++ b/app/Http/Requests/TransactionRequest.php @@ -10,8 +10,6 @@ use App\Rules\QuantityValidationRule; class TransactionRequest extends FormRequest { - public ?Portfolio $portfolio; - /** * Get the validation rules that apply to the request. * @@ -19,10 +17,9 @@ class TransactionRequest extends FormRequest */ public function rules(): array { - $this->portfolio = Portfolio::findOrFail($this->requestOrModelValue('portfolio_id', 'transaction')); $rules = [ - 'portfolio_id' => [], // validated by findOrFail() above + 'portfolio_id' => ['required', 'exists:portfolios,id'], 'symbol' => ['required', 'string', new SymbolValidationRule], 'transaction_type' => ['required', 'string', 'in:BUY,SELL'], 'date' => ['required', 'date_format:Y-m-d', 'before_or_equal:' . now()->format('Y-m-d')], @@ -31,7 +28,7 @@ class TransactionRequest extends FormRequest 'numeric', 'min:0', new QuantityValidationRule( - $this->portfolio, + $this->requestOrModelValue('symbol', 'transaction'), $this->requestOrModelValue('symbol', 'transaction'), $this->requestOrModelValue('transaction_type', 'transaction'), $this->requestOrModelValue('date', 'transaction') @@ -42,6 +39,7 @@ class TransactionRequest extends FormRequest ]; if (!is_null($this->transaction)) { + $rules['portfolio_id'][0] = 'sometimes'; $rules['symbol'][0] = 'sometimes'; $rules['transaction_type'][0] = 'sometimes'; $rules['date'][0] = 'sometimes';