isMethod('POST') ? Permission::PURCHASES_CREATE : Permission::PURCHASES_UPDATE; return $this->user()?->can($permission->value) ?? false; } /** * @return array */ public function rules(): array { return [ 'supplier_id' => ['required', 'integer', Rule::exists('suppliers', 'id')->whereNull('deleted_at')], 'discount' => ['nullable', 'integer', 'min:0'], 'notes' => ['nullable', 'string', 'max:100'], 'items' => ['required', 'array', 'min:1'], 'items.*.raw_material_price_id' => [ 'required', 'integer', Rule::exists('raw_material_prices', 'id')->whereNull('deleted_at'), ], 'items.*.quantity' => ['required', 'numeric', 'gt:0'], ...$this->photoRules(), ]; } }