@wix/bex-utils 2.34.0 → 2.36.0

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 (115) hide show
  1. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/builders.impl.d.ts +40 -0
  2. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/builders.impl.js +561 -0
  3. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/builders.impl.js.map +1 -0
  4. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/http.impl.d.ts +16 -0
  5. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/http.impl.js +120 -0
  6. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/http.impl.js.map +1 -0
  7. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/meta.impl.d.ts +16 -0
  8. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/meta.impl.js +81 -0
  9. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/meta.impl.js.map +1 -0
  10. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/proto/client/proto-generated.d.ts +7332 -0
  11. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/proto/client/proto-generated.js +2 -0
  12. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/proto/proto-generated.d.ts +3666 -0
  13. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/proto/proto-generated.js +59840 -0
  14. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/proto/server/proto-generated.d.ts +7328 -0
  15. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/proto/server/proto-generated.js +2 -0
  16. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/rpc.impl.d.ts +23 -0
  17. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/rpc.impl.js +73 -0
  18. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/rpc.impl.js.map +1 -0
  19. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/types.impl.d.ts +363 -0
  20. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/types.impl.js +56 -0
  21. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/cjs/types.impl.js.map +1 -0
  22. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/builders.impl.d.ts +40 -0
  23. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/builders.impl.js +507 -0
  24. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/builders.impl.js.map +1 -0
  25. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/http.impl.d.ts +16 -0
  26. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/http.impl.js +114 -0
  27. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/http.impl.js.map +1 -0
  28. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/meta.impl.d.ts +16 -0
  29. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/meta.impl.js +56 -0
  30. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/meta.impl.js.map +1 -0
  31. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/rpc.impl.d.ts +23 -0
  32. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/rpc.impl.js +48 -0
  33. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/rpc.impl.js.map +1 -0
  34. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/types.impl.d.ts +363 -0
  35. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/types.impl.js +53 -0
  36. package/@wix/ambassador-items-selection-spi-host-v1-provider/build/es/types.impl.js.map +1 -0
  37. package/@wix/ambassador-items-selection-spi-host-v1-provider/builders/package.json +7 -0
  38. package/@wix/ambassador-items-selection-spi-host-v1-provider/http/package.json +7 -0
  39. package/@wix/ambassador-items-selection-spi-host-v1-provider/meta/package.json +7 -0
  40. package/@wix/ambassador-items-selection-spi-host-v1-provider/package.json +52 -0
  41. package/@wix/ambassador-items-selection-spi-host-v1-provider/rpc/package.json +6 -0
  42. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/additional_data/ecom_catalog_data.proto +20 -0
  43. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/additional_data/inbox_data.proto +17 -0
  44. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/additional_data.proto +16 -0
  45. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/image.proto +11 -0
  46. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/items_selection_config.proto +246 -0
  47. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/items_selection_spi.proto +145 -0
  48. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/action_payload.proto +33 -0
  49. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/annotations.proto +393 -0
  50. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/api_errors.proto +117 -0
  51. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/callback.proto +156 -0
  52. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/context.proto +19 -0
  53. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/entity.proto +122 -0
  54. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/errors.proto +119 -0
  55. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/idempotency.proto +25 -0
  56. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/permissions.proto +40 -0
  57. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/sla.proto +24 -0
  58. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/subscription.proto +32 -0
  59. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/api/validations.proto +137 -0
  60. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/address.proto +148 -0
  61. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/bulk.proto +53 -0
  62. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/identification.proto +40 -0
  63. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/image.proto +8 -0
  64. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/media.proto +236 -0
  65. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/money.proto +32 -0
  66. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/pageurl.proto +32 -0
  67. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/paging.proto +121 -0
  68. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/query.proto +795 -0
  69. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/sorting.proto +36 -0
  70. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/spi.proto +85 -0
  71. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/tags.proto +55 -0
  72. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/common/wixlink.proto +201 -0
  73. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/graphql/definitions.proto +13 -0
  74. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/http/field_mask.proto +46 -0
  75. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/items_selection/spi_host/v1/items_selection_service.proto +136 -0
  76. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/sdk/definitions.proto +191 -0
  77. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/spi/definitions.proto +186 -0
  78. package/@wix/ambassador-items-selection-spi-host-v1-provider/src/main/proto/wix/spi/http_error_status.proto +24 -0
  79. package/@wix/ambassador-items-selection-spi-host-v1-provider/types/package.json +7 -0
  80. package/@wix/bex-bundled-mini-essentials/CHANGELOG.md +4 -0
  81. package/@wix/bex-bundled-mini-essentials/dist/tsconfig.tsbuildinfo +1 -1
  82. package/@wix/bex-bundled-mini-essentials/package.json +1 -1
  83. package/@wix/bi-logger-os-data/dist/cjs/index.js +4 -1
  84. package/@wix/bi-logger-os-data/dist/cjs/index.js.map +1 -1
  85. package/@wix/bi-logger-os-data/dist/cjs/testkit/client-testkit.js +4 -1
  86. package/@wix/bi-logger-os-data/dist/cjs/testkit/client-testkit.js.map +1 -1
  87. package/@wix/bi-logger-os-data/dist/cjs/testkit/common.js +101 -5
  88. package/@wix/bi-logger-os-data/dist/cjs/testkit/common.js.map +1 -1
  89. package/@wix/bi-logger-os-data/dist/cjs/testkit/node-testkit.js +4 -1
  90. package/@wix/bi-logger-os-data/dist/cjs/testkit/node-testkit.js.map +1 -1
  91. package/@wix/bi-logger-os-data/dist/cjs/v2/index.js +53 -23
  92. package/@wix/bi-logger-os-data/dist/cjs/v2/index.js.map +1 -1
  93. package/@wix/bi-logger-os-data/dist/esm/index.js +4 -1
  94. package/@wix/bi-logger-os-data/dist/esm/index.js.map +1 -1
  95. package/@wix/bi-logger-os-data/dist/esm/testkit/client-testkit.js +4 -1
  96. package/@wix/bi-logger-os-data/dist/esm/testkit/client-testkit.js.map +1 -1
  97. package/@wix/bi-logger-os-data/dist/esm/testkit/common.js +101 -5
  98. package/@wix/bi-logger-os-data/dist/esm/testkit/common.js.map +1 -1
  99. package/@wix/bi-logger-os-data/dist/esm/testkit/node-testkit.js +4 -1
  100. package/@wix/bi-logger-os-data/dist/esm/testkit/node-testkit.js.map +1 -1
  101. package/@wix/bi-logger-os-data/dist/esm/v2/index.js +35 -6
  102. package/@wix/bi-logger-os-data/dist/esm/v2/index.js.map +1 -1
  103. package/@wix/bi-logger-os-data/dist/types/index.d.ts +4 -3
  104. package/@wix/bi-logger-os-data/dist/types/testkit/client-testkit.d.ts +22 -2
  105. package/@wix/bi-logger-os-data/dist/types/testkit/node-testkit.d.ts +22 -2
  106. package/@wix/bi-logger-os-data/dist/types/types.d.ts +22 -2
  107. package/@wix/bi-logger-os-data/dist/types/v2/index.d.ts +34 -7
  108. package/@wix/bi-logger-os-data/package.json +2 -2
  109. package/@wix/bi-logger-os-data/src/index.ts +7 -3
  110. package/@wix/bi-logger-os-data/src/testkit/client-testkit.ts +25 -2
  111. package/@wix/bi-logger-os-data/src/testkit/common.ts +119 -6
  112. package/@wix/bi-logger-os-data/src/testkit/node-testkit.ts +25 -2
  113. package/@wix/bi-logger-os-data/src/types.ts +42 -4
  114. package/@wix/bi-logger-os-data/src/v2/index.ts +37 -7
  115. package/package.json +5 -4
