'nullable|sanitizeText|maxLength:50', 'invoice_no' => 'nullable|sanitizeText|maxLength:100', 'fulfillment_type' => 'nullable|sanitizeText|maxLength:50', 'type' => 'nullable|sanitizeText|maxLength:50', 'payment_method' => 'nullable|sanitizeText|maxLength:50', 'payment_method_title' => 'nullable|sanitizeText|maxLength:50', 'payment_status' => 'nullable|sanitizeText|maxLength:50', 'currency' => 'nullable|sanitizeText|maxLength:10', 'subtotal' => 'numeric', 'discount_tax' => 'numeric', 'manual_discount_total' => 'numeric', 'coupon_discount_total' => 'numeric', 'shipping_tax' => 'numeric', 'shipping_total' => 'numeric', 'tax_total' => 'numeric', 'total_amount' => 'numeric', 'rate' => 'numeric', 'note' => 'nullable|sanitizeTextArea|maxLength:5000', 'uuid' => 'nullable|sanitizeText|maxLength:100', 'ip_address' => 'nullable|sanitizeText|maxLength:100', 'completed_at' => 'nullable|sanitizeText|maxLength:100', 'refunded_at' => 'nullable|sanitizeText|maxLength:100', 'customer_id' => 'required|numeric', 'user_tz' => 'nullable|sanitizeText|maxLength:50', 'order_items' => 'required|array', "order_items.*.id" => 'numeric|min:1', "order_items.*.order_id" => 'numeric|min:1', "order_items.*.post_id" => 'numeric|min:1', "order_items.*.variation_id" => 'numeric|min:1', "order_items.*.object_id" => 'numeric|min:1', "order_items.*.fulfillment_type" => 'nullable|sanitizeText', "order_items.*.payment_type" => 'nullable|sanitizeText|maxLength:100', "order_items.*.quantity" => 'numeric|min:1', "order_items.*.post_title" => 'nullable|sanitizeText|maxLength:255', "order_items.*.title" => 'nullable|sanitizeText|maxLength:255', "order_items.*.price" => 'numeric', "order_items.*.unit_price" => 'numeric', "order_items.*.shipping_charge" => 'nullable|numeric', "order_items.*.item_cost" => 'numeric', "order_items.*.item_total" => 'numeric', "order_items.*.tax_amount" => 'numeric', "order_items.*.discount_total" => 'numeric', "order_items.*.total" => 'numeric', "order_items.*.line_total" => 'numeric', "order_items.*.cart_index" => 'nullable|numeric', "order_items.*.rate" => 'nullable|numeric', "order_items.*.line_meta" => 'nullable|array', "order_items.*.other_info" => 'nullable|array', "discount.type" => 'nullable|sanitizeText|maxLength:100', "discount.value" => 'nullable|numeric', "discount.label" => 'nullable|sanitizeText|maxLength:100', "discount.reason" => 'nullable|sanitizeText|maxLength:100', "discount.action" => 'nullable|sanitizeText|maxLength:100', 'shipping' => 'nullable|array', "shipping.*.type" => 'nullable|sanitizeText|maxLength:100', "shipping.*.rate_name" => 'nullable|sanitizeText|maxLength:100', "shipping.*.custom_price" => 'nullable|numeric', 'deletedItems' => 'nullable|array', 'tax_behavior' => 'nullable|numeric|min:0', 'tax_lines' => 'nullable|array', 'tax_lines.*.rate_id' => 'nullable|numeric|min:0', 'tax_lines.*.tax_amount' => 'nullable|numeric|min:0', 'tax_lines.*.label' => 'nullable|sanitizeText', 'tax_lines.*.is_compound'=> 'nullable', 'applied_coupon' => 'nullable|array', "applied_coupon.*.id" => 'nullable|numeric|min:1', "applied_coupon.*.order_id" => 'nullable|numeric|min:1', "applied_coupon.*.coupon_id" => 'required|numeric|min:1', //"applied_coupon.*.title" => 'required|string|max:100', "applied_coupon.*.code" => 'required|sanitizeText|maxLength:100', //"applied_coupon.*.status" => 'required|string|max:100', //"applied_coupon.*.type" => 'required|string|max:100', "applied_coupon.*.amount" => 'nullable|numeric', "applied_coupon.*.discounted_amount" => 'required|numeric', "applied_coupon.*.discount" => 'nullable|numeric', "applied_coupon.*.stackable" => 'required|numeric', "applied_coupon.*.priority" => 'nullable|numeric', "applied_coupon.*.max_uses" => 'nullable|numeric', "applied_coupon.*.use_count" => 'nullable|numeric', "applied_coupon.*.max_per_customer" => 'nullable|numeric|min:1', "applied_coupon.*.min_purchase_amount" => 'nullable|numeric', "applied_coupon.*.max_discount_amount" => 'nullable|numeric', "applied_coupon.*.notes" => 'nullable|sanitizeTextArea|maxLength:100', 'trigger' => 'nullable|string', ]; } /** * @return array */ public function messages(): array { return [ 'customer_id.required' => esc_html__('Customer selection is required', 'fluent-cart'), 'order_items.required' => esc_html__('Item selection is required', 'fluent-cart'), ]; } /** * @return array */ public function sanitize() { return [ 'id' => 'intval', 'status' => 'sanitize_text_field', 'invoice_no' => 'sanitize_text_field', 'fulfillment_type' => 'sanitize_text_field', 'type' => 'sanitize_text_field', 'customer_id' => 'intval', 'payment_method' => 'sanitize_text_field', 'payment_method_title' => 'sanitize_text_field', 'payment_status' => 'sanitize_text_field', 'currency' => 'sanitize_text_field', 'subtotal' => 'floatval', 'discount_tax' => 'floatval', 'manual_discount_total' => 'floatval', 'coupon_discount_total' => 'floatval', 'shipping_tax' => 'floatval', 'shipping_total' => 'floatval', 'tax_total' => 'floatval', 'tax_behavior' => 'intval', 'total_amount' => 'floatval', 'rate' => 'sanitize_text_field', 'note' => 'sanitize_text_field', 'uuid' => 'sanitize_text_field', 'ip_address' => 'sanitize_text_field', 'billing_address_id' => 'intval', 'shipping_address_id' => 'intval', 'completed_at' => 'sanitize_text_field', 'refunded_at' => 'sanitize_text_field', 'user_tz' => 'sanitize_text_field', "order_items.*.id" => 'intval', "order_items.*.order_id" => 'intval', "order_items.*.post_id" => 'intval', "order_items.*.object_id" => 'intval', "order_items.*.payment_type" => 'sanitize_text_field', "order_items.*.quantity" => 'intval', "order_items.*.post_title" => 'sanitize_text_field', "order_items.*.title" => 'sanitize_text_field', "order_items.*.shipping_charge" => 'intval', "order_items.*.price" => 'floatval', "order_items.*.unit_price" => 'floatval', "order_items.*.item_cost" => 'floatval', "order_items.*.item_total" => 'floatval', "order_items.*.tax_amount" => 'floatval', "order_items.*.discount_total" => 'floatval', "order_items.*.total" => 'floatval', "order_items.*.line_total" => 'floatval', "order_items.*.cart_index" => 'intval', "order_items.*.rate" => 'floatval', "order_items.*.line_meta" => function ($value) { return is_array($value) ? $value : []; }, "order_items.*.other_info" => function ($value) { return is_array($value) ? $value : []; }, "discount.type" => 'sanitize_text_field', "discount.value" => 'floatval', "discount.label" => 'sanitize_text_field', "discount.reason" => 'sanitize_text_field', "discount.action" => 'sanitize_text_field', "shipping.*.type" => 'sanitize_text_field', "shipping.*.rate_name" => 'sanitize_text_field', "shipping.*.custom_price" => 'floatval', "deletedItems" => function ($value) { return is_array($value) ? $value : []; }, "tax_lines" => function ($value) { return is_array($value) ? $value : []; }, "tax_lines.*.rate_id" => 'intval', "tax_lines.*.tax_amount" => 'intval', "tax_lines.*.label" => 'sanitize_text_field', "tax_lines.*.is_compound"=> function ($value) { return (bool) $value; }, "applied_coupon.*.id" => 'intval', "applied_coupon.*.order_id" => 'intval', "applied_coupon.*.coupon_id" => 'intval', "applied_coupon.*.title" => 'sanitize_text_field', "applied_coupon.*.discount" => 'intval', "applied_coupon.*.code" => 'sanitize_text_field', "applied_coupon.*.status" => 'sanitize_text_field', "applied_coupon.*.type" => 'sanitize_text_field', "applied_coupon.*.amount" => 'intval', "applied_coupon.*.discounted_amount" => 'intval', "applied_coupon.*.stackable" => 'intval', "applied_coupon.*.priority" => 'intval', "applied_coupon.*.max_uses" => 'intval', "applied_coupon.*.use_count" => 'intval', "applied_coupon.*.max_per_customer" => 'intval', "applied_coupon.*.min_purchase_amount" => 'intval', "applied_coupon.*.max_discount_amount" => 'intval', "applied_coupon.*.notes" => 'sanitize_text_field', 'trigger' => 'sanitize_text_field', ]; } }