@hosterai/types 0.0.30 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +6 -1
  2. package/dist/decorators/is-e164-validator.spec.d.ts +1 -0
  3. package/dist/decorators/is-e164-validator.spec.js +64 -0
  4. package/dist/decorators/is-e164.validator.d.ts +2 -0
  5. package/dist/decorators/is-e164.validator.js +30 -0
  6. package/dist/decorators/unique-field-in-array-validator.spec.js +14 -0
  7. package/dist/decorators/unique-field-in-array.validator.js +18 -4
  8. package/dist/dtos/addon-field.dto.d.ts +6 -2
  9. package/dist/dtos/addon-field.dto.js +25 -2
  10. package/dist/dtos/attribute-field.dto.d.ts +18 -6
  11. package/dist/dtos/attribute-field.dto.js +18 -2
  12. package/dist/dtos/base-field.dto.d.ts +45 -0
  13. package/dist/dtos/base-field.dto.js +133 -0
  14. package/dist/dtos/field.dto.d.ts +5 -64
  15. package/dist/dtos/field.dto.js +0 -186
  16. package/dist/dtos/fields/any-field.dto.d.ts +38 -0
  17. package/dist/dtos/fields/any-field.dto.js +36 -0
  18. package/dist/dtos/fields/boolean-field.dto.d.ts +14 -0
  19. package/dist/dtos/fields/boolean-field.dto.js +48 -0
  20. package/dist/dtos/fields/countries-field.dto.d.ts +14 -0
  21. package/dist/dtos/fields/countries-field.dto.js +51 -0
  22. package/dist/dtos/fields/currency-field.dto.d.ts +14 -0
  23. package/dist/dtos/fields/currency-field.dto.js +50 -0
  24. package/dist/dtos/fields/date-field.dto.d.ts +14 -0
  25. package/dist/dtos/fields/date-field.dto.js +49 -0
  26. package/dist/dtos/fields/email-field.dto.d.ts +14 -0
  27. package/dist/dtos/fields/email-field.dto.js +49 -0
  28. package/dist/dtos/fields/multi-select-field.dto.d.ts +15 -0
  29. package/dist/dtos/fields/multi-select-field.dto.js +53 -0
  30. package/dist/dtos/fields/number-field.dto.d.ts +26 -0
  31. package/dist/dtos/fields/number-field.dto.js +82 -0
  32. package/dist/dtos/fields/password-field.dto.d.ts +21 -0
  33. package/dist/dtos/fields/password-field.dto.js +64 -0
  34. package/dist/dtos/fields/phone-field.dto.d.ts +14 -0
  35. package/dist/dtos/fields/phone-field.dto.js +50 -0
  36. package/dist/dtos/fields/select-field.dto.d.ts +15 -0
  37. package/dist/dtos/fields/select-field.dto.js +51 -0
  38. package/dist/dtos/fields/text-field.dto.d.ts +31 -0
  39. package/dist/dtos/fields/text-field.dto.js +102 -0
  40. package/dist/dtos/fields/textarea-field.dto.d.ts +31 -0
  41. package/dist/dtos/fields/textarea-field.dto.js +102 -0
  42. package/dist/dtos/fields/url-field.dto.d.ts +14 -0
  43. package/dist/dtos/fields/url-field.dto.js +49 -0
  44. package/dist/dtos/info/info-notification.dto.d.ts +5 -0
  45. package/dist/dtos/info/info-notification.dto.js +7 -0
  46. package/dist/dtos/info/info.dto.d.ts +196 -0
  47. package/dist/dtos/info/info.dto.js +278 -0
  48. package/dist/dtos/info.dto.d.ts +2 -2
  49. package/dist/dtos/info.dto.js +2 -5
  50. package/dist/dtos/notification/notification-request.dto.d.ts +20 -0
  51. package/dist/dtos/notification/notification-request.dto.js +31 -0
  52. package/dist/dtos/product/product-info.dto.js +2 -2
  53. package/dist/dtos/receiver/receiver-email.dto.d.ts +20 -0
  54. package/dist/dtos/receiver/receiver-email.dto.js +39 -0
  55. package/dist/dtos/receiver/receiver-push.dto.d.ts +15 -0
  56. package/dist/dtos/receiver/receiver-push.dto.js +31 -0
  57. package/dist/dtos/receiver/receiver-sms.dto.d.ts +11 -0
  58. package/dist/dtos/receiver/receiver-sms.dto.js +26 -0
  59. package/dist/dtos/request.dto.d.ts +20 -0
  60. package/dist/dtos/request.dto.js +31 -0
  61. package/dist/dtos/responses/validate-attributes-response.dto.d.ts +4 -4
  62. package/dist/dtos/responses/validate-attributes-response.dto.js +2 -6
  63. package/dist/dtos/sender/sender-email.dto.d.ts +25 -0
  64. package/dist/dtos/sender/sender-email.dto.js +46 -0
  65. package/dist/dtos/sender/sender-push.dto.d.ts +31 -0
  66. package/dist/dtos/sender/sender-push.dto.js +50 -0
  67. package/dist/dtos/sender/sender-sms.dto.d.ts +15 -0
  68. package/dist/dtos/sender/sender-sms.dto.js +30 -0
  69. package/dist/enums/field-type.enum.d.ts +20 -7
  70. package/dist/enums/field-type.enum.js +19 -7
  71. package/dist/enums/message-type.enum.d.ts +5 -0
  72. package/dist/enums/message-type.enum.js +9 -0
  73. package/dist/index.d.ts +29 -0
  74. package/dist/index.js +29 -0
  75. package/dist/openapi/schemas/components.schemas.d.ts +1168 -235
  76. package/dist/openapi/schemas/components.schemas.js +1869 -558
  77. package/dist/validators/addon-field-validator.d.ts +4 -1
  78. package/dist/validators/addon-field-validator.js +22 -3
  79. package/dist/validators/addon-field-validator.spec.js +15 -21
  80. package/dist/validators/any-field-validator.d.ts +10 -0
  81. package/dist/validators/any-field-validator.js +28 -0
  82. package/dist/validators/any-field-validator.spec.d.ts +1 -0
  83. package/dist/validators/any-field-validator.spec.js +37 -0
  84. package/dist/validators/attribute-field-validator.d.ts +4 -0
  85. package/dist/validators/attribute-field-validator.js +16 -0
  86. package/dist/validators/attribute-field-validator.spec.js +30 -20
  87. package/dist/validators/field-validator.d.ts +2 -4
  88. package/dist/validators/field-validator.js +4 -10
  89. package/dist/validators/field-validator.spec.js +16 -79
  90. package/dist/validators/fields/boolean-field-validator.d.ts +8 -0
  91. package/dist/validators/fields/boolean-field-validator.js +15 -0
  92. package/dist/validators/fields/boolean-field-validator.spec.d.ts +1 -0
  93. package/dist/validators/fields/boolean-field-validator.spec.js +43 -0
  94. package/dist/validators/fields/countries-field-validator.d.ts +8 -0
  95. package/dist/validators/fields/countries-field-validator.js +15 -0
  96. package/dist/validators/fields/countries-field-validator.spec.d.ts +1 -0
  97. package/dist/validators/fields/countries-field-validator.spec.js +44 -0
  98. package/dist/validators/fields/currency-field-validator.d.ts +8 -0
  99. package/dist/validators/fields/currency-field-validator.js +15 -0
  100. package/dist/validators/fields/currency-field-validator.spec.d.ts +1 -0
  101. package/dist/validators/fields/currency-field-validator.spec.js +41 -0
  102. package/dist/validators/fields/date-field-validator.d.ts +8 -0
  103. package/dist/validators/fields/date-field-validator.js +15 -0
  104. package/dist/validators/fields/date-field-validator.spec.d.ts +1 -0
  105. package/dist/validators/fields/date-field-validator.spec.js +43 -0
  106. package/dist/validators/fields/email-field-validator.d.ts +8 -0
  107. package/dist/validators/fields/email-field-validator.js +15 -0
  108. package/dist/validators/fields/email-field-validator.spec.d.ts +1 -0
  109. package/dist/validators/fields/email-field-validator.spec.js +43 -0
  110. package/dist/validators/fields/multi-select-field-validator.d.ts +8 -0
  111. package/dist/validators/fields/multi-select-field-validator.js +15 -0
  112. package/dist/validators/fields/multi-select-field-validator.spec.d.ts +1 -0
  113. package/dist/validators/fields/multi-select-field-validator.spec.js +52 -0
  114. package/dist/validators/fields/number-field-validator.d.ts +8 -0
  115. package/dist/validators/fields/number-field-validator.js +15 -0
  116. package/dist/validators/fields/number-field-validator.spec.d.ts +1 -0
  117. package/dist/validators/fields/number-field-validator.spec.js +59 -0
  118. package/dist/validators/fields/password-field-validator.d.ts +8 -0
  119. package/dist/validators/fields/password-field-validator.js +15 -0
  120. package/dist/validators/fields/password-field-validator.spec.d.ts +1 -0
  121. package/dist/validators/fields/password-field-validator.spec.js +44 -0
  122. package/dist/validators/fields/phone-field-validator.d.ts +8 -0
  123. package/dist/validators/fields/phone-field-validator.js +15 -0
  124. package/dist/validators/fields/phone-field-validator.spec.d.ts +1 -0
  125. package/dist/validators/fields/phone-field-validator.spec.js +41 -0
  126. package/dist/validators/fields/select-field-validator.d.ts +8 -0
  127. package/dist/validators/fields/select-field-validator.js +15 -0
  128. package/dist/validators/fields/select-field-validator.spec.d.ts +1 -0
  129. package/dist/validators/fields/select-field-validator.spec.js +46 -0
  130. package/dist/validators/fields/text-field-validator.d.ts +8 -0
  131. package/dist/validators/fields/text-field-validator.js +15 -0
  132. package/dist/validators/fields/text-field-validator.spec.d.ts +1 -0
  133. package/dist/validators/fields/text-field-validator.spec.js +60 -0
  134. package/dist/validators/fields/textarea-field-validator.d.ts +8 -0
  135. package/dist/validators/fields/textarea-field-validator.js +15 -0
  136. package/dist/validators/fields/textarea-field-validator.spec.d.ts +1 -0
  137. package/dist/validators/fields/textarea-field-validator.spec.js +52 -0
  138. package/dist/validators/fields/url-field-validator.d.ts +8 -0
  139. package/dist/validators/fields/url-field-validator.js +15 -0
  140. package/dist/validators/fields/url-field-validator.spec.d.ts +1 -0
  141. package/dist/validators/fields/url-field-validator.spec.js +43 -0
  142. package/dist/validators/product-info-validator.spec.js +42 -108
  143. package/package.json +1 -1
  144. package/dist/dtos/product/requests/product-downgradeable-request.dto.d.ts +0 -18
  145. package/dist/dtos/product/requests/product-downgradeable-request.dto.js +0 -37
  146. package/dist/dtos/product/requests/product-upgradeable-request.dto.d.ts +0 -18
  147. package/dist/dtos/product/requests/product-upgradeable-request.dto.js +0 -37
  148. package/dist/dtos/product/responses/product-downgradeable-response.dto.d.ts +0 -22
  149. package/dist/dtos/product/responses/product-downgradeable-response.dto.js +0 -11
  150. package/dist/dtos/product/responses/product-upgradeable-response.dto.d.ts +0 -22
  151. package/dist/dtos/product/responses/product-upgradeable-response.dto.js +0 -11
  152. package/dist/validators/product-downgradeable-request-validator.d.ts +0 -8
  153. package/dist/validators/product-downgradeable-request-validator.js +0 -17
  154. package/dist/validators/product-upgradeable-request-validator.d.ts +0 -8
  155. package/dist/validators/product-upgradeable-request-validator.js +0 -17
