|string> */ public function rules(): array { return [ 'customer_name' => ['required', 'string', 'max:100'], 'subtotal' => ['required', 'integer', 'min:0'], 'discount' => ['required', 'integer', 'min:0'], 'payment' => ['required', 'integer', 'min:0'], 'payment_method' => ['required', Rule::enum(PaymentMethod::class)], 'order_status' => ['required', Rule::enum(OrderStatus::class)], 'order_channel' => ['required', Rule::enum(OrderChannel::class)], 'items' => ['required', 'array', 'min:1'], 'items.*.product_id' => ['required', Rule::exists('products', 'id')->whereNull('deleted_at')], 'items.*.qty' => ['required', 'integer', 'min:1'], 'items.*.price' => ['required', 'integer', 'min:0'], 'items.*.total' => ['required', 'integer', 'min:0'], 'items.*.price_type' => ['required', Rule::enum(PriceType::class)], ]; } }