PluginProbe
Billingo Official for WooCommerce / 4.2.9
Billingo Official for WooCommerce v4.2.9
4.3.3 4.3.2 trunk 0.0.2 1.0.0 2.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 All 82 releases
billingo / src / Validation / Document / DocumentValidator.php

DocumentValidator.php in Billingo Official for WooCommerce 4.2.9, at src/Validation/Document/DocumentValidator.php

65 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace App\Billingo\Validation\Document;
4
5 use App\Billingo\Enums\CorrectionTypeEnum;
6 use App\Billingo\Enums\CurrencyEnum;
7 use App\Billingo\Enums\Document\NotificationStatusEnum;
8 use App\Billingo\Enums\Document\TypeEnum;
9 use App\Billingo\Enums\Document\LanguageEnum;
10 use App\Billingo\Enums\OnlineSzamlaStatusEnum;
11 use App\Billingo\Enums\PaymentMethodEnum;
12 use App\Billingo\Enums\PaymentStatusEnum;
13 use App\Billingo\Models\Discount;
14 use App\Billingo\Models\Document\DocumentAncestor;
15 use App\Billingo\Models\Document\DocumentItem;
16 use App\Billingo\Models\Document\Organization;
17 use App\Billingo\Models\Document\DocumentSettings;
18 use App\Billingo\Models\Document\DocumentSummary;
19 use App\Billingo\Models\Partner\Partner;
20 use App\Billingo\Models\Document\DocumentPartner as DocumentPartner;
21 use App\Billingo\Validation\Validator;
22
23 final class DocumentValidator extends Validator
24 {
25
26 protected function rules(): array
27 {
28 return [
29 'id' => ['optional', 'integer'],
30 'invoice_number' => ['optional', 'string'],
31 'type' => ['optional', ['in', getEnumValues(TypeEnum::class)]],
32 'cancelled' => ['optional', 'boolean'],
33 'block_id' => ['optional', 'integer'],
34 'payment_status' => ['optional', ['in', getEnumValues(PaymentStatusEnum::class)]],
35 'payment_method' => ['optional', ['in', getEnumValues(PaymentMethodEnum::class)]],
36 'gross_total' => ['optional', 'numeric'],
37 'currency' => ['optional', ['in', getEnumValues(CurrencyEnum::class)]],
38 'conversion_rate' => ['optional', 'numeric'],
39 'invoice_date' => ['optional', ['dateFormat', 'Y-m-d']],
40 'fulfillment_date' => ['optional', ['dateFormat', 'Y-m-d']],
41 'due_date' => ['optional', ['dateFormat', 'Y-m-d']],
42 'paid_date' => ['optional', ['dateFormat', 'Y-m-d']],
43 'organization' => ['optional', ['instanceOf', Organization::class]],
44 'partner' => ['optional', ['instanceOf', Partner::class]],
45 'document_partner' => ['optional', ['instanceOf', DocumentPartner::class]],
46 'electronic' => ['optional', 'boolean'],
47 'comment' => ['optional', 'string'],
48 'tags' => ['optional', 'array'],
49 'tags.*' => ['string'],
50 'notification_status' => ['optional', ['in', getEnumValues(NotificationStatusEnum::class)]],
51 'language' => ['optional', ['in', getEnumValues(LanguageEnum::class)]],
52 'items' => ['optional', 'array'],
53 'items.*' => [['instanceOf', DocumentItem::class]],
54 'summary' => ['optional', ['instanceOf', DocumentSummary::class]],
55 'settings' => ['optional', ['instanceOf', DocumentSettings::class]],
56 'online_szamla_status' => ['optional', ['in', getEnumValues(OnlineSzamlaStatusEnum::class)]],
57 'related_documents' => ['optional', 'array'],
58 'related_documents.*' => [['instanceOf', DocumentAncestor::class]],
59 'discount' => ['optional', ['instanceOf', Discount::class]],
60 'correction_type' => ['optional', ['in', getEnumValues(CorrectionTypeEnum::class)]],
61 'recurring_id' => ['optional', 'integer'],
62 ];
63 }
64 }
65