@@ -734,376 +734,29 @@ exports.ComponentsSchemas = {
734
734
  },
735
735
  "type": "object"
736
736
  },
737
- "MultilangTextDto": {
737
+ "InfoDto": {
738
738
  "properties": {
739
- "language": {
740
- "enum": [
741
- "AB",
742
- "AA",
743
- "AF",
744
- "AK",
745
- "SQ",
746
- "AM",
747
- "AR",
748
- "AN",
749
- "HY",
750
- "AS",
751
- "AV",
752
- "AE",
753
- "AY",
754
- "AZ",
755
- "BM",
756
- "BA",
757
- "EU",
758
- "BE",
759
- "BN",
760
- "BI",
761
- "BS",
762
- "BR",
763
- "BG",
764
- "MY",
765
- "CA",
766
- "KM",
767
- "CH",
768
- "CE",
769
- "NY",
770
- "ZH",
771
- "CU",
772
- "CV",
773
- "KW",
774
- "CO",
775
- "CR",
776
- "HR",
777
- "CS",
778
- "DA",
779
- "DV",
780
- "NL",
781
- "DZ",
782
- "EN",
783
- "EO",
784
- "ET",
785
- "EE",
786
- "FO",
787
- "FJ",
788
- "FI",
789
- "FR",
790
- "FF",
791
- "GL",
792
- "LG",
793
- "KA",
794
- "DE",
795
- "EL",
796
- "GN",
797
- "GU",
798
- "HT",
799
- "HA",
800
- "HE",
801
- "HZ",
802
- "HI",
803
- "HO",
804
- "HU",
805
- "IS",
806
- "IO",
807
- "IG",
808
- "ID",
809
- "IA",
810
- "IE",
811
- "IU",
812
- "IK",
813
- "GA",
814
- "IT",
815
- "JA",
816
- "JV",
817
- "KL",
818
- "KN",
819
- "KR",
820
- "KS",
821
- "KK",
822
- "KI",
823
- "RW",
824
- "KY",
825
- "KV",
826
- "KG",
827
- "KO",
828
- "KJ",
829
- "KU",
830
- "LO",
831
- "LA",
832
- "LV",
833
- "LI",
834
- "LN",
835
- "LT",
836
- "LU",
837
- "LB",
838
- "MK",
839
- "MG",
840
- "MS",
841
- "ML",
842
- "MT",
843
- "GV",
844
- "MI",
845
- "MR",
846
- "MH",
847
- "MN",
848
- "NA",
849
- "NV",
850
- "ND",
851
- "NR",
852
- "NG",
853
- "NE",
854
- "SE",
855
- "NO",
856
- "NB",
857
- "NN",
858
- "II",
859
- "OC",
860
- "OJ",
861
- "OR",
862
- "OM",
863
- "OS",
864
- "PI",
865
- "PS",
866
- "FA",
867
- "PL",
868
- "PT",
869
- "PA",
870
- "QU",
871
- "RO",
872
- "RM",
873
- "RN",
874
- "RU",
875
- "SM",
876
- "SG",
877
- "SA",
878
- "SC",
879
- "GD",
880
- "SR",
881
- "SN",
882
- "II",
883
- "SD",
884
- "SI",
885
- "SK",
886
- "SL",
887
- "SO",
888
- "ST",
889
- "ES",
890
- "SU",
891
- "SW",
892
- "SS",
893
- "SV",
894
- "TL",
895
- "TY",
896
- "TG",
897
- "TA",
898
- "TT",
899
- "TE",
900
- "TH",
901
- "BO",
902
- "TI",
903
- "TO",
904
- "TS",
905
- "TN",
906
- "TR",
907
- "TK",
908
- "TW",
909
- "UG",
910
- "UK",
911
- "UR",
912
- "UZ",
913
- "VE",
914
- "VI",
915
- "VO",
916
- "WA",
917
- "CY",
918
- "FY",
919
- "WO",
920
- "XH",
921
- "YI",
922
- "YO",
923
- "ZA",
924
- "ZU"
925
- ],
926
- "type": "string",
927
- "title": "Language",
928
- "description": "The language of the text."
929
- },
930
- "text": {
739
+ "title": {
931
740
  "minLength": 1,
932
741
  "type": "string",
933
- "title": "Text",
934
- "description": "The text content in the specified language."
935
- }
936
- },
937
- "type": "object",
938
- "required": [
939
- "language",
940
- "text"
941
- ]
942
- },
943
- "FieldOptionDto": {
944
- "properties": {
945
- "key": {
946
- "type": "string",
947
- "title": "Key",
948
- "description": "Internal key for the option."
742
+ "title": "Title",
743
+ "description": "Integration display title.",
744
+ "example": "Example Product"
949
745
  },
950
- "value": {
746
+ "logo": {
747
+ "format": "uri",
951
748
  "type": "string",
952
- "title": "Value",
953
- "description": "Display value for the option."
749
+ "title": "Logo URL",
750
+ "description": "Public HTTPS URL for the integration logo.",
751
+ "example": "https://cdn.example.com/logo.png"
954
752
  },
955
- "disabled": {
956
- "type": "boolean",
957
- "title": "Disabled",
958
- "description": "Whether the option is disabled."
959
- }
960
- },
961
- "type": "object",
962
- "required": [
963
- "key",
964
- "value"
965
- ]
966
- },
967
- "FieldDto": {
968
- "properties": {
969
- "id": {
753
+ "description": {
970
754
  "type": "string",
971
- "title": "ID",
972
- "description": "Unique identifier for the field."
755
+ "title": "Description",
756
+ "description": "Short description of the integration.",
757
+ "example": "An example product integration."
973
758
  },
974
- "label": {
975
- "items": {
976
- "$ref": "#/components/schemas/MultilangTextDto"
977
- },
978
- "minItems": 1,
979
- "type": "array",
980
- "title": "Label",
981
- "description": "Multilingual label for the field."
982
- },
983
- "value": {
984
- "title": "Value",
985
- "description": "Value of the field. String/Number, or FieldOptionDto/FieldOptionDto[] depending on type.",
986
- "oneOf": [
987
- {
988
- "title": "String",
989
- "type": "string"
990
- },
991
- {
992
- "title": "Number",
993
- "type": "number"
994
- },
995
- {
996
- "title": "Option",
997
- "$ref": "#/components/schemas/FieldOptionDto"
998
- },
999
- {
1000
- "title": "Options Array",
1001
- "type": "array",
1002
- "items": {
1003
- "$ref": "#/components/schemas/FieldOptionDto"
1004
- }
1005
- }
1006
- ]
1007
- },
1008
- "type": {
1009
- "enum": [
1010
- "TEXT_BOX",
1011
- "TEXT_AREA",
1012
- "SELECT",
1013
- "MULTI_SELECT",
1014
- "DESCRIPTION",
1015
- "RADIO_BOX",
1016
- "CHECKBOX",
1017
- "SLIDER"
1018
- ],
1019
- "type": "string",
1020
- "title": "Field Type",
1021
- "description": "Type of the field."
1022
- },
1023
- "required": {
1024
- "type": "boolean",
1025
- "title": "Required",
1026
- "description": "Whether the field is required."
1027
- },
1028
- "disabled": {
1029
- "type": "boolean",
1030
- "title": "Disabled",
1031
- "description": "Whether the field is disabled."
1032
- },
1033
- "hidden": {
1034
- "type": "boolean"
1035
- },
1036
- "regexValidation": {
1037
- "type": "string",
1038
- "title": "Regex Validation",
1039
- "description": "Optional regex to validate input.",
1040
- "example": "^[A-Za-z0-9_-]+$"
1041
- },
1042
- "regexValidationErrorMessage": {
1043
- "items": {
1044
- "$ref": "#/components/schemas/MultilangTextDto"
1045
- },
1046
- "minItems": 1,
1047
- "type": "array",
1048
- "title": "Regex Validation Error Message",
1049
- "description": "Localized error message shown when regex validation fails."
1050
- },
1051
- "triggersRemoteValidation": {
1052
- "type": "boolean"
1053
- },
1054
- "remoteValidationErrorMessage": {
1055
- "items": {
1056
- "$ref": "#/components/schemas/MultilangTextDto"
1057
- },
1058
- "minItems": 1,
1059
- "type": "array",
1060
- "title": "Remote Validation Error Message",
1061
- "description": "Localized error message shown when remote validation fails."
1062
- },
1063
- "upgradable": {
1064
- "type": "boolean",
1065
- "title": "Upgradable",
1066
- "description": "Whether the item attribute is upgradable by the user."
1067
- },
1068
- "downgradable": {
1069
- "type": "boolean",
1070
- "title": "Downgradable",
1071
- "description": "Whether the item attribute is downgradable by the user."
1072
- }
1073
- },
1074
- "type": "object",
1075
- "required": [
1076
- "id",
1077
- "label",
1078
- "value",
1079
- "type",
1080
- "required",
1081
- "disabled"
1082
- ]
1083
- },
1084
- "InfoDto": {
1085
- "properties": {
1086
- "title": {
1087
- "minLength": 1,
1088
- "type": "string",
1089
- "title": "Title",
1090
- "description": "Integration display title.",
1091
- "example": "Example Product"
1092
- },
1093
- "logo": {
1094
- "format": "uri",
1095
- "type": "string",
1096
- "title": "Logo URL",
1097
- "description": "Public HTTPS URL for the integration logo.",
1098
- "example": "https://cdn.example.com/logo.png"
1099
- },
1100
- "description": {
1101
- "type": "string",
1102
- "title": "Description",
1103
- "description": "Short description of the integration.",
1104
- "example": "An example product integration."
1105
- },
1106
- "supportedLanguages": {
759
+ "supportedLanguages": {
1107
760
  "items": {
1108
761
  "enum": [
1109
762
  "AB",
@@ -1572,12 +1225,12 @@ exports.ComponentsSchemas = {
1572
1225
  },
1573
1226
  "setupAttributes": {
1574
1227
  "items": {
1575
- "$ref": "#/components/schemas/FieldDto"
1228
+ "$ref": "#/components/schemas/AnyFieldDto"
1576
1229
  },
1577
- "type": "array",
1578
1230
  "minItems": 1,
1231
+ "type": "array",
1579
1232
  "title": "Setup Attributes",
1580
- "description": "Configurable attributes that are used in the setup process."
1233
+ "description": "Configurable attributes that are used in the setup process. Each item is a concrete field DTO discriminated by its `type` literal."
1581
1234
  }
1582
1235
  },
1583
1236
  "type": "object",
@@ -2134,12 +1787,12 @@ exports.ComponentsSchemas = {
2134
1787
  },
2135
1788
  "setupAttributes": {
2136
1789
  "items": {
2137
- "$ref": "#/components/schemas/FieldDto"
1790
+ "$ref": "#/components/schemas/AnyFieldDto"
2138
1791
  },
2139
- "type": "array",
2140
1792
  "minItems": 1,
1793
+ "type": "array",
2141
1794
  "title": "Setup Attributes",
2142
- "description": "Configurable attributes that are used in the setup process."
1795
+ "description": "Configurable attributes that are used in the setup process. Each item is a concrete field DTO discriminated by its `type` literal."
2143
1796
  }
2144
1797
  },
2145
1798
  "type": "object",
@@ -2151,6 +1804,12 @@ exports.ComponentsSchemas = {
2151
1804
  },
2152
1805
  "AttributeFieldDto": {
2153
1806
  "properties": {
1807
+ "field": {
1808
+ "type": "object",
1809
+ "title": "Field",
1810
+ "description": "The concrete field DTO (discriminated by its `type` literal).",
1811
+ "$ref": "#/components/schemas/AnyFieldDto"
1812
+ },
2154
1813
  "visibleInOrder": {
2155
1814
  "type": "boolean",
2156
1815
  "title": "Visible In Order",
@@ -2170,120 +1829,11 @@ exports.ComponentsSchemas = {
2170
1829
  "type": "number",
2171
1830
  "title": "Repeatable Max",
2172
1831
  "description": "Maximum repeats for repeatable fields."
2173
- },
2174
- "id": {
2175
- "type": "string",
2176
- "title": "ID",
2177
- "description": "Unique identifier for the field."
2178
- },
2179
- "label": {
2180
- "items": {
2181
- "$ref": "#/components/schemas/MultilangTextDto"
2182
- },
2183
- "minItems": 1,
2184
- "type": "array",
2185
- "title": "Label",
2186
- "description": "Multilingual label for the field."
2187
- },
2188
- "value": {
2189
- "title": "Value",
2190
- "description": "Value of the field. String/Number, or FieldOptionDto/FieldOptionDto[] depending on type.",
2191
- "oneOf": [
2192
- {
2193
- "title": "String",
2194
- "type": "string"
2195
- },
2196
- {
2197
- "title": "Number",
2198
- "type": "number"
2199
- },
2200
- {
2201
- "title": "Option",
2202
- "$ref": "#/components/schemas/FieldOptionDto"
2203
- },
2204
- {
2205
- "title": "Options Array",
2206
- "type": "array",
2207
- "items": {
2208
- "$ref": "#/components/schemas/FieldOptionDto"
2209
- }
2210
- }
2211
- ]
2212
- },
2213
- "type": {
2214
- "enum": [
2215
- "TEXT_BOX",
2216
- "TEXT_AREA",
2217
- "SELECT",
2218
- "MULTI_SELECT",
2219
- "DESCRIPTION",
2220
- "RADIO_BOX",
2221
- "CHECKBOX",
2222
- "SLIDER"
2223
- ],
2224
- "type": "string",
2225
- "title": "Field Type",
2226
- "description": "Type of the field."
2227
- },
2228
- "required": {
2229
- "type": "boolean",
2230
- "title": "Required",
2231
- "description": "Whether the field is required."
2232
- },
2233
- "disabled": {
2234
- "type": "boolean",
2235
- "title": "Disabled",
2236
- "description": "Whether the field is disabled."
2237
- },
2238
- "hidden": {
2239
- "type": "boolean"
2240
- },
2241
- "regexValidation": {
2242
- "type": "string",
2243
- "title": "Regex Validation",
2244
- "description": "Optional regex to validate input.",
2245
- "example": "^[A-Za-z0-9_-]+$"
2246
- },
2247
- "regexValidationErrorMessage": {
2248
- "items": {
2249
- "$ref": "#/components/schemas/MultilangTextDto"
2250
- },
2251
- "minItems": 1,
2252
- "type": "array",
2253
- "title": "Regex Validation Error Message",
2254
- "description": "Localized error message shown when regex validation fails."
2255
- },
2256
- "triggersRemoteValidation": {
2257
- "type": "boolean"
2258
- },
2259
- "remoteValidationErrorMessage": {
2260
- "items": {
2261
- "$ref": "#/components/schemas/MultilangTextDto"
2262
- },
2263
- "minItems": 1,
2264
- "type": "array",
2265
- "title": "Remote Validation Error Message",
2266
- "description": "Localized error message shown when remote validation fails."
2267
- },
2268
- "upgradable": {
2269
- "type": "boolean",
2270
- "title": "Upgradable",
2271
- "description": "Whether the item attribute is upgradable by the user."
2272
- },
2273
- "downgradable": {
2274
- "type": "boolean",
2275
- "title": "Downgradable",
2276
- "description": "Whether the item attribute is downgradable by the user."
2277
1832
  }
2278
1833
  },
2279
1834
  "type": "object",
2280
1835
  "required": [
2281
- "id",
2282
- "label",
2283
- "value",
2284
- "type",
2285
- "required",
2286
- "disabled"
1836
+ "field"
2287
1837
  ]
2288
1838
  },
2289
1839
  "ProductInfoDto": {
@@ -2758,104 +2308,1865 @@ exports.ComponentsSchemas = {
2758
2308
  },
2759
2309
  "minItems": 1,
2760
2310
  "type": "array",
2761
- "title": "Listen Events",
2762
- "description": "Platform events the integration can subscribe to."
2311
+ "title": "Listen Events",
2312
+ "description": "Platform events the integration can subscribe to."
2313
+ },
2314
+ "requiredRoles": {
2315
+ "items": {
2316
+ "enum": [
2317
+ "SIMPLE_USER",
2318
+ "FULL_ACCESS",
2319
+ "SUPER_ADMIN",
2320
+ "ORDER_READ",
2321
+ "ORDER_WRITE",
2322
+ "ADDON_READ",
2323
+ "ADDON_WRITE",
2324
+ "AFFILIATE_READ",
2325
+ "AFFILIATE_WRITE",
2326
+ "COMPANY_READ",
2327
+ "COMPANY_WRITE",
2328
+ "TEMPLATE_READ",
2329
+ "TEMPLATE_WRITE",
2330
+ "COUPON_READ",
2331
+ "COUPON_WRITE",
2332
+ "DOMAIN_CATEGORY_READ",
2333
+ "DOMAIN_CATEGORY_WRITE",
2334
+ "DOMAIN_CONTACT_READ",
2335
+ "DOMAIN_CONTACT_WRITE",
2336
+ "DOMAIN_NAME_READ",
2337
+ "DOMAIN_NAME_WRITE",
2338
+ "INVOICE_CONTACT_READ",
2339
+ "INVOICE_CONTACT_WRITE",
2340
+ "INVOICE_READ",
2341
+ "INVOICE_WRITE",
2342
+ "IP_GROUPS_READ",
2343
+ "IP_GROUPS_WRITE",
2344
+ "IPS_READ",
2345
+ "IPS_WRITE",
2346
+ "ITEMS_READ",
2347
+ "ITEMS_WRITE",
2348
+ "ORDERS_READ",
2349
+ "ORDERS_WRITE",
2350
+ "TRANSACTIONS_READ",
2351
+ "TRANSACTIONS_WRITE",
2352
+ "POLICIES_READ",
2353
+ "POLICIES_WRITE",
2354
+ "PRODUCT_CATEGORIES_READ",
2355
+ "PRODUCT_CATEGORIES_WRITE",
2356
+ "PRODUCTS_READ",
2357
+ "PRODUCTS_WRITE",
2358
+ "SETTINGS_READ",
2359
+ "SETTINGS_WRITE",
2360
+ "INTEGRATIONS_READ",
2361
+ "INTEGRATIONS_WRITE",
2362
+ "TLDS_READ",
2363
+ "TLDS_WRITE",
2364
+ "USERS_READ",
2365
+ "USERS_WRITE",
2366
+ "ISSUES_WRITE",
2367
+ "ISSUES_READ",
2368
+ "ACTION_LOGS_READ"
2369
+ ],
2370
+ "type": "string"
2371
+ },
2372
+ "minItems": 1,
2373
+ "type": "array",
2374
+ "title": "Required Roles",
2375
+ "description": "Roles required for this integration to operate."
2376
+ },
2377
+ "adminPanel": {
2378
+ "$ref": "#/components/schemas/AdminPanelDto",
2379
+ "title": "Admin Panel",
2380
+ "description": "Admin UI links, tabs, and actions provided by the integration."
2381
+ },
2382
+ "clientPanel": {
2383
+ "$ref": "#/components/schemas/ClientPanelDto",
2384
+ "title": "Client Panel",
2385
+ "description": "Client UI links, tabs, and actions provided by the integration."
2386
+ },
2387
+ "onboardingUrl": {
2388
+ "format": "uri",
2389
+ "type": "string",
2390
+ "title": "Onboarding URL",
2391
+ "description": "URL to onboard/configure the integration.",
2392
+ "example": "https://example.com/onboarding"
2393
+ },
2394
+ "setupAttributes": {
2395
+ "items": {
2396
+ "$ref": "#/components/schemas/AnyFieldDto"
2397
+ },
2398
+ "minItems": 1,
2399
+ "type": "array",
2400
+ "title": "Setup Attributes",
2401
+ "description": "Configurable attributes that are used in the setup process. Each item is a concrete field DTO discriminated by its `type` literal."
2402
+ }
2403
+ },
2404
+ "type": "object",
2405
+ "required": [
2406
+ "supportedActions",
2407
+ "title",
2408
+ "supportedLanguages"
2409
+ ]
2410
+ },
2411
+ "MultilangTextDto": {
2412
+ "properties": {
2413
+ "language": {
2414
+ "enum": [
2415
+ "AB",
2416
+ "AA",
2417
+ "AF",
2418
+ "AK",
2419
+ "SQ",
2420
+ "AM",
2421
+ "AR",
2422
+ "AN",
2423
+ "HY",
2424
+ "AS",
2425
+ "AV",
2426
+ "AE",
2427
+ "AY",
2428
+ "AZ",
2429
+ "BM",
2430
+ "BA",
2431
+ "EU",
2432
+ "BE",
2433
+ "BN",
2434
+ "BI",
2435
+ "BS",
2436
+ "BR",
2437
+ "BG",
2438
+ "MY",
2439
+ "CA",
2440
+ "KM",
2441
+ "CH",
2442
+ "CE",
2443
+ "NY",
2444
+ "ZH",
2445
+ "CU",
2446
+ "CV",
2447
+ "KW",
2448
+ "CO",
2449
+ "CR",
2450
+ "HR",
2451
+ "CS",
2452
+ "DA",
2453
+ "DV",
2454
+ "NL",
2455
+ "DZ",
2456
+ "EN",
2457
+ "EO",
2458
+ "ET",
2459
+ "EE",
2460
+ "FO",
2461
+ "FJ",
2462
+ "FI",
2463
+ "FR",
2464
+ "FF",
2465
+ "GL",
2466
+ "LG",
2467
+ "KA",
2468
+ "DE",
2469
+ "EL",
2470
+ "GN",
2471
+ "GU",
2472
+ "HT",
2473
+ "HA",
2474
+ "HE",
2475
+ "HZ",
2476
+ "HI",
2477
+ "HO",
2478
+ "HU",
2479
+ "IS",
2480
+ "IO",
2481
+ "IG",
2482
+ "ID",
2483
+ "IA",
2484
+ "IE",
2485
+ "IU",
2486
+ "IK",
2487
+ "GA",
2488
+ "IT",
2489
+ "JA",
2490
+ "JV",
2491
+ "KL",
2492
+ "KN",
2493
+ "KR",
2494
+ "KS",
2495
+ "KK",
2496
+ "KI",
2497
+ "RW",
2498
+ "KY",
2499
+ "KV",
2500
+ "KG",
2501
+ "KO",
2502
+ "KJ",
2503
+ "KU",
2504
+ "LO",
2505
+ "LA",
2506
+ "LV",
2507
+ "LI",
2508
+ "LN",
2509
+ "LT",
2510
+ "LU",
2511
+ "LB",
2512
+ "MK",
2513
+ "MG",
2514
+ "MS",
2515
+ "ML",
2516
+ "MT",
2517
+ "GV",
2518
+ "MI",
2519
+ "MR",
2520
+ "MH",
2521
+ "MN",
2522
+ "NA",
2523
+ "NV",
2524
+ "ND",
2525
+ "NR",
2526
+ "NG",
2527
+ "NE",
2528
+ "SE",
2529
+ "NO",
2530
+ "NB",
2531
+ "NN",
2532
+ "II",
2533
+ "OC",
2534
+ "OJ",
2535
+ "OR",
2536
+ "OM",
2537
+ "OS",
2538
+ "PI",
2539
+ "PS",
2540
+ "FA",
2541
+ "PL",
2542
+ "PT",
2543
+ "PA",
2544
+ "QU",
2545
+ "RO",
2546
+ "RM",
2547
+ "RN",
2548
+ "RU",
2549
+ "SM",
2550
+ "SG",
2551
+ "SA",
2552
+ "SC",
2553
+ "GD",
2554
+ "SR",
2555
+ "SN",
2556
+ "II",
2557
+ "SD",
2558
+ "SI",
2559
+ "SK",
2560
+ "SL",
2561
+ "SO",
2562
+ "ST",
2563
+ "ES",
2564
+ "SU",
2565
+ "SW",
2566
+ "SS",
2567
+ "SV",
2568
+ "TL",
2569
+ "TY",
2570
+ "TG",
2571
+ "TA",
2572
+ "TT",
2573
+ "TE",
2574
+ "TH",
2575
+ "BO",
2576
+ "TI",
2577
+ "TO",
2578
+ "TS",
2579
+ "TN",
2580
+ "TR",
2581
+ "TK",
2582
+ "TW",
2583
+ "UG",
2584
+ "UK",
2585
+ "UR",
2586
+ "UZ",
2587
+ "VE",
2588
+ "VI",
2589
+ "VO",
2590
+ "WA",
2591
+ "CY",
2592
+ "FY",
2593
+ "WO",
2594
+ "XH",
2595
+ "YI",
2596
+ "YO",
2597
+ "ZA",
2598
+ "ZU"
2599
+ ],
2600
+ "type": "string",
2601
+ "title": "Language",
2602
+ "description": "The language of the text."
2603
+ },
2604
+ "text": {
2605
+ "minLength": 1,
2606
+ "type": "string",
2607
+ "title": "Text",
2608
+ "description": "The text content in the specified language."
2609
+ }
2610
+ },
2611
+ "type": "object",
2612
+ "required": [
2613
+ "language",
2614
+ "text"
2615
+ ]
2616
+ },
2617
+ "BaseFieldDto": {
2618
+ "properties": {
2619
+ "id": {
2620
+ "type": "string",
2621
+ "title": "ID",
2622
+ "description": "Unique identifier for the field."
2623
+ },
2624
+ "label": {
2625
+ "items": {
2626
+ "$ref": "#/components/schemas/MultilangTextDto"
2627
+ },
2628
+ "minItems": 1,
2629
+ "type": "array",
2630
+ "title": "Label",
2631
+ "description": "Multilingual label for the field."
2632
+ },
2633
+ "required": {
2634
+ "type": "boolean",
2635
+ "title": "Required",
2636
+ "description": "Whether the field is required."
2637
+ },
2638
+ "disabled": {
2639
+ "type": "boolean",
2640
+ "title": "Disabled",
2641
+ "description": "Whether the field is disabled."
2642
+ },
2643
+ "hidden": {
2644
+ "type": "boolean",
2645
+ "title": "Hidden",
2646
+ "description": "Whether the field is hidden."
2647
+ },
2648
+ "triggersRemoteValidation": {
2649
+ "type": "boolean",
2650
+ "title": "Triggers Remote Validation",
2651
+ "description": "Whether remote validation should be triggered for this field."
2652
+ },
2653
+ "remoteValidationErrorMessage": {
2654
+ "items": {
2655
+ "$ref": "#/components/schemas/MultilangTextDto"
2656
+ },
2657
+ "minItems": 1,
2658
+ "type": "array",
2659
+ "title": "Remote Validation Error Message",
2660
+ "description": "Localized error message shown when remote validation fails."
2661
+ },
2662
+ "upgradable": {
2663
+ "type": "boolean",
2664
+ "title": "Upgradable",
2665
+ "description": "Whether the item attribute is upgradable by the user."
2666
+ },
2667
+ "downgradable": {
2668
+ "type": "boolean",
2669
+ "title": "Downgradable",
2670
+ "description": "Whether the item attribute is downgradable by the user."
2671
+ }
2672
+ },
2673
+ "type": "object",
2674
+ "required": [
2675
+ "id",
2676
+ "label",
2677
+ "required",
2678
+ "disabled"
2679
+ ]
2680
+ },
2681
+ "BooleanFieldDto": {
2682
+ "properties": {
2683
+ "type": {
2684
+ "type": "string",
2685
+ "enum": [
2686
+ "BOOLEAN"
2687
+ ],
2688
+ "title": "Field Type",
2689
+ "description": "Discriminator literal — always 'BOOLEAN' for this DTO."
2690
+ },
2691
+ "value": {
2692
+ "type": "boolean",
2693
+ "title": "Value",
2694
+ "description": "Boolean value of the field."
2695
+ },
2696
+ "id": {
2697
+ "type": "string",
2698
+ "title": "ID",
2699
+ "description": "Unique identifier for the field."
2700
+ },
2701
+ "label": {
2702
+ "items": {
2703
+ "$ref": "#/components/schemas/MultilangTextDto"
2704
+ },
2705
+ "minItems": 1,
2706
+ "type": "array",
2707
+ "title": "Label",
2708
+ "description": "Multilingual label for the field."
2709
+ },
2710
+ "required": {
2711
+ "type": "boolean",
2712
+ "title": "Required",
2713
+ "description": "Whether the field is required."
2714
+ },
2715
+ "disabled": {
2716
+ "type": "boolean",
2717
+ "title": "Disabled",
2718
+ "description": "Whether the field is disabled."
2719
+ },
2720
+ "hidden": {
2721
+ "type": "boolean",
2722
+ "title": "Hidden",
2723
+ "description": "Whether the field is hidden."
2724
+ },
2725
+ "triggersRemoteValidation": {
2726
+ "type": "boolean",
2727
+ "title": "Triggers Remote Validation",
2728
+ "description": "Whether remote validation should be triggered for this field."
2729
+ },
2730
+ "remoteValidationErrorMessage": {
2731
+ "items": {
2732
+ "$ref": "#/components/schemas/MultilangTextDto"
2733
+ },
2734
+ "minItems": 1,
2735
+ "type": "array",
2736
+ "title": "Remote Validation Error Message",
2737
+ "description": "Localized error message shown when remote validation fails."
2738
+ },
2739
+ "upgradable": {
2740
+ "type": "boolean",
2741
+ "title": "Upgradable",
2742
+ "description": "Whether the item attribute is upgradable by the user."
2743
+ },
2744
+ "downgradable": {
2745
+ "type": "boolean",
2746
+ "title": "Downgradable",
2747
+ "description": "Whether the item attribute is downgradable by the user."
2748
+ }
2749
+ },
2750
+ "type": "object",
2751
+ "required": [
2752
+ "type",
2753
+ "id",
2754
+ "label",
2755
+ "required",
2756
+ "disabled"
2757
+ ]
2758
+ },
2759
+ "TextFieldDto": {
2760
+ "properties": {
2761
+ "type": {
2762
+ "type": "string",
2763
+ "enum": [
2764
+ "TEXT"
2765
+ ],
2766
+ "title": "Field Type",
2767
+ "description": "Discriminator literal — always 'TEXT' for this DTO."
2768
+ },
2769
+ "value": {
2770
+ "type": "string",
2771
+ "title": "Value",
2772
+ "description": "Text value of the field."
2773
+ },
2774
+ "minLength": {
2775
+ "minimum": 0,
2776
+ "type": "integer",
2777
+ "title": "Minimum Length",
2778
+ "description": "Minimum allowed character length."
2779
+ },
2780
+ "maxLength": {
2781
+ "minimum": 0,
2782
+ "type": "integer",
2783
+ "title": "Maximum Length",
2784
+ "description": "Maximum allowed character length."
2785
+ },
2786
+ "regexValidation": {
2787
+ "type": "string",
2788
+ "title": "Regex Validation",
2789
+ "description": "Optional regex to validate input.",
2790
+ "example": "^[A-Za-z0-9_-]+$"
2791
+ },
2792
+ "regexValidationErrorMessage": {
2793
+ "items": {
2794
+ "$ref": "#/components/schemas/MultilangTextDto"
2795
+ },
2796
+ "minItems": 1,
2797
+ "type": "array",
2798
+ "title": "Regex Validation Error Message",
2799
+ "description": "Localized error message shown when regex validation fails."
2800
+ },
2801
+ "id": {
2802
+ "type": "string",
2803
+ "title": "ID",
2804
+ "description": "Unique identifier for the field."
2805
+ },
2806
+ "label": {
2807
+ "items": {
2808
+ "$ref": "#/components/schemas/MultilangTextDto"
2809
+ },
2810
+ "minItems": 1,
2811
+ "type": "array",
2812
+ "title": "Label",
2813
+ "description": "Multilingual label for the field."
2814
+ },
2815
+ "required": {
2816
+ "type": "boolean",
2817
+ "title": "Required",
2818
+ "description": "Whether the field is required."
2819
+ },
2820
+ "disabled": {
2821
+ "type": "boolean",
2822
+ "title": "Disabled",
2823
+ "description": "Whether the field is disabled."
2824
+ },
2825
+ "hidden": {
2826
+ "type": "boolean",
2827
+ "title": "Hidden",
2828
+ "description": "Whether the field is hidden."
2829
+ },
2830
+ "triggersRemoteValidation": {
2831
+ "type": "boolean",
2832
+ "title": "Triggers Remote Validation",
2833
+ "description": "Whether remote validation should be triggered for this field."
2834
+ },
2835
+ "remoteValidationErrorMessage": {
2836
+ "items": {
2837
+ "$ref": "#/components/schemas/MultilangTextDto"
2838
+ },
2839
+ "minItems": 1,
2840
+ "type": "array",
2841
+ "title": "Remote Validation Error Message",
2842
+ "description": "Localized error message shown when remote validation fails."
2843
+ },
2844
+ "upgradable": {
2845
+ "type": "boolean",
2846
+ "title": "Upgradable",
2847
+ "description": "Whether the item attribute is upgradable by the user."
2848
+ },
2849
+ "downgradable": {
2850
+ "type": "boolean",
2851
+ "title": "Downgradable",
2852
+ "description": "Whether the item attribute is downgradable by the user."
2853
+ }
2854
+ },
2855
+ "type": "object",
2856
+ "required": [
2857
+ "type",
2858
+ "id",
2859
+ "label",
2860
+ "required",
2861
+ "disabled"
2862
+ ]
2863
+ },
2864
+ "TextareaFieldDto": {
2865
+ "properties": {
2866
+ "type": {
2867
+ "type": "string",
2868
+ "enum": [
2869
+ "TEXTAREA"
2870
+ ],
2871
+ "title": "Field Type",
2872
+ "description": "Discriminator literal — always 'TEXTAREA' for this DTO."
2873
+ },
2874
+ "value": {
2875
+ "type": "string",
2876
+ "title": "Value",
2877
+ "description": "Text value of the field."
2878
+ },
2879
+ "minLength": {
2880
+ "minimum": 0,
2881
+ "type": "integer",
2882
+ "title": "Minimum Length",
2883
+ "description": "Minimum allowed character length."
2884
+ },
2885
+ "maxLength": {
2886
+ "minimum": 0,
2887
+ "type": "integer",
2888
+ "title": "Maximum Length",
2889
+ "description": "Maximum allowed character length."
2890
+ },
2891
+ "regexValidation": {
2892
+ "type": "string",
2893
+ "title": "Regex Validation",
2894
+ "description": "Optional regex to validate input.",
2895
+ "example": "^[A-Za-z0-9_-]+$"
2896
+ },
2897
+ "regexValidationErrorMessage": {
2898
+ "items": {
2899
+ "$ref": "#/components/schemas/MultilangTextDto"
2900
+ },
2901
+ "minItems": 1,
2902
+ "type": "array",
2903
+ "title": "Regex Validation Error Message",
2904
+ "description": "Localized error message shown when regex validation fails."
2905
+ },
2906
+ "id": {
2907
+ "type": "string",
2908
+ "title": "ID",
2909
+ "description": "Unique identifier for the field."
2910
+ },
2911
+ "label": {
2912
+ "items": {
2913
+ "$ref": "#/components/schemas/MultilangTextDto"
2914
+ },
2915
+ "minItems": 1,
2916
+ "type": "array",
2917
+ "title": "Label",
2918
+ "description": "Multilingual label for the field."
2919
+ },
2920
+ "required": {
2921
+ "type": "boolean",
2922
+ "title": "Required",
2923
+ "description": "Whether the field is required."
2924
+ },
2925
+ "disabled": {
2926
+ "type": "boolean",
2927
+ "title": "Disabled",
2928
+ "description": "Whether the field is disabled."
2929
+ },
2930
+ "hidden": {
2931
+ "type": "boolean",
2932
+ "title": "Hidden",
2933
+ "description": "Whether the field is hidden."
2934
+ },
2935
+ "triggersRemoteValidation": {
2936
+ "type": "boolean",
2937
+ "title": "Triggers Remote Validation",
2938
+ "description": "Whether remote validation should be triggered for this field."
2939
+ },
2940
+ "remoteValidationErrorMessage": {
2941
+ "items": {
2942
+ "$ref": "#/components/schemas/MultilangTextDto"
2943
+ },
2944
+ "minItems": 1,
2945
+ "type": "array",
2946
+ "title": "Remote Validation Error Message",
2947
+ "description": "Localized error message shown when remote validation fails."
2948
+ },
2949
+ "upgradable": {
2950
+ "type": "boolean",
2951
+ "title": "Upgradable",
2952
+ "description": "Whether the item attribute is upgradable by the user."
2953
+ },
2954
+ "downgradable": {
2955
+ "type": "boolean",
2956
+ "title": "Downgradable",
2957
+ "description": "Whether the item attribute is downgradable by the user."
2958
+ }
2959
+ },
2960
+ "type": "object",
2961
+ "required": [
2962
+ "type",
2963
+ "id",
2964
+ "label",
2965
+ "required",
2966
+ "disabled"
2967
+ ]
2968
+ },
2969
+ "NumberFieldDto": {
2970
+ "properties": {
2971
+ "type": {
2972
+ "type": "string",
2973
+ "enum": [
2974
+ "NUMBER"
2975
+ ],
2976
+ "title": "Field Type",
2977
+ "description": "Discriminator literal — always 'NUMBER' for this DTO."
2978
+ },
2979
+ "value": {
2980
+ "type": "number",
2981
+ "title": "Value",
2982
+ "description": "Numeric value of the field."
2983
+ },
2984
+ "min": {
2985
+ "type": "number",
2986
+ "title": "Minimum",
2987
+ "description": "Minimum allowed value."
2988
+ },
2989
+ "max": {
2990
+ "type": "number",
2991
+ "title": "Maximum",
2992
+ "description": "Maximum allowed value."
2993
+ },
2994
+ "integer": {
2995
+ "type": "boolean",
2996
+ "title": "Integer Only",
2997
+ "description": "When true, only integer values are allowed."
2998
+ },
2999
+ "id": {
3000
+ "type": "string",
3001
+ "title": "ID",
3002
+ "description": "Unique identifier for the field."
3003
+ },
3004
+ "label": {
3005
+ "items": {
3006
+ "$ref": "#/components/schemas/MultilangTextDto"
3007
+ },
3008
+ "minItems": 1,
3009
+ "type": "array",
3010
+ "title": "Label",
3011
+ "description": "Multilingual label for the field."
3012
+ },
3013
+ "required": {
3014
+ "type": "boolean",
3015
+ "title": "Required",
3016
+ "description": "Whether the field is required."
3017
+ },
3018
+ "disabled": {
3019
+ "type": "boolean",
3020
+ "title": "Disabled",
3021
+ "description": "Whether the field is disabled."
3022
+ },
3023
+ "hidden": {
3024
+ "type": "boolean",
3025
+ "title": "Hidden",
3026
+ "description": "Whether the field is hidden."
3027
+ },
3028
+ "triggersRemoteValidation": {
3029
+ "type": "boolean",
3030
+ "title": "Triggers Remote Validation",
3031
+ "description": "Whether remote validation should be triggered for this field."
3032
+ },
3033
+ "remoteValidationErrorMessage": {
3034
+ "items": {
3035
+ "$ref": "#/components/schemas/MultilangTextDto"
3036
+ },
3037
+ "minItems": 1,
3038
+ "type": "array",
3039
+ "title": "Remote Validation Error Message",
3040
+ "description": "Localized error message shown when remote validation fails."
3041
+ },
3042
+ "upgradable": {
3043
+ "type": "boolean",
3044
+ "title": "Upgradable",
3045
+ "description": "Whether the item attribute is upgradable by the user."
3046
+ },
3047
+ "downgradable": {
3048
+ "type": "boolean",
3049
+ "title": "Downgradable",
3050
+ "description": "Whether the item attribute is downgradable by the user."
3051
+ }
3052
+ },
3053
+ "type": "object",
3054
+ "required": [
3055
+ "type",
3056
+ "id",
3057
+ "label",
3058
+ "required",
3059
+ "disabled"
3060
+ ]
3061
+ },
3062
+ "PhoneFieldDto": {
3063
+ "properties": {
3064
+ "type": {
3065
+ "type": "string",
3066
+ "enum": [
3067
+ "PHONE"
3068
+ ],
3069
+ "title": "Field Type",
3070
+ "description": "Discriminator literal — always 'PHONE' for this DTO."
3071
+ },
3072
+ "value": {
3073
+ "type": "string",
3074
+ "title": "Value",
3075
+ "description": "Phone number in E.164 format (e.g. +14155552671).",
3076
+ "example": "+14155552671"
3077
+ },
3078
+ "id": {
3079
+ "type": "string",
3080
+ "title": "ID",
3081
+ "description": "Unique identifier for the field."
3082
+ },
3083
+ "label": {
3084
+ "items": {
3085
+ "$ref": "#/components/schemas/MultilangTextDto"
3086
+ },
3087
+ "minItems": 1,
3088
+ "type": "array",
3089
+ "title": "Label",
3090
+ "description": "Multilingual label for the field."
3091
+ },
3092
+ "required": {
3093
+ "type": "boolean",
3094
+ "title": "Required",
3095
+ "description": "Whether the field is required."
3096
+ },
3097
+ "disabled": {
3098
+ "type": "boolean",
3099
+ "title": "Disabled",
3100
+ "description": "Whether the field is disabled."
3101
+ },
3102
+ "hidden": {
3103
+ "type": "boolean",
3104
+ "title": "Hidden",
3105
+ "description": "Whether the field is hidden."
3106
+ },
3107
+ "triggersRemoteValidation": {
3108
+ "type": "boolean",
3109
+ "title": "Triggers Remote Validation",
3110
+ "description": "Whether remote validation should be triggered for this field."
3111
+ },
3112
+ "remoteValidationErrorMessage": {
3113
+ "items": {
3114
+ "$ref": "#/components/schemas/MultilangTextDto"
3115
+ },
3116
+ "minItems": 1,
3117
+ "type": "array",
3118
+ "title": "Remote Validation Error Message",
3119
+ "description": "Localized error message shown when remote validation fails."
3120
+ },
3121
+ "upgradable": {
3122
+ "type": "boolean",
3123
+ "title": "Upgradable",
3124
+ "description": "Whether the item attribute is upgradable by the user."
3125
+ },
3126
+ "downgradable": {
3127
+ "type": "boolean",
3128
+ "title": "Downgradable",
3129
+ "description": "Whether the item attribute is downgradable by the user."
3130
+ }
3131
+ },
3132
+ "type": "object",
3133
+ "required": [
3134
+ "type",
3135
+ "id",
3136
+ "label",
3137
+ "required",
3138
+ "disabled"
3139
+ ]
3140
+ },
3141
+ "EmailFieldDto": {
3142
+ "properties": {
3143
+ "type": {
3144
+ "type": "string",
3145
+ "enum": [
3146
+ "EMAIL"
3147
+ ],
3148
+ "title": "Field Type",
3149
+ "description": "Discriminator literal — always 'EMAIL' for this DTO."
3150
+ },
3151
+ "value": {
3152
+ "format": "email",
3153
+ "type": "string",
3154
+ "title": "Value",
3155
+ "description": "Email address."
3156
+ },
3157
+ "id": {
3158
+ "type": "string",
3159
+ "title": "ID",
3160
+ "description": "Unique identifier for the field."
3161
+ },
3162
+ "label": {
3163
+ "items": {
3164
+ "$ref": "#/components/schemas/MultilangTextDto"
3165
+ },
3166
+ "minItems": 1,
3167
+ "type": "array",
3168
+ "title": "Label",
3169
+ "description": "Multilingual label for the field."
3170
+ },
3171
+ "required": {
3172
+ "type": "boolean",
3173
+ "title": "Required",
3174
+ "description": "Whether the field is required."
3175
+ },
3176
+ "disabled": {
3177
+ "type": "boolean",
3178
+ "title": "Disabled",
3179
+ "description": "Whether the field is disabled."
3180
+ },
3181
+ "hidden": {
3182
+ "type": "boolean",
3183
+ "title": "Hidden",
3184
+ "description": "Whether the field is hidden."
3185
+ },
3186
+ "triggersRemoteValidation": {
3187
+ "type": "boolean",
3188
+ "title": "Triggers Remote Validation",
3189
+ "description": "Whether remote validation should be triggered for this field."
3190
+ },
3191
+ "remoteValidationErrorMessage": {
3192
+ "items": {
3193
+ "$ref": "#/components/schemas/MultilangTextDto"
3194
+ },
3195
+ "minItems": 1,
3196
+ "type": "array",
3197
+ "title": "Remote Validation Error Message",
3198
+ "description": "Localized error message shown when remote validation fails."
3199
+ },
3200
+ "upgradable": {
3201
+ "type": "boolean",
3202
+ "title": "Upgradable",
3203
+ "description": "Whether the item attribute is upgradable by the user."
3204
+ },
3205
+ "downgradable": {
3206
+ "type": "boolean",
3207
+ "title": "Downgradable",
3208
+ "description": "Whether the item attribute is downgradable by the user."
3209
+ }
3210
+ },
3211
+ "type": "object",
3212
+ "required": [
3213
+ "type",
3214
+ "id",
3215
+ "label",
3216
+ "required",
3217
+ "disabled"
3218
+ ]
3219
+ },
3220
+ "UrlFieldDto": {
3221
+ "properties": {
3222
+ "type": {
3223
+ "type": "string",
3224
+ "enum": [
3225
+ "URL"
3226
+ ],
3227
+ "title": "Field Type",
3228
+ "description": "Discriminator literal — always 'URL' for this DTO."
3229
+ },
3230
+ "value": {
3231
+ "format": "uri",
3232
+ "type": "string",
3233
+ "title": "Value",
3234
+ "description": "URL."
3235
+ },
3236
+ "id": {
3237
+ "type": "string",
3238
+ "title": "ID",
3239
+ "description": "Unique identifier for the field."
3240
+ },
3241
+ "label": {
3242
+ "items": {
3243
+ "$ref": "#/components/schemas/MultilangTextDto"
3244
+ },
3245
+ "minItems": 1,
3246
+ "type": "array",
3247
+ "title": "Label",
3248
+ "description": "Multilingual label for the field."
3249
+ },
3250
+ "required": {
3251
+ "type": "boolean",
3252
+ "title": "Required",
3253
+ "description": "Whether the field is required."
3254
+ },
3255
+ "disabled": {
3256
+ "type": "boolean",
3257
+ "title": "Disabled",
3258
+ "description": "Whether the field is disabled."
3259
+ },
3260
+ "hidden": {
3261
+ "type": "boolean",
3262
+ "title": "Hidden",
3263
+ "description": "Whether the field is hidden."
3264
+ },
3265
+ "triggersRemoteValidation": {
3266
+ "type": "boolean",
3267
+ "title": "Triggers Remote Validation",
3268
+ "description": "Whether remote validation should be triggered for this field."
3269
+ },
3270
+ "remoteValidationErrorMessage": {
3271
+ "items": {
3272
+ "$ref": "#/components/schemas/MultilangTextDto"
3273
+ },
3274
+ "minItems": 1,
3275
+ "type": "array",
3276
+ "title": "Remote Validation Error Message",
3277
+ "description": "Localized error message shown when remote validation fails."
3278
+ },
3279
+ "upgradable": {
3280
+ "type": "boolean",
3281
+ "title": "Upgradable",
3282
+ "description": "Whether the item attribute is upgradable by the user."
3283
+ },
3284
+ "downgradable": {
3285
+ "type": "boolean",
3286
+ "title": "Downgradable",
3287
+ "description": "Whether the item attribute is downgradable by the user."
3288
+ }
3289
+ },
3290
+ "type": "object",
3291
+ "required": [
3292
+ "type",
3293
+ "id",
3294
+ "label",
3295
+ "required",
3296
+ "disabled"
3297
+ ]
3298
+ },
3299
+ "CountriesFieldDto": {
3300
+ "properties": {
3301
+ "type": {
3302
+ "type": "string",
3303
+ "enum": [
3304
+ "COUNTRIES"
3305
+ ],
3306
+ "title": "Field Type",
3307
+ "description": "Discriminator literal — always 'COUNTRIES' for this DTO."
3308
+ },
3309
+ "value": {
3310
+ "items": {
3311
+ "enum": [
3312
+ "AF",
3313
+ "AX",
3314
+ "AL",
3315
+ "DZ",
3316
+ "AS",
3317
+ "AD",
3318
+ "AO",
3319
+ "AI",
3320
+ "AQ",
3321
+ "AG",
3322
+ "AR",
3323
+ "AM",
3324
+ "AW",
3325
+ "AU",
3326
+ "AT",
3327
+ "AZ",
3328
+ "BS",
3329
+ "BH",
3330
+ "BD",
3331
+ "BB",
3332
+ "BY",
3333
+ "BE",
3334
+ "BZ",
3335
+ "BJ",
3336
+ "BM",
3337
+ "BT",
3338
+ "BO",
3339
+ "BQ",
3340
+ "BA",
3341
+ "BW",
3342
+ "BV",
3343
+ "BR",
3344
+ "IO",
3345
+ "BN",
3346
+ "BG",
3347
+ "BF",
3348
+ "BI",
3349
+ "KH",
3350
+ "CM",
3351
+ "CA",
3352
+ "CV",
3353
+ "KY",
3354
+ "CF",
3355
+ "TD",
3356
+ "CL",
3357
+ "CN",
3358
+ "CX",
3359
+ "CC",
3360
+ "CO",
3361
+ "KM",
3362
+ "CG",
3363
+ "CD",
3364
+ "CK",
3365
+ "CR",
3366
+ "CI",
3367
+ "HR",
3368
+ "CU",
3369
+ "CW",
3370
+ "CY",
3371
+ "CZ",
3372
+ "DK",
3373
+ "DJ",
3374
+ "DM",
3375
+ "DO",
3376
+ "EC",
3377
+ "EG",
3378
+ "SV",
3379
+ "GQ",
3380
+ "ER",
3381
+ "EE",
3382
+ "ET",
3383
+ "FK",
3384
+ "FO",
3385
+ "FJ",
3386
+ "FI",
3387
+ "FR",
3388
+ "GF",
3389
+ "PF",
3390
+ "TF",
3391
+ "GA",
3392
+ "GM",
3393
+ "GE",
3394
+ "DE",
3395
+ "GH",
3396
+ "GI",
3397
+ "GR",
3398
+ "GL",
3399
+ "GD",
3400
+ "GP",
3401
+ "GU",
3402
+ "GT",
3403
+ "GG",
3404
+ "GN",
3405
+ "GW",
3406
+ "GY",
3407
+ "HT",
3408
+ "HM",
3409
+ "VA",
3410
+ "HN",
3411
+ "HK",
3412
+ "HU",
3413
+ "IS",
3414
+ "IN",
3415
+ "ID",
3416
+ "IR",
3417
+ "IQ",
3418
+ "IE",
3419
+ "IM",
3420
+ "IL",
3421
+ "IT",
3422
+ "JM",
3423
+ "JP",
3424
+ "JE",
3425
+ "JO",
3426
+ "KZ",
3427
+ "KE",
3428
+ "KI",
3429
+ "KP",
3430
+ "KR",
3431
+ "KW",
3432
+ "KG",
3433
+ "LA",
3434
+ "LV",
3435
+ "LB",
3436
+ "LS",
3437
+ "LR",
3438
+ "LY",
3439
+ "LI",
3440
+ "LT",
3441
+ "LU",
3442
+ "MO",
3443
+ "MK",
3444
+ "MG",
3445
+ "MW",
3446
+ "MY",
3447
+ "MV",
3448
+ "ML",
3449
+ "MT",
3450
+ "MH",
3451
+ "MQ",
3452
+ "MR",
3453
+ "MU",
3454
+ "TN",
3455
+ "TR",
3456
+ "TM",
3457
+ "TC",
3458
+ "TV",
3459
+ "UG",
3460
+ "UA",
3461
+ "AE",
3462
+ "GB",
3463
+ "US",
3464
+ "UM",
3465
+ "UY",
3466
+ "UZ",
3467
+ "VU",
3468
+ "VE",
3469
+ "VN",
3470
+ "VG",
3471
+ "VI",
3472
+ "WF",
3473
+ "EH",
3474
+ "YE",
3475
+ "ZM",
3476
+ "ZW",
3477
+ "YT",
3478
+ "MX",
3479
+ "FM",
3480
+ "MD",
3481
+ "MC",
3482
+ "MN",
3483
+ "ME",
3484
+ "MS",
3485
+ "MA",
3486
+ "MZ",
3487
+ "MM",
3488
+ "NA",
3489
+ "NR",
3490
+ "NP",
3491
+ "NL",
3492
+ "NC",
3493
+ "NZ",
3494
+ "NI",
3495
+ "NE",
3496
+ "NG",
3497
+ "NU",
3498
+ "NF",
3499
+ "MP",
3500
+ "NO",
3501
+ "OM",
3502
+ "PK",
3503
+ "PW",
3504
+ "PS",
3505
+ "PA",
3506
+ "PG",
3507
+ "PY",
3508
+ "PE",
3509
+ "PH",
3510
+ "PN",
3511
+ "PL",
3512
+ "PT",
3513
+ "PR",
3514
+ "QA",
3515
+ "RE",
3516
+ "RO",
3517
+ "RU",
3518
+ "RW",
3519
+ "BL",
3520
+ "SH",
3521
+ "KN",
3522
+ "LC",
3523
+ "MF",
3524
+ "PM",
3525
+ "VC",
3526
+ "WS",
3527
+ "SM",
3528
+ "ST",
3529
+ "SA",
3530
+ "SN",
3531
+ "RS",
3532
+ "SC",
3533
+ "SL",
3534
+ "SG",
3535
+ "SX",
3536
+ "SK",
3537
+ "SI",
3538
+ "SB",
3539
+ "SO",
3540
+ "ZA",
3541
+ "GS",
3542
+ "SS",
3543
+ "ES",
3544
+ "LK",
3545
+ "SD",
3546
+ "SR",
3547
+ "SJ",
3548
+ "SZ",
3549
+ "SE",
3550
+ "CH",
3551
+ "SY",
3552
+ "TW",
3553
+ "TJ",
3554
+ "TZ",
3555
+ "TH",
3556
+ "TL",
3557
+ "TG",
3558
+ "TK",
3559
+ "TO",
3560
+ "TT"
3561
+ ],
3562
+ "type": "string"
3563
+ },
3564
+ "type": "array",
3565
+ "title": "Value",
3566
+ "description": "Array of ISO 3166-1 alpha-2 country codes."
3567
+ },
3568
+ "id": {
3569
+ "type": "string",
3570
+ "title": "ID",
3571
+ "description": "Unique identifier for the field."
3572
+ },
3573
+ "label": {
3574
+ "items": {
3575
+ "$ref": "#/components/schemas/MultilangTextDto"
3576
+ },
3577
+ "minItems": 1,
3578
+ "type": "array",
3579
+ "title": "Label",
3580
+ "description": "Multilingual label for the field."
3581
+ },
3582
+ "required": {
3583
+ "type": "boolean",
3584
+ "title": "Required",
3585
+ "description": "Whether the field is required."
3586
+ },
3587
+ "disabled": {
3588
+ "type": "boolean",
3589
+ "title": "Disabled",
3590
+ "description": "Whether the field is disabled."
3591
+ },
3592
+ "hidden": {
3593
+ "type": "boolean",
3594
+ "title": "Hidden",
3595
+ "description": "Whether the field is hidden."
3596
+ },
3597
+ "triggersRemoteValidation": {
3598
+ "type": "boolean",
3599
+ "title": "Triggers Remote Validation",
3600
+ "description": "Whether remote validation should be triggered for this field."
3601
+ },
3602
+ "remoteValidationErrorMessage": {
3603
+ "items": {
3604
+ "$ref": "#/components/schemas/MultilangTextDto"
3605
+ },
3606
+ "minItems": 1,
3607
+ "type": "array",
3608
+ "title": "Remote Validation Error Message",
3609
+ "description": "Localized error message shown when remote validation fails."
3610
+ },
3611
+ "upgradable": {
3612
+ "type": "boolean",
3613
+ "title": "Upgradable",
3614
+ "description": "Whether the item attribute is upgradable by the user."
3615
+ },
3616
+ "downgradable": {
3617
+ "type": "boolean",
3618
+ "title": "Downgradable",
3619
+ "description": "Whether the item attribute is downgradable by the user."
3620
+ }
3621
+ },
3622
+ "type": "object",
3623
+ "required": [
3624
+ "type",
3625
+ "id",
3626
+ "label",
3627
+ "required",
3628
+ "disabled"
3629
+ ]
3630
+ },
3631
+ "CurrencyFieldDto": {
3632
+ "properties": {
3633
+ "type": {
3634
+ "type": "string",
3635
+ "enum": [
3636
+ "CURRENCY"
3637
+ ],
3638
+ "title": "Field Type",
3639
+ "description": "Discriminator literal — always 'CURRENCY' for this DTO."
3640
+ },
3641
+ "value": {
3642
+ "enum": [
3643
+ "EUR",
3644
+ "USD",
3645
+ "GBP",
3646
+ "CHF",
3647
+ "SEK",
3648
+ "NOK",
3649
+ "DKK",
3650
+ "PLN",
3651
+ "CZK",
3652
+ "HUF",
3653
+ "RON",
3654
+ "BGN",
3655
+ "TRY",
3656
+ "RUB",
3657
+ "JPY",
3658
+ "CNY",
3659
+ "AUD",
3660
+ "NZD",
3661
+ "CAD",
3662
+ "ZAR",
3663
+ "INR",
3664
+ "MXN",
3665
+ "BRL",
3666
+ "ARS",
3667
+ "CLP",
3668
+ "COP",
3669
+ "PEN",
3670
+ "UYU",
3671
+ "VES",
3672
+ "ILS",
3673
+ "AED",
3674
+ "SAR",
3675
+ "KRW",
3676
+ "SGD",
3677
+ "HKD",
3678
+ "TWD",
3679
+ "THB",
3680
+ "MYR",
3681
+ "IDR",
3682
+ "PHP",
3683
+ "VND"
3684
+ ],
3685
+ "type": "string",
3686
+ "title": "Value",
3687
+ "description": "ISO 4217 currency code."
3688
+ },
3689
+ "id": {
3690
+ "type": "string",
3691
+ "title": "ID",
3692
+ "description": "Unique identifier for the field."
3693
+ },
3694
+ "label": {
3695
+ "items": {
3696
+ "$ref": "#/components/schemas/MultilangTextDto"
3697
+ },
3698
+ "minItems": 1,
3699
+ "type": "array",
3700
+ "title": "Label",
3701
+ "description": "Multilingual label for the field."
3702
+ },
3703
+ "required": {
3704
+ "type": "boolean",
3705
+ "title": "Required",
3706
+ "description": "Whether the field is required."
3707
+ },
3708
+ "disabled": {
3709
+ "type": "boolean",
3710
+ "title": "Disabled",
3711
+ "description": "Whether the field is disabled."
3712
+ },
3713
+ "hidden": {
3714
+ "type": "boolean",
3715
+ "title": "Hidden",
3716
+ "description": "Whether the field is hidden."
3717
+ },
3718
+ "triggersRemoteValidation": {
3719
+ "type": "boolean",
3720
+ "title": "Triggers Remote Validation",
3721
+ "description": "Whether remote validation should be triggered for this field."
3722
+ },
3723
+ "remoteValidationErrorMessage": {
3724
+ "items": {
3725
+ "$ref": "#/components/schemas/MultilangTextDto"
3726
+ },
3727
+ "minItems": 1,
3728
+ "type": "array",
3729
+ "title": "Remote Validation Error Message",
3730
+ "description": "Localized error message shown when remote validation fails."
3731
+ },
3732
+ "upgradable": {
3733
+ "type": "boolean",
3734
+ "title": "Upgradable",
3735
+ "description": "Whether the item attribute is upgradable by the user."
3736
+ },
3737
+ "downgradable": {
3738
+ "type": "boolean",
3739
+ "title": "Downgradable",
3740
+ "description": "Whether the item attribute is downgradable by the user."
3741
+ }
3742
+ },
3743
+ "type": "object",
3744
+ "required": [
3745
+ "type",
3746
+ "id",
3747
+ "label",
3748
+ "required",
3749
+ "disabled"
3750
+ ]
3751
+ },
3752
+ "DateFieldDto": {
3753
+ "properties": {
3754
+ "type": {
3755
+ "type": "string",
3756
+ "enum": [
3757
+ "DATE"
3758
+ ],
3759
+ "title": "Field Type",
3760
+ "description": "Discriminator literal — always 'DATE' for this DTO."
3761
+ },
3762
+ "value": {
3763
+ "oneOf": [
3764
+ {
3765
+ "format": "date",
3766
+ "type": "string"
3767
+ },
3768
+ {
3769
+ "format": "date-time",
3770
+ "type": "string"
3771
+ }
3772
+ ],
3773
+ "title": "Value",
3774
+ "description": "ISO 8601 date or date-time string.",
3775
+ "type": "string",
3776
+ "format": "date-time"
3777
+ },
3778
+ "id": {
3779
+ "type": "string",
3780
+ "title": "ID",
3781
+ "description": "Unique identifier for the field."
3782
+ },
3783
+ "label": {
3784
+ "items": {
3785
+ "$ref": "#/components/schemas/MultilangTextDto"
3786
+ },
3787
+ "minItems": 1,
3788
+ "type": "array",
3789
+ "title": "Label",
3790
+ "description": "Multilingual label for the field."
3791
+ },
3792
+ "required": {
3793
+ "type": "boolean",
3794
+ "title": "Required",
3795
+ "description": "Whether the field is required."
3796
+ },
3797
+ "disabled": {
3798
+ "type": "boolean",
3799
+ "title": "Disabled",
3800
+ "description": "Whether the field is disabled."
3801
+ },
3802
+ "hidden": {
3803
+ "type": "boolean",
3804
+ "title": "Hidden",
3805
+ "description": "Whether the field is hidden."
3806
+ },
3807
+ "triggersRemoteValidation": {
3808
+ "type": "boolean",
3809
+ "title": "Triggers Remote Validation",
3810
+ "description": "Whether remote validation should be triggered for this field."
3811
+ },
3812
+ "remoteValidationErrorMessage": {
3813
+ "items": {
3814
+ "$ref": "#/components/schemas/MultilangTextDto"
3815
+ },
3816
+ "minItems": 1,
3817
+ "type": "array",
3818
+ "title": "Remote Validation Error Message",
3819
+ "description": "Localized error message shown when remote validation fails."
3820
+ },
3821
+ "upgradable": {
3822
+ "type": "boolean",
3823
+ "title": "Upgradable",
3824
+ "description": "Whether the item attribute is upgradable by the user."
3825
+ },
3826
+ "downgradable": {
3827
+ "type": "boolean",
3828
+ "title": "Downgradable",
3829
+ "description": "Whether the item attribute is downgradable by the user."
3830
+ }
3831
+ },
3832
+ "type": "object",
3833
+ "required": [
3834
+ "type",
3835
+ "id",
3836
+ "label",
3837
+ "required",
3838
+ "disabled"
3839
+ ]
3840
+ },
3841
+ "PasswordFieldDto": {
3842
+ "properties": {
3843
+ "type": {
3844
+ "type": "string",
3845
+ "enum": [
3846
+ "PASSWORD"
3847
+ ],
3848
+ "title": "Field Type",
3849
+ "description": "Discriminator literal — always 'PASSWORD' for this DTO."
3850
+ },
3851
+ "value": {
3852
+ "type": "string",
3853
+ "title": "Value",
3854
+ "description": "Password value.",
3855
+ "format": "password"
3856
+ },
3857
+ "minLength": {
3858
+ "minimum": 0,
3859
+ "type": "integer",
3860
+ "title": "Minimum Length",
3861
+ "description": "Minimum allowed length."
3862
+ },
3863
+ "id": {
3864
+ "type": "string",
3865
+ "title": "ID",
3866
+ "description": "Unique identifier for the field."
3867
+ },
3868
+ "label": {
3869
+ "items": {
3870
+ "$ref": "#/components/schemas/MultilangTextDto"
3871
+ },
3872
+ "minItems": 1,
3873
+ "type": "array",
3874
+ "title": "Label",
3875
+ "description": "Multilingual label for the field."
3876
+ },
3877
+ "required": {
3878
+ "type": "boolean",
3879
+ "title": "Required",
3880
+ "description": "Whether the field is required."
3881
+ },
3882
+ "disabled": {
3883
+ "type": "boolean",
3884
+ "title": "Disabled",
3885
+ "description": "Whether the field is disabled."
3886
+ },
3887
+ "hidden": {
3888
+ "type": "boolean",
3889
+ "title": "Hidden",
3890
+ "description": "Whether the field is hidden."
3891
+ },
3892
+ "triggersRemoteValidation": {
3893
+ "type": "boolean",
3894
+ "title": "Triggers Remote Validation",
3895
+ "description": "Whether remote validation should be triggered for this field."
3896
+ },
3897
+ "remoteValidationErrorMessage": {
3898
+ "items": {
3899
+ "$ref": "#/components/schemas/MultilangTextDto"
3900
+ },
3901
+ "minItems": 1,
3902
+ "type": "array",
3903
+ "title": "Remote Validation Error Message",
3904
+ "description": "Localized error message shown when remote validation fails."
3905
+ },
3906
+ "upgradable": {
3907
+ "type": "boolean",
3908
+ "title": "Upgradable",
3909
+ "description": "Whether the item attribute is upgradable by the user."
3910
+ },
3911
+ "downgradable": {
3912
+ "type": "boolean",
3913
+ "title": "Downgradable",
3914
+ "description": "Whether the item attribute is downgradable by the user."
3915
+ }
3916
+ },
3917
+ "type": "object",
3918
+ "required": [
3919
+ "type",
3920
+ "id",
3921
+ "label",
3922
+ "required",
3923
+ "disabled"
3924
+ ]
3925
+ },
3926
+ "FieldOptionDto": {
3927
+ "properties": {
3928
+ "key": {
3929
+ "type": "string",
3930
+ "title": "Key",
3931
+ "description": "Internal key for the option."
3932
+ },
3933
+ "value": {
3934
+ "type": "string",
3935
+ "title": "Value",
3936
+ "description": "Display value for the option."
3937
+ },
3938
+ "disabled": {
3939
+ "type": "boolean",
3940
+ "title": "Disabled",
3941
+ "description": "Whether the option is disabled."
3942
+ }
3943
+ },
3944
+ "type": "object",
3945
+ "required": [
3946
+ "key",
3947
+ "value"
3948
+ ]
3949
+ },
3950
+ "SelectFieldDto": {
3951
+ "properties": {
3952
+ "type": {
3953
+ "type": "string",
3954
+ "enum": [
3955
+ "SELECT"
3956
+ ],
3957
+ "title": "Field Type",
3958
+ "description": "Discriminator literal — always 'SELECT' for this DTO."
3959
+ },
3960
+ "value": {
3961
+ "$ref": "#/components/schemas/FieldOptionDto",
3962
+ "title": "Value",
3963
+ "description": "Selected option."
3964
+ },
3965
+ "id": {
3966
+ "type": "string",
3967
+ "title": "ID",
3968
+ "description": "Unique identifier for the field."
3969
+ },
3970
+ "label": {
3971
+ "items": {
3972
+ "$ref": "#/components/schemas/MultilangTextDto"
3973
+ },
3974
+ "minItems": 1,
3975
+ "type": "array",
3976
+ "title": "Label",
3977
+ "description": "Multilingual label for the field."
2763
3978
  },
2764
- "requiredRoles": {
3979
+ "required": {
3980
+ "type": "boolean",
3981
+ "title": "Required",
3982
+ "description": "Whether the field is required."
3983
+ },
3984
+ "disabled": {
3985
+ "type": "boolean",
3986
+ "title": "Disabled",
3987
+ "description": "Whether the field is disabled."
3988
+ },
3989
+ "hidden": {
3990
+ "type": "boolean",
3991
+ "title": "Hidden",
3992
+ "description": "Whether the field is hidden."
3993
+ },
3994
+ "triggersRemoteValidation": {
3995
+ "type": "boolean",
3996
+ "title": "Triggers Remote Validation",
3997
+ "description": "Whether remote validation should be triggered for this field."
3998
+ },
3999
+ "remoteValidationErrorMessage": {
2765
4000
  "items": {
2766
- "enum": [
2767
- "SIMPLE_USER",
2768
- "FULL_ACCESS",
2769
- "SUPER_ADMIN",
2770
- "ORDER_READ",
2771
- "ORDER_WRITE",
2772
- "ADDON_READ",
2773
- "ADDON_WRITE",
2774
- "AFFILIATE_READ",
2775
- "AFFILIATE_WRITE",
2776
- "COMPANY_READ",
2777
- "COMPANY_WRITE",
2778
- "TEMPLATE_READ",
2779
- "TEMPLATE_WRITE",
2780
- "COUPON_READ",
2781
- "COUPON_WRITE",
2782
- "DOMAIN_CATEGORY_READ",
2783
- "DOMAIN_CATEGORY_WRITE",
2784
- "DOMAIN_CONTACT_READ",
2785
- "DOMAIN_CONTACT_WRITE",
2786
- "DOMAIN_NAME_READ",
2787
- "DOMAIN_NAME_WRITE",
2788
- "INVOICE_CONTACT_READ",
2789
- "INVOICE_CONTACT_WRITE",
2790
- "INVOICE_READ",
2791
- "INVOICE_WRITE",
2792
- "IP_GROUPS_READ",
2793
- "IP_GROUPS_WRITE",
2794
- "IPS_READ",
2795
- "IPS_WRITE",
2796
- "ITEMS_READ",
2797
- "ITEMS_WRITE",
2798
- "ORDERS_READ",
2799
- "ORDERS_WRITE",
2800
- "TRANSACTIONS_READ",
2801
- "TRANSACTIONS_WRITE",
2802
- "POLICIES_READ",
2803
- "POLICIES_WRITE",
2804
- "PRODUCT_CATEGORIES_READ",
2805
- "PRODUCT_CATEGORIES_WRITE",
2806
- "PRODUCTS_READ",
2807
- "PRODUCTS_WRITE",
2808
- "SETTINGS_READ",
2809
- "SETTINGS_WRITE",
2810
- "INTEGRATIONS_READ",
2811
- "INTEGRATIONS_WRITE",
2812
- "TLDS_READ",
2813
- "TLDS_WRITE",
2814
- "USERS_READ",
2815
- "USERS_WRITE",
2816
- "ISSUES_WRITE",
2817
- "ISSUES_READ",
2818
- "ACTION_LOGS_READ"
2819
- ],
2820
- "type": "string"
4001
+ "$ref": "#/components/schemas/MultilangTextDto"
2821
4002
  },
2822
4003
  "minItems": 1,
2823
4004
  "type": "array",
2824
- "title": "Required Roles",
2825
- "description": "Roles required for this integration to operate."
4005
+ "title": "Remote Validation Error Message",
4006
+ "description": "Localized error message shown when remote validation fails."
2826
4007
  },
2827
- "adminPanel": {
2828
- "$ref": "#/components/schemas/AdminPanelDto",
2829
- "title": "Admin Panel",
2830
- "description": "Admin UI links, tabs, and actions provided by the integration."
4008
+ "upgradable": {
4009
+ "type": "boolean",
4010
+ "title": "Upgradable",
4011
+ "description": "Whether the item attribute is upgradable by the user."
2831
4012
  },
2832
- "clientPanel": {
2833
- "$ref": "#/components/schemas/ClientPanelDto",
2834
- "title": "Client Panel",
2835
- "description": "Client UI links, tabs, and actions provided by the integration."
4013
+ "downgradable": {
4014
+ "type": "boolean",
4015
+ "title": "Downgradable",
4016
+ "description": "Whether the item attribute is downgradable by the user."
4017
+ }
4018
+ },
4019
+ "type": "object",
4020
+ "required": [
4021
+ "type",
4022
+ "id",
4023
+ "label",
4024
+ "required",
4025
+ "disabled"
4026
+ ]
4027
+ },
4028
+ "MultiSelectFieldDto": {
4029
+ "properties": {
4030
+ "type": {
4031
+ "type": "string",
4032
+ "enum": [
4033
+ "MULTI_SELECT"
4034
+ ],
4035
+ "title": "Field Type",
4036
+ "description": "Discriminator literal — always 'MULTI_SELECT' for this DTO."
2836
4037
  },
2837
- "onboardingUrl": {
2838
- "format": "uri",
4038
+ "value": {
4039
+ "items": {
4040
+ "$ref": "#/components/schemas/FieldOptionDto"
4041
+ },
4042
+ "type": "array",
4043
+ "title": "Value",
4044
+ "description": "Array of selected options."
4045
+ },
4046
+ "id": {
2839
4047
  "type": "string",
2840
- "title": "Onboarding URL",
2841
- "description": "URL to onboard/configure the integration.",
2842
- "example": "https://example.com/onboarding"
4048
+ "title": "ID",
4049
+ "description": "Unique identifier for the field."
2843
4050
  },
2844
- "setupAttributes": {
4051
+ "label": {
2845
4052
  "items": {
2846
- "$ref": "#/components/schemas/FieldDto"
4053
+ "$ref": "#/components/schemas/MultilangTextDto"
2847
4054
  },
4055
+ "minItems": 1,
2848
4056
  "type": "array",
4057
+ "title": "Label",
4058
+ "description": "Multilingual label for the field."
4059
+ },
4060
+ "required": {
4061
+ "type": "boolean",
4062
+ "title": "Required",
4063
+ "description": "Whether the field is required."
4064
+ },
4065
+ "disabled": {
4066
+ "type": "boolean",
4067
+ "title": "Disabled",
4068
+ "description": "Whether the field is disabled."
4069
+ },
4070
+ "hidden": {
4071
+ "type": "boolean",
4072
+ "title": "Hidden",
4073
+ "description": "Whether the field is hidden."
4074
+ },
4075
+ "triggersRemoteValidation": {
4076
+ "type": "boolean",
4077
+ "title": "Triggers Remote Validation",
4078
+ "description": "Whether remote validation should be triggered for this field."
4079
+ },
4080
+ "remoteValidationErrorMessage": {
4081
+ "items": {
4082
+ "$ref": "#/components/schemas/MultilangTextDto"
4083
+ },
2849
4084
  "minItems": 1,
2850
- "title": "Setup Attributes",
2851
- "description": "Configurable attributes that are used in the setup process."
4085
+ "type": "array",
4086
+ "title": "Remote Validation Error Message",
4087
+ "description": "Localized error message shown when remote validation fails."
4088
+ },
4089
+ "upgradable": {
4090
+ "type": "boolean",
4091
+ "title": "Upgradable",
4092
+ "description": "Whether the item attribute is upgradable by the user."
4093
+ },
4094
+ "downgradable": {
4095
+ "type": "boolean",
4096
+ "title": "Downgradable",
4097
+ "description": "Whether the item attribute is downgradable by the user."
2852
4098
  }
2853
4099
  },
2854
4100
  "type": "object",
2855
4101
  "required": [
2856
- "supportedActions",
2857
- "title",
2858
- "supportedLanguages"
4102
+ "type",
4103
+ "id",
4104
+ "label",
4105
+ "required",
4106
+ "disabled"
2859
4107
  ]
4108
+ },
4109
+ "AnyFieldDto": {
4110
+ "title": "AnyFieldDto",
4111
+ "description": "Discriminated union of every concrete field DTO. Discriminator is the string-literal `type` property.",
4112
+ "oneOf": [
4113
+ {
4114
+ "$ref": "#/components/schemas/BooleanFieldDto"
4115
+ },
4116
+ {
4117
+ "$ref": "#/components/schemas/TextFieldDto"
4118
+ },
4119
+ {
4120
+ "$ref": "#/components/schemas/TextareaFieldDto"
4121
+ },
4122
+ {
4123
+ "$ref": "#/components/schemas/NumberFieldDto"
4124
+ },
4125
+ {
4126
+ "$ref": "#/components/schemas/PhoneFieldDto"
4127
+ },
4128
+ {
4129
+ "$ref": "#/components/schemas/EmailFieldDto"
4130
+ },
4131
+ {
4132
+ "$ref": "#/components/schemas/UrlFieldDto"
4133
+ },
4134
+ {
4135
+ "$ref": "#/components/schemas/CountriesFieldDto"
4136
+ },
4137
+ {
4138
+ "$ref": "#/components/schemas/CurrencyFieldDto"
4139
+ },
4140
+ {
4141
+ "$ref": "#/components/schemas/DateFieldDto"
4142
+ },
4143
+ {
4144
+ "$ref": "#/components/schemas/PasswordFieldDto"
4145
+ },
4146
+ {
4147
+ "$ref": "#/components/schemas/SelectFieldDto"
4148
+ },
4149
+ {
4150
+ "$ref": "#/components/schemas/MultiSelectFieldDto"
4151
+ }
4152
+ ],
4153
+ "discriminator": {
4154
+ "propertyName": "type",
4155
+ "mapping": {
4156
+ "BOOLEAN": "#/components/schemas/BooleanFieldDto",
4157
+ "TEXT": "#/components/schemas/TextFieldDto",
4158
+ "TEXTAREA": "#/components/schemas/TextareaFieldDto",
4159
+ "NUMBER": "#/components/schemas/NumberFieldDto",
4160
+ "PHONE": "#/components/schemas/PhoneFieldDto",
4161
+ "EMAIL": "#/components/schemas/EmailFieldDto",
4162
+ "URL": "#/components/schemas/UrlFieldDto",
4163
+ "COUNTRIES": "#/components/schemas/CountriesFieldDto",
4164
+ "CURRENCY": "#/components/schemas/CurrencyFieldDto",
4165
+ "DATE": "#/components/schemas/DateFieldDto",
4166
+ "PASSWORD": "#/components/schemas/PasswordFieldDto",
4167
+ "SELECT": "#/components/schemas/SelectFieldDto",
4168
+ "MULTI_SELECT": "#/components/schemas/MultiSelectFieldDto"
4169
+ }
4170
+ }
2860
4171
  }
2861
4172
  };