@@ -0,0 +1,122 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.api;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+ import "wix/api/annotations.proto";
7
+ import "wix/api/callback.proto";
8
+
9
+ option java_multiple_files = true;
10
+ option java_outer_classname = "EntityProto";
11
+ option java_package = "com.wix.api";
12
+
13
+ /*
14
+ Marks that message X is the "main" entity of service Y
15
+ Key requirement for DomainEvents used in callback/event
16
+
17
+ package com.wixpress.examples;
18
+
19
+ service BlooperService {
20
+ option (wix.api.service_entity).message = "com.wixpress.examples.Blooper"; //the "main" entity
21
+ rpc Update (BlooperRequest) returns (BlooperResponse) {
22
+ //...
23
+ };
24
+ }
25
+
26
+ message Blooper {
27
+ option (wix.api.entity) = {
28
+ fqdn: "wix.examples.Blooper" // A fully qualified domain name for this entity. Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
29
+ exposure: PUBLIC //Optional exposure field. Will be used by systems like corvid and webhooks to decide if to expose events related to this entity to external parties
30
+
31
+ };
32
+ }
33
+ */
34
+
35
+ extend google.protobuf.ServiceOptions {
36
+ optional ServiceEntity service_entity = 50500;
37
+ }
38
+
39
+ message ServiceEntity {
40
+ required string message = 1;
41
+ optional string namespace = 50501; // use to avoid naming collisions between functions listed under the same fqdn/entity. Business Schema service shall use it using this hierarchy: [Entity > namespace > action]
42
+ }
43
+
44
+ extend google.protobuf.MessageOptions {
45
+ optional Entity entity = 50500;
46
+ repeated DomainEvent domain_event = 50501;
47
+ }
48
+
49
+ message Entity {
50
+ required string fqdn = 1;
51
+ optional Exposure exposure = 2 [deprecated=true];
52
+ repeated MessageAppendix appendix_files = 3; // declare external configuration info
53
+ optional string old_fqdn_for_backwards_compatibility = 4; // Topic name for domain events will be based on this attribute if present (only for known legacy FQDNs)
54
+ optional Segment.SegmentName segment = 5; // the cluster to which domain events will be produced
55
+ repeated string implements = 6; // FQDNs of interfaces (i.e. SPIs) that this entity implements. Must begin with `wix.interfaces.`
56
+ optional Extensible extensible = 7; // Indicates that this entity can be extended by apps using data-extension mechanism.
57
+ optional bool trashbin = 8; // Indicates whether trash-bin is exposed on this entity.
58
+ optional string plural = 9; // plural form of this entity. e.g. singular: `entity`; plural: `entities`;
59
+ optional string domain_events_read_permission = 10; // permission to consume all event types of this entity from topic. affects internal/external consumers. For external webhook subscribers - MAY be overridden by event/callback `permission` field.
60
+ optional string app_def_id = 11; // the app in devcenter that owns this entity
61
+ optional DomainEventOptions domain_events = 12;
62
+ optional Taggable taggable = 13; // Indicates whether this entity supports tagging
63
+ optional QueryOptions query_options = 14;
64
+ optional Exposure events_exposure = 15; // default events exposure, may be overridden in `wix.api.domain_event`
65
+ optional Maturity events_maturity = 16; // default events maturity, may be overridden in `wix.api.domain_event`
66
+ optional Persistence persistence = 17; // persistence config: type and tenancy model
67
+ }
68
+
69
+ message Persistence {
70
+ enum Type {
71
+ STANDARD = 0; // multiple records per tenant
72
+ SINGLETON = 1; // single record per tenant
73
+ NONE = 2; // zero records per tenant - stateless
74
+ }
75
+ optional Type type = 1;
76
+ }
77
+
78
+ message Extensible {
79
+
80
+ optional string nested_extension_field_path = 1;
81
+ // Indicates whether this entity supports filtering by extended fields which are marked in schema as `x-wix-filterable`
82
+ optional bool filterable = 2;
83
+ repeated NestedExtensionPointMapping nested_extension_point_mappings = 3; // mappings for nested extensionPoint
84
+ }
85
+
86
+ message NestedExtensionPointMapping {
87
+ required string extension_point = 1; // the logical name of the extension point
88
+ required string path = 2; // the path to the parent object that contains the `extended_fields` field
89
+ }
90
+
91
+ message MessageAppendix {
92
+ enum Type {
93
+ UNKNOWN_APPENDIX_TYPE = 0;
94
+ AUTO_VELO = 1; // auto velo configuration
95
+ DOCS_CONF = 2; // wix docs configuration: `documentation.yaml`
96
+ MULTILINGUAL = 3; // wix multilingual configuration
97
+ SEARCH = 4; // nile search configuration
98
+ AUTO_SDK = 5; // auto sdk configuration
99
+ }
100
+ required Type type = 1; // appendix type
101
+ required string path = 2; // absolute from module root
102
+ }
103
+
104
+ message DomainEventOptions {
105
+ optional bool event_sequence_number = 1; // indicated whenever `entity_event_sequence` in the envelope is set/populated for CUD events.
106
+ optional bool deleted_include_entity = 2; // indicated whenever `deleted_entity_as_json` is set/populated for EntityDeletedEvent events.
107
+ optional bool updated_include_modified_fields = 3; // indicated whenever `modified_fields` is set/populated for EntityUpdatedEvent events.
108
+ }
109
+
110
+ message Taggable {}
111
+
112
+ message QueryOptions {
113
+ required Wql wql = 1; // mark fields that are available for filtering and sorting via WixQueryLanguage
114
+ repeated Search search = 2; // mark fields that are available for search
115
+ repeated NamedQueryOptions additional_query_options = 10; //additional query options
116
+ }
117
+
118
+ message NamedQueryOptions {
119
+ required string name = 1; // additional options should be named
120
+ required Wql wql = 2; // mark fields that are available for filtering and sorting via WixQueryLanguage
121
+ repeated Search search = 3; // mark fields that are available for search
122
+ }
@@ -0,0 +1,119 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.api;
4
+
5
+ option java_package = "com.wix.api";
6
+
7
+ import "google/protobuf/struct.proto";
8
+ import "google/protobuf/wrappers.proto";
9
+
10
+ message Details {
11
+ oneof kind {
12
+ ApplicationError application_error = 1;
13
+ ValidationError validation_error = 2;
14
+ SystemError system_error = 4;
15
+ }
16
+ map<string, string> tracing = 3 [deprecated = true]; // deprecated in API's - to enable migration from rendering arbitrary tracing to rest response
17
+ }
18
+
19
+ message ApplicationError {
20
+ // Error code.
21
+ string code = 1;
22
+ // Description of the error.
23
+ string description = 2;
24
+ // Data related to the error.
25
+ google.protobuf.Struct data = 3;
26
+ }
27
+
28
+ message SystemError {
29
+ // Error code.
30
+ google.protobuf.StringValue errorCode = 1;
31
+ }
32
+
33
+ /**
34
+ example result:
35
+ {
36
+ "fieldViolations": [
37
+ {
38
+ "field": "fieldA",
39
+ "description": "invalid music note. supported notes: [do,re,mi,fa,sol,la,ti]",
40
+ "violatedRule": "OTHER",
41
+ "ruleName": "INVALID_NOTE",
42
+ "data": {
43
+ "value": "FI"
44
+ }
45
+ },
46
+ {
47
+ "field": "fieldB",
48
+ "description": "field value out of range. supported range: [0-20]",
49
+ "violatedRule": "MAX",
50
+ "data": {
51
+ "threshold": 20
52
+ }
53
+ },
54
+ {
55
+ "field": "fieldC",
56
+ "description": "invalid phone number. provide a valid phone number of size: [7-12], supported characters: [0-9, +, -, (, )]",
57
+ "violatedRule": "FORMAT",
58
+ "data": {
59
+ "type": "PHONE"
60
+ }
61
+ }
62
+ ]
63
+ }
64
+ **/
65
+ message ValidationError {
66
+ enum RuleType {
67
+ VALIDATION = 0;
68
+ OTHER = 1;
69
+ MAX = 2;
70
+ MIN = 3;
71
+ MAX_LENGTH = 4;
72
+ MIN_LENGTH = 5;
73
+ MAX_SIZE = 6;
74
+ MIN_SIZE = 7;
75
+ FORMAT = 8;
76
+ DECIMAL_LTE = 9;
77
+ DECIMAL_GTE = 10;
78
+ DECIMAL_LT = 11;
79
+ DECIMAL_GT = 12;
80
+ DECIMAL_MAX_SCALE = 13;
81
+ INVALID_ENUM_VALUE = 14;
82
+ REQUIRED_FIELD = 15;
83
+ FIELD_NOT_ALLOWED = 16;
84
+ ONE_OF_ALIGNMENT = 17;
85
+ }
86
+ message FieldViolation {
87
+ string field = 1;
88
+ string description = 2;
89
+ RuleType violated_rule = 3;
90
+ google.protobuf.StringValue rule_name = 4; // applicable when violated_rule=OTHER
91
+ google.protobuf.Struct data = 5;
92
+ }
93
+ repeated FieldViolation field_violations = 1;
94
+ }
95
+
96
+ // for all kinds of min/max violations - match to type provided in annotation
97
+ message LimitRuleInt32DataPayload {
98
+ int32 threshold = 1;
99
+ }
100
+
101
+ // for all kinds of min/max violations - match to type provided in annotation
102
+ message LimitRuleDoubleDataPayload {
103
+ double threshold = 1;
104
+ }
105
+
106
+ // for all kinds of min/max violations - match to type provided in annotation
107
+ message LimitRuleStringDataPayload {
108
+ string threshold = 1;
109
+ }
110
+
111
+ // for format violations
112
+ message FormatRuleDataPayload {
113
+ string type = 1;
114
+ }
115
+
116
+ // for enum violations
117
+ message EnumRuleDataPayload {
118
+ repeated string supported = 1;
119
+ }
@@ -0,0 +1,25 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.api;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "IdempotencyProto";
9
+ option java_package = "com.wix.api";
10
+
11
+ /* Idempotency annotation for Loom Prime
12
+ Configures idempotency for the method.
13
+ See ExecutionGuard README for more details: https://github.com/wix-private/server-infra/blob/master/aglianico/execution-guard/README.md#loom-prime-with-zero-code
14
+
15
+ [NOTE]:
16
+ The annotation affects only Loom Prime services.
17
+ Any other service will ignore this annotation.
18
+ */
19
+ extend google.protobuf.MethodOptions {
20
+ optional Idempotency idempotency = 50153;
21
+ }
22
+
23
+ message Idempotency {
24
+ optional string key = 1;
25
+ }
@@ -0,0 +1,40 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.api;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "PermissionsProto";
9
+ option java_package = "com.wix.api";
10
+
11
+ /**
12
+ * Annotation for method permission rules
13
+ * example usage:
14
+ * import "wix/api/permissions.proto";
15
+ * service Bloop {
16
+ * rpc Create (CreateBloopRequest) returns (CreateBloopResponse) {
17
+ * option (wix.api.permission).name = "SOME_PERMISSION_NAME";
18
+ * }
19
+ * rpc SpecialDelete (SpecialDeleteBloopRequest) returns (SpecialDeleteResponse) {
20
+ * option (wix.api.permission) = {
21
+ * name: "SOME_PERMISSION_NAME"
22
+ * type: MANUAL
23
+ * }
24
+ * }
25
+ * }
26
+ **/
27
+ extend google.protobuf.MethodOptions {
28
+ optional PermissionRule permission = 50301;
29
+ repeated PermissionRule additional_permission = 50302;
30
+ }
31
+
32
+ message PermissionRule {
33
+ optional string name = 1;
34
+ optional PermissionType type = 2;
35
+ }
36
+
37
+ enum PermissionType {
38
+ AUTO = 0;
39
+ MANUAL = 1;
40
+ }
@@ -0,0 +1,24 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.api;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+
7
+ option java_multiple_files = true;
8
+ option java_outer_classname = "SlaProto";
9
+ option java_package = "com.wix.api";
10
+
11
+ extend google.protobuf.MethodOptions {
12
+ optional Sla sla = 50700;
13
+ }
14
+
15
+ message Sla {
16
+ /*
17
+ * Number of milliseconds after which the method will timeout
18
+ * and return TIMEOUT (504) response for http or DEADLINE_EXCEEDED
19
+ * for grpc.
20
+ * This default deadline will be applied automatically
21
+ * iff request does not contain deadline information.
22
+ */
23
+ optional int32 response_time_ms = 1;
24
+ }
@@ -0,0 +1,32 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.api;
4
+
5
+ import "google/protobuf/descriptor.proto";
6
+ import "wix/api/callback.proto";
7
+
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "SubscriptionProto";
10
+ option java_package = "com.wix.api";
11
+
12
+ /*
13
+ Marks a method as a topic consumer.
14
+ service BlooperService {
15
+ rpc Update (BlooperUpdateNotification) returns (google.protobuf.Empty) {
16
+ option (wix.api.subscription) = {
17
+ topic: "Blooper.Update"
18
+ };
19
+ };
20
+ }
21
+ */
22
+ extend google.protobuf.MethodOptions {
23
+ optional Subscription subscription = 50400;
24
+ }
25
+
26
+ message Subscription {
27
+ optional string topic = 1;
28
+ optional Segment.SegmentName segment = 4; // currently defaults to "legacy", will be `required` when legacy cluster is removed
29
+ optional bool batch = 2 [deprecated = true];
30
+ optional string entity = 3;
31
+ optional bool dynamic = 5;
32
+ }
@@ -0,0 +1,137 @@
1
+ syntax = "proto2";
2
+
3
+ package wix.api;
4
+
5
+ import "wix/api/api_errors.proto";
6
+ import "google/protobuf/descriptor.proto";
7
+
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "ValidationsProto";
10
+ option java_package = "com.wix.api";
11
+
12
+ /**
13
+ * Annotation for field validation rules
14
+ * example usage:
15
+ * import "wix/api/validations.proto";
16
+ *
17
+ * message User {
18
+ * string id = 1 [(wix.api.readOnly)=true, (wix.api.format)=GUID];
19
+ * double age = 2 [(wix.api.max)=120, (wix.api.min)=0];
20
+ * string email = 3 [(wix.api.format)=EMAIL];
21
+ * string username = 4 [(wix.api.minLength)=3];
22
+ * string phone = 5 [(wix.api.format)=PHONE];
23
+ * }
24
+ *
25
+ * message Invoice {
26
+ * string id = 1 [(wix.api.readOnly)=true, (wix.api.format)=GUID];
27
+ * string amount_paid = 2 [(wix.api.decimalValue) = { gte: "0.01" lt: "10" maxScale: 2 }];
28
+ * }
29
+ **/
30
+ extend google.protobuf.FieldOptions {
31
+ // max possible value
32
+ optional double max = 50201;
33
+ // min possible value
34
+ optional double min = 50202;
35
+ // max length for strings
36
+ optional int32 maxLength = 50203;
37
+ // min length for strings
38
+ optional int32 minLength = 50204;
39
+ // max size for repeated field, map
40
+ optional int32 maxSize = 50209;
41
+ // min size for repeated field, map
42
+ optional int32 minSize = 50210;
43
+ // common known formats like email, URI, etc.
44
+ optional Format format = 50205;
45
+ // indicates this field cannot be set by the client. E.g. Id field assigned by the server
46
+ optional bool readOnly = 50208;
47
+ // indicates this field can be set by the client, but can never be changed or updated
48
+ optional bool immutable = 50212;
49
+ // indicates this field is input-only, it will NOT be returned in output response
50
+ optional bool writeOnly = 50154;
51
+ // decimal value format
52
+ optional DecimalValueOptions decimalValue = 50211;
53
+ // declare custom field validation for all methods
54
+ optional CustomValidationError custom_validation = 50214;
55
+ }
56
+
57
+ /**
58
+ * Decimal value validation rules.
59
+ * Based on java.math.BigDecimal, implies (wix.api.format) = DECIMAL_VALUE
60
+ */
61
+ message DecimalValueOptions {
62
+ optional string lte = 1; // less than or equal
63
+ optional string gte = 2; // greater than or equal
64
+ optional string lt = 3; // less than
65
+ optional string gt = 4; // greater than
66
+ optional int32 maxScale = 5; // max number of fractional digits
67
+ }
68
+
69
+ /**
70
+ * Annotation for method validation rules
71
+ * example usage:
72
+ * import "wix/api/validations.proto";
73
+ * service Bloop {
74
+ * rpc Create (CreateBloopRequest) returns (CreateBloopResponse) {
75
+ * option (wix.api.required) = "CreateBloopRequest.Bloop.name";
76
+ * }
77
+ * }
78
+ **/
79
+ extend google.protobuf.MethodOptions {
80
+ // Specify which fields are required in this method.
81
+ // Annotating a nested field as `required` does not imply that the whole path to that field is required, eg.
82
+ // `option (wix.api.required) = "person.pet.name";` means that if a `person` has a `pet`, then the `pet` must have
83
+ // a `name` set; it does not mean that `person` or `person.pet` themselves are required - these fields should be
84
+ // annotated individually if needed.
85
+ // This option can be repeated multiple times to specify multiple fields.
86
+ // example use:
87
+ // option (wix.api.required) = "userId";
88
+ // option (wix.api.required) = "userName";
89
+ repeated string required = 50200;
90
+ // Specify list of `immutable` fields which can be writable in this method.
91
+ // Most common in Create methods
92
+ // Only `immutable` AND NOT `readOnly` fields are allowed to be referenced via this annotation
93
+ // example use:
94
+ // option (wix.api.writable) = "id"; // user-generated id is enabled
95
+ repeated string writable = 50213;
96
+
97
+ }
98
+
99
+ extend google.protobuf.OneofOptions {
100
+ // name of the enum field that must be aligned with this oneof (AIP 7015)
101
+ // ADR 038: Linking oneOf with Enum: https://github.com/wix-private/server-infra/blob/master/framework/docs/adr/adr-038-aligned-with-enum.md
102
+ optional AlignedWithEnum aligned_with_enum = 50800;
103
+ }
104
+
105
+ message AlignedWithEnum {
106
+ required string field = 1;
107
+ // defaults to _options if not specified
108
+ optional string suffix = 2;
109
+ }
110
+
111
+ enum Format {
112
+ EMAIL = 0;
113
+ HOSTNAME = 1;
114
+ IPV4 = 2;
115
+ IPV6 = 3;
116
+ URI = 4;
117
+ WEB_URL = 5; // HTTP or HTTPS
118
+ PHONE = 7;
119
+ CREDIT_CARD = 8;
120
+ GUID = 9;
121
+ COUNTRY = 10; // 2 letters ISO-3166-1
122
+ LANGUAGE = 11; // 2 letters ISO-639-1
123
+ /*
124
+ Use this on string or stringValue types to validate the format of that field is same as a decimal value.
125
+ This will ensure keeping the precision of decimal value, such as when passing monetary values.
126
+ */
127
+ DECIMAL_VALUE = 12;
128
+ CURRENCY = 13; // 3 letters - all available currencies
129
+ LANGUAGE_TAG = 14; // IETF BCP 47 language tag (e.g. en-US)
130
+ COLOR_HEX = 15; // hex color format as defined by the MDN https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color
131
+ LOCAL_DATE = 16; // ISO-8601 extended local date format (YYYY-MM-DD)
132
+ LOCAL_TIME = 17; // ISO-8601 extended local time format (hh:mm[:ss][.sss])
133
+ LOCAL_DATE_TIME = 18; // ISO-8601 extended local date-time format (YYYY-MM-DDThh:mm[:ss][.sss])
134
+ URL_SLUG = 19;
135
+ SYSTEM_SLUG = 20;
136
+ SECURE_WEB_URL = 21; // HTTPS only
137
+ }
@@ -0,0 +1,148 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.common;
4
+
5
+ option java_multiple_files = true;
6
+ option java_package = "com.wix.common";
7
+
8
+ import "google/protobuf/wrappers.proto";
9
+ import "wix/api/annotations.proto";
10
+ import "wix/api/validations.proto";
11
+
12
+ // A common address format to use if you plan to store addresses in your service
13
+
14
+ // Physical address
15
+ message Address {
16
+ option (.wix.api.decomposition_minimum_fields) = {
17
+ field: "country"
18
+ field: "subdivision"
19
+ field: "city"
20
+ field: "postal_code"
21
+ field: "street_address"
22
+ field: "formatted_address"
23
+ };
24
+ option (.wix.api.decomposition_minimum_fields) = {
25
+ field: "country"
26
+ field: "subdivision"
27
+ field: "city"
28
+ field: "postal_code"
29
+ field: "address_line"
30
+ field: "address_line_2"
31
+ field: "formatted_address"
32
+ };
33
+ google.protobuf.StringValue country = 1 [(.wix.api.format) = COUNTRY]; // Country code.
34
+ google.protobuf.StringValue subdivision = 2; // Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY
35
+ google.protobuf.StringValue subdivision_iso_3166_2 = 14 [(.wix.api.maxLength) = 20, (.wix.api.field_exposure) = PRIVATE]; // Subdivision. Usually a state, region, prefecture, or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2), e.g. US-NY
36
+ google.protobuf.StringValue city = 3 [(.wix.api.pii) = true]; // City name.
37
+ google.protobuf.StringValue postal_code = 4 [(.wix.api.pii) = true]; // Zip/postal code.
38
+ oneof street {
39
+ StreetAddress street_address = 5; // Street name and number.
40
+ google.protobuf.StringValue address_line = 6 [(.wix.api.pii) = true]; // Main address line, usually street and number as free text.
41
+ }
42
+ google.protobuf.StringValue address_line_2 = 7 [(.wix.api.pii) = true]; // Free text providing more detailed address info. Usually contains Apt, Suite, and Floor.
43
+
44
+ google.protobuf.StringValue formatted_address = 8 [(.wix.api.pii) = true, (.wix.api.field_exposure) = PRIVATE]; // A string containing the full address of this location.
45
+ google.protobuf.StringValue hint = 9 [(.wix.api.pii) = true, (.wix.api.field_exposure) = PRIVATE]; // Free text to help find the address.
46
+ AddressLocation geocode = 10 [(.wix.api.field_exposure) = PRIVATE]; // Coordinates of the physical address.
47
+ google.protobuf.StringValue country_fullname = 11 [(.wix.api.pii) = false, (.wix.api.field_exposure) = PRIVATE]; // Country full name.
48
+ google.protobuf.StringValue subdivision_fullname = 13 [(.wix.api.pii) = false, (.wix.api.field_exposure) = PRIVATE]; // Subdivision full name.
49
+ repeated Subdivision subdivisions = 12 [(.wix.api.field_exposure) = PRIVATE, (.wix.api.maxSize) = 6]; // Multi-level subdivisions from top to bottom.
50
+ }
51
+
52
+ message Subdivision {
53
+ enum SubdivisionType {
54
+ UNKNOWN_SUBDIVISION_TYPE = 0;
55
+ ADMINISTRATIVE_AREA_LEVEL_1 = 1; // State
56
+ ADMINISTRATIVE_AREA_LEVEL_2 = 2; // County
57
+ ADMINISTRATIVE_AREA_LEVEL_3 = 3; // City/town
58
+ ADMINISTRATIVE_AREA_LEVEL_4 = 4; // Neighborhood/quarter
59
+ ADMINISTRATIVE_AREA_LEVEL_5 = 5; // Street/block
60
+ COUNTRY = 6; // ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder.
61
+ }
62
+
63
+ // Subdivision Concordance values
64
+ message StandardDetails {
65
+ google.protobuf.StringValue iso_3166_2 = 1 [(.wix.api.maxLength) = 20]; // subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30
66
+ }
67
+
68
+ option (.wix.api.decomposition_minimum_fields) = {
69
+ field: "code"
70
+ };
71
+ string code = 1; // Short subdivision code.
72
+ string name = 2; // Subdivision full name.
73
+ SubdivisionType type = 3 [(.wix.api.field_exposure) = PRIVATE]; // Subdivision level
74
+ google.protobuf.StringValue type_info = 4 [(.wix.api.field_exposure) = PRIVATE]; // Free text description of subdivision type.
75
+ StandardDetails standard_details = 5 [(.wix.api.field_exposure) = PRIVATE]; // Standard organizations details (e.g. ISO).
76
+ }
77
+
78
+ message StreetAddress {
79
+ option (.wix.api.decomposition_minimum_fields) = {
80
+ field: "number"
81
+ field: "name"
82
+ };
83
+ string number = 1 [(.wix.api.pii) = true]; // Street number.
84
+ string name = 2 [(.wix.api.pii) = true]; // Street name.
85
+ string apt = 3 [(.wix.api.pii) = true, (.wix.api.field_exposure) = PRIVATE]; // Apartment number.
86
+ google.protobuf.StringValue formatted_address_line = 4 [(.wix.api.pii) = true, (.wix.api.field_exposure) = PRIVATE]; // Optional address line 1
87
+ }
88
+
89
+ //Contact details for the address
90
+ message AddressContactDetails {
91
+ option (.wix.api.decomposition_minimum_fields) = {
92
+ field: "full_name"
93
+ };
94
+ google.protobuf.StringValue full_name = 1 [(.wix.api.pii) = true]; // Contact's full name.
95
+ google.protobuf.StringValue phone = 2 [(.wix.api.pii) = true, (.wix.api.format) = PHONE]; // Contact's phone number.
96
+ google.protobuf.StringValue company = 3; // Contact's company name.
97
+ google.protobuf.StringValue email = 4 [(.wix.api.pii) = true, (.wix.api.format) = EMAIL]; // Email associated with the address.
98
+ }
99
+
100
+ //Full contact details for an address
101
+ message FullAddressContactDetails {
102
+ option (.wix.api.decomposition_minimum_fields) = {
103
+ field: "first_name"
104
+ field: "last_name"
105
+ };
106
+ option (.wix.api.decomposition_minimum_fields) = {
107
+ field: "full_name"
108
+ };
109
+ google.protobuf.StringValue first_name = 1 [(.wix.api.pii) = true]; // Contact's first name.
110
+ google.protobuf.StringValue last_name = 2 [(.wix.api.pii) = true]; // Contact's last name.
111
+ google.protobuf.StringValue full_name = 8 [(.wix.api.pii) = true, (.wix.api.field_exposure) = PRIVATE]; // Contact's full name.
112
+ google.protobuf.StringValue phone = 3 [(.wix.api.pii) = true, (.wix.api.format) = PHONE]; // Contact's phone number.
113
+ google.protobuf.StringValue company = 4; // Contact's company name.
114
+ google.protobuf.StringValue email = 5 [(.wix.api.pii) = true, (.wix.api.format) = EMAIL]; // Email associated with the address.
115
+ VatId vat_id = 7; // Tax info. Currently usable only in Brazil.
116
+ }
117
+
118
+ message VatId {
119
+ option (.wix.api.decomposition_minimum_fields) = {
120
+ field: "id"
121
+ field: "type"
122
+ };
123
+ string id = 1 [(.wix.api.pii) = true]; // Customer's tax ID.
124
+ /*
125
+ Tax type.
126
+
127
+ Supported values:
128
+ + `CPF`: for individual tax payers
129
+ + `CNPJ`: for corporations
130
+ */
131
+ VatType type = 2;
132
+ }
133
+
134
+ // tax info types
135
+ enum VatType {
136
+ UNSPECIFIED = 0;
137
+ CPF = 1; // CPF - for individual tax payers.
138
+ CNPJ = 2; // CNPJ - for corporations
139
+ }
140
+
141
+ message AddressLocation {
142
+ option (.wix.api.decomposition_minimum_fields) = {
143
+ field: "latitude"
144
+ field: "longitude"
145
+ };
146
+ google.protobuf.DoubleValue latitude = 1 [(.wix.api.pii) = true]; // Address latitude.
147
+ google.protobuf.DoubleValue longitude = 2 [(.wix.api.pii) = true]; // Address longitude.
148
+ }