@wix/bex-utils 2.43.0 → 2.44.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 (35) hide show
  1. package/@wix/ambassador-os-tags-v1-tag/build/cjs/builders.impl.js +3 -0
  2. package/@wix/ambassador-os-tags-v1-tag/build/cjs/builders.impl.js.map +1 -1
  3. package/@wix/ambassador-os-tags-v1-tag/build/cjs/http.impl.js +36 -0
  4. package/@wix/ambassador-os-tags-v1-tag/build/cjs/http.impl.js.map +1 -1
  5. package/@wix/ambassador-os-tags-v1-tag/build/cjs/proto/client/proto-generated.d.ts +2047 -963
  6. package/@wix/ambassador-os-tags-v1-tag/build/cjs/proto/proto-generated.d.ts +1046 -508
  7. package/@wix/ambassador-os-tags-v1-tag/build/cjs/proto/proto-generated.js +19667 -10932
  8. package/@wix/ambassador-os-tags-v1-tag/build/cjs/proto/server/proto-generated.d.ts +2046 -963
  9. package/@wix/ambassador-os-tags-v1-tag/build/cjs/types.impl.d.ts +20 -5
  10. package/@wix/ambassador-os-tags-v1-tag/build/cjs/types.impl.js.map +1 -1
  11. package/@wix/ambassador-os-tags-v1-tag/build/es/builders.impl.js +3 -0
  12. package/@wix/ambassador-os-tags-v1-tag/build/es/builders.impl.js.map +1 -1
  13. package/@wix/ambassador-os-tags-v1-tag/build/es/http.impl.js +36 -0
  14. package/@wix/ambassador-os-tags-v1-tag/build/es/http.impl.js.map +1 -1
  15. package/@wix/ambassador-os-tags-v1-tag/build/es/types.impl.d.ts +20 -5
  16. package/@wix/ambassador-os-tags-v1-tag/build/es/types.impl.js.map +1 -1
  17. package/@wix/ambassador-os-tags-v1-tag/package.json +3 -3
  18. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/additional_data/ecom_catalog_data.proto +20 -0
  19. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/additional_data/inbox_data.proto +17 -0
  20. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/additional_data.proto +16 -0
  21. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/image.proto +11 -0
  22. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/items_selection_config.proto +266 -0
  23. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/src/main/proto/com/wixpress/items_selection/spi/v1/items_selection_spi.proto +145 -0
  24. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/api/annotations.proto +69 -9
  25. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/api/callback.proto +7 -0
  26. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/api/entity.proto +10 -0
  27. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/api/errors.proto +8 -0
  28. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/api/validations.proto +8 -0
  29. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/common/data/errors.proto +14 -1
  30. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/common/media.proto +19 -0
  31. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/common/query.proto +118 -118
  32. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/common/wixlink.proto +2 -0
  33. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/os/v1/tag.proto +4 -1
  34. package/@wix/ambassador-os-tags-v1-tag/src/main/proto/wix/spi/definitions.proto +2 -1
  35. package/package.json +3 -3
@@ -0,0 +1,145 @@
1
+ syntax = "proto3";
2
+
3
+ package com.wixpress.items_selection.spi.v1;
4
+
5
+ import "google/protobuf/wrappers.proto";
6
+ import "google/api/annotations.proto";
7
+ import "wix/api/annotations.proto";
8
+ import "wix/api/validations.proto";
9
+ import "wix/spi/definitions.proto";
10
+ import "wix/common/paging.proto";
11
+ import "wix/common/sorting.proto";
12
+ import "google/protobuf/struct.proto";
13
+ import "src/main/proto/com/wixpress/items_selection/spi/v1/items_selection_config.proto";
14
+ import "src/main/proto/com/wixpress/items_selection/spi/v1/image.proto";
15
+ import "src/main/proto/com/wixpress/items_selection/spi/v1/additional_data.proto";
16
+ import "wix/api/entity.proto";
17
+
18
+ service ItemsSelectionProviderService {
19
+ option (.wix.api.service_exposure) = PUBLIC;
20
+ option (.wix.spi.service) = {
21
+ spi_identifier: "com.wixpress.appservice.api.ComponentType.ITEMS_SELECTION_PROVIDER",
22
+ config_message: "com.wixpress.items_selection.spi.v1.ItemsSelectionProviderConfig",
23
+ host_service: "wix.items_selection.spi_host.v1.ItemsSelectionService",
24
+ app_id: "a1313905-2aa8-4e8c-a5eb-ddf623c2deb1",
25
+ fqdn: "wix.interfaces.items_selection.v1.items_selection_provider",
26
+ appendix_files: {
27
+ type: DOCS_CONF
28
+ path: "appendices/docs"
29
+ }
30
+ };
31
+
32
+ /*
33
+ This endpoint retrieves a list of items that match the search criteria specified in the request.
34
+
35
+ Wix calls this endpoint when a service within the Wix ecosystem wants to make an app's items available for selection in the Wix UI. For example, this endpoint is called when a Wix site owner wants to add an app's item to an existing Wix Stores order.
36
+
37
+ > You cannot try out this endpoint because it has to be implemented by
38
+ > an app and can have an arbitrary URL. Therefore, ignore the **Authorization**
39
+ > and **POST** sections below as well as the **Try It Out** button.
40
+ */
41
+ rpc QueryItems (QueryItemsRequest) returns (QueryItemsResponse) {
42
+ option (.google.api.http).post = "/v1/items";
43
+
44
+ option (.wix.spi.error) = {
45
+ name: "QueryItemsFailed"
46
+ http_code: INTERNAL
47
+ application_code: "QUERY_ITEMS_FAILED"
48
+ data: "com.wixpress.items_selection.spi.v1.FailureData"
49
+ };
50
+ };
51
+ }
52
+
53
+ message FailureData {
54
+ // Error details.
55
+ QueryError error = 1;
56
+ }
57
+
58
+ message QueryError {
59
+ enum Code {
60
+ NONE = 0;
61
+ SYSTEM_ERROR = 1;
62
+ OTHER = 2;
63
+ }
64
+
65
+ // Error code.
66
+ Code code = 1;
67
+
68
+ // Error message.
69
+ string message = 2;
70
+
71
+ // Raw error data.
72
+ google.protobuf.Struct data = 3;
73
+ }
74
+
75
+ message QueryItemsRequest {
76
+ // Query options.
77
+ Query query = 1;
78
+
79
+ // A tag representing the Wix service requesting the list of items.
80
+ ItemsSelectionProviderConfig.Tag tag = 2;
81
+ }
82
+
83
+ message QueryItemsResponse {
84
+ // List of items.
85
+ repeated Item items = 1;
86
+
87
+ // Details on the paged set of results returned.
88
+ wix.common.PagingMetadataV2 paging_metadata = 2;
89
+ }
90
+
91
+ message Query {
92
+ /* Filter object.
93
+ See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.
94
+ */
95
+ google.protobuf.Struct filter = 1;
96
+
97
+ // An optional repeated field that allows to specify sorting criteria for the search results.
98
+ repeated wix.common.Sorting sort = 2 [deprecated = true, (.wix.api.field_exposure) = PRIVATE];
99
+
100
+ /* Plain text search for an exact match.
101
+
102
+ Supported properties are defined in the `searchParams.fields` property of the Item Selection Provider configuration in the Wix Developers Center.
103
+
104
+ Max: 100 characters
105
+ */
106
+ google.protobuf.StringValue search = 3;
107
+
108
+ oneof paging_method {
109
+ // Paging options to limit and skip the number of items.
110
+ wix.common.Paging paging = 4;
111
+ // Cursor token pointing to a page of results. Not used in the first request. Following requests include a cursor token and do not define `filter`.
112
+ wix.common.CursorPaging cursor_paging = 5;
113
+ }
114
+ }
115
+
116
+ //flynt-disable deleted-field-enum-reserved
117
+ message Item {
118
+ // Item ID.
119
+ string id = 1;
120
+
121
+ // Item name.
122
+ google.protobuf.StringValue name = 2 [(.wix.api.maxLength) = 250];
123
+
124
+ // Item description.
125
+ google.protobuf.StringValue description = 3 [(.wix.api.maxLength) = 1000];
126
+
127
+ // Item image.
128
+ Image image = 4;
129
+
130
+ // Additional information about the item. For example, an item's price.
131
+ google.protobuf.StringValue note = 5 [(.wix.api.maxLength) = 100];
132
+
133
+ // Indicates whether the item has additional steps, additional step will replace any existing additional_data exists on the item.
134
+ google.protobuf.BoolValue has_additional_step = 6 [(.wix.api.field_exposure) = INTERNAL];
135
+
136
+ // Additional data associated with an item. The content of this object changes based on the Wix service defined in the `tag` field.
137
+ AdditionalData additional_data = 7 [(.wix.api.field_exposure) = PRIVATE, deprecated = true, (.wix.api.field_deprecated) = {
138
+ replaced_by: "additional_fields"
139
+ target_removal_date: "2025-01-01"
140
+ }];
141
+
142
+ // Additional fields associated with an item. The content of this object might changes based on the Wix service defined in the `tag` field.
143
+ //flynt-disable renamed-field-breaking-change
144
+ google.protobuf.Struct additional_fields = 8;
145
+ }
@@ -98,6 +98,7 @@ message Crud {
98
98
  UPDATE_EXTENDED_FIELDS = 21;
99
99
  BULK_UPDATE_TAGS = 22;
100
100
  BULK_UPDATE_TAGS_BY_FILTER = 23;
101
+ CUSTOM_ACTION = 24;
101
102
  }
102
103
  required Method method = 1; // method type
103
104
  oneof method_options {
@@ -122,6 +123,9 @@ message Crud {
122
123
  CountOptions count_options = 21;
123
124
  SearchRelatedOptions search_related_options = 22;
124
125
  UpdateExtendedFieldsOptions update_extended_fields_options = 23;
126
+ CustomActionOptions custom_action_options = 24; // marks that this method is a custom-action, that unfolds a read/write operation
127
+ BulkUpdateTagsMethodOptions bulk_update_tags_options = 25;
128
+ BulkUpdateTagsByFilterMethodOptions bulk_update_tags_by_filter_options = 26;
125
129
  }
126
130
  }
127
131
 
@@ -130,9 +134,27 @@ message Paging {
130
134
  UNKNOWN_TYPE = 0;
131
135
  OFFSET = 1;
132
136
  CURSOR = 2;
137
+ BOTH = 3;
133
138
  }
134
139
  optional Type type = 1; // paging type
135
- optional string paging_metadata_field = 2; // paging field name in response object. default is `metadata`
140
+ optional string paging_metadata_field = 2 [deprecated=true]; // paging field name in response object. default is `metadata`, DEPRECATED in commons V2
141
+ optional string cursor_paging_metadata_field = 3; // cursor paging field name in response object. default is `cursorPagingMetadata`
142
+ optional string offset_paging_metadata_field = 4; // offset paging field name in response object. default is `offsetPagingMetadata`
143
+ }
144
+
145
+ message CustomActionOptions {
146
+ optional bool read_operation = 1; // the custom-action's operation will do nothing but read data.
147
+ optional WqlOptions wql = 2; // if WQL validation is needed in this method, provide the data needed for the validator
148
+ }
149
+
150
+ message WqlOptions {
151
+ optional string query_options_name = 1; // Name of WQL variant to use
152
+ // The action may use either filter (struct), query (QueryV2) or search (Search) field. Point to the right one
153
+ oneof field {
154
+ string filter_field = 2; // provide path to filter field (struct) in your request message
155
+ string query_field = 3; // provide path to query field (wix.common.QueryV2) in your request message
156
+ string search_field = 4; // provide path to search field (wix.common.Search) in your request message
157
+ }
136
158
  }
137
159
 
138
160
  message CreateMethodOptions {
@@ -166,25 +188,29 @@ message ListMethodOptions {
166
188
  }
167
189
 
168
190
  message QueryMethodOptions {
169
- optional string query_field = 1; // query field name in request object. default is `query`
191
+ optional string query_field = 1 [deprecated=true]; // query field name in request object. default is `query`, DEPRECATED in commons V2
192
+ optional string cursor_query_field = 7; // cursor query field name in request object. default is `cursorQuery`
193
+ optional string offset_query_field = 8; // offset query field name in request object. default is `offsetQuery`
170
194
  required string items_field = 3; // items field name in response object.
171
195
  optional Paging paging = 2; // present paging mechanism info, default will be of type=`CURSOR`
172
196
  oneof wql_options {
173
197
  // mark fields that are available for filtering and sorting via WixQueryLanguage
174
198
  // Deprecated - use wql annotation on the entity level
175
199
  Wql wql = 4 [deprecated = true];
176
- string query_options_name = 6; //Name of WQL variant to use
200
+ string query_options_name = 6; // Name of WQL variant to use
177
201
  }
178
202
  repeated string me_aliasable_field = 5; // collection of FQNs of fields that MAY be aliased with the const `"me"`
179
203
  }
180
204
 
181
205
  message SearchMethodOptions {
182
- optional string search_field = 1; // search field name in request object. default is `search`
206
+ optional string search_field = 1 [deprecated=true]; // search field name in request object. default is `search`, DEPRECATED in commons V2
207
+ optional string cursor_search_field = 8; // cursor search field name in request object. default is `cursorSearch`
208
+ optional string offset_search_field = 9; // offset search field name in request object. default is `offsetSearch`
183
209
  required string items_field = 3; // items field name in response object.
184
210
  optional Paging paging = 2; // present paging mechanism info, default will be of type=`CURSOR`
185
211
  oneof wql_options {
186
212
  Wql wql = 4; // mark fields that are available for filtering and sorting via WixQueryLanguage
187
- string query_options_name = 7; //Name of WQL variant to use
213
+ string query_options_name = 7; // Name of WQL variant to use
188
214
  }
189
215
  repeated string me_aliasable_field = 5; // collection of FQNs of fields that MAY be aliased with the const `"me"`
190
216
  repeated Search search = 6; // mark fields that are available for search
@@ -203,7 +229,16 @@ message BulkUpdateByFilterMethodOptions {
203
229
  optional string item_field = 1; // item field name in request and response objects. default is `<entity-name>`
204
230
  optional string fieldmask_field = 2; // fieldmask field name in request object. default is `fieldmask`, only if it really exists in model
205
231
  optional string filter_field = 3; // filter field name in request object. default is `filter`
206
- optional string query_options_name = 4; //Name of WQL variant to use
232
+ optional string query_options_name = 4; // Name of WQL variant to use
233
+ }
234
+
235
+ message BulkUpdateTagsMethodOptions {
236
+ optional string ids_field = 1; // ids field name in request object. default is `<entity-name>_ids`
237
+ }
238
+
239
+ message BulkUpdateTagsByFilterMethodOptions {
240
+ optional string filter_field = 1; // filter field name in request object. default is `filter`
241
+ optional string query_options_name = 2; // Name of WQL variant to use
207
242
  }
208
243
 
209
244
  message BulkUpsertMethodOptions {
@@ -217,7 +252,7 @@ message BulkDeleteMethodOptions {
217
252
 
218
253
  message BulkDeleteByFilterMethodOptions {
219
254
  optional string filter_field = 1; // filter field name in request object. default is `filter`
220
- optional string query_options_name = 2; //Name of WQL variant to use
255
+ optional string query_options_name = 2; // Name of WQL variant to use
221
256
  }
222
257
 
223
258
  message ListDeletedMethodOptions {
@@ -247,8 +282,10 @@ message CountOptions {
247
282
  // Usually, that will be the query endpoint since you want the same filter capabilities for query and count
248
283
  string inherit_wql_from = 1 [deprecated = true];
249
284
 
250
- string query_options_name = 2; //Name of WQL variant to use
285
+ string query_options_name = 2; // Name of WQL variant to use
251
286
  }
287
+ optional string filter_field = 3; // query field name in request object. default is `filter`
288
+ optional string count_field = 4; // count field name in response object. default is `count`
252
289
  }
253
290
 
254
291
  message SearchRelatedOptions {
@@ -257,7 +294,7 @@ message SearchRelatedOptions {
257
294
  // Usually, that will be the search endpoint since you want the same filter capabilities for search and related search
258
295
  string inherit_wql_from = 1 [deprecated = true];
259
296
 
260
- string query_options_name = 2; //Name of WQL variant to use
297
+ string query_options_name = 2; // Name of WQL variant to use
261
298
  }
262
299
  }
263
300
 
@@ -266,6 +303,7 @@ message UpdateExtendedFieldsOptions {
266
303
  }
267
304
 
268
305
  message Wql {
306
+ reserved 7;
269
307
  enum Operator {
270
308
  option allow_alias = true;
271
309
  ALL_APPLICABLE_OPERATORS = 0; // Applicable by type. i.e. if we allow LT/GT for **, it means for numeric fields only.
@@ -286,6 +324,15 @@ message Wql {
286
324
  EMPTY = 13; // [Array] Matches arrays that contain no elements.
287
325
  MATCH_ALL = 14; // Matches all items. Intended for expressing intent in selecting everything for ex. destructive operations - bulk deletes, updates, etc.
288
326
  MATCH_ITEMS = 16; // [Array] match multiple fields within array with AND operator semantics.
327
+ /* Enhances field, marked as LOCAL_DATE format, with additional subFields to sort and filter on.
328
+ For local date, formatted as yyyy-mm-dd, available subfields are:
329
+ '.dayOfMonth' - sorts/filters on the day of the month (dd), integer
330
+ '.month' - sorts/filters on the month (mm), integer
331
+ '.year' - sorts/filters on the year (yyyy), integer
332
+ Example, there is a local date field named 'clientBirthday', you may use 'clientBirthday.dayOfMonth',
333
+ 'clientBirthday.month', 'clientBirthday.year' for filtering and sorting.
334
+ You may also use the field without the enhanced subfields ('clientBirthday'). Then the usual date sorting/filtering is applied */
335
+ ENHANCED_DATE = 17 [deprecated = true];
289
336
  }
290
337
  enum Sort {
291
338
  NONE = 0; // no sorting enabled
@@ -305,6 +352,18 @@ message Wql {
305
352
  }
306
353
  repeated RequiredField required_field = 2; // all required field configurations to satisfy composite index
307
354
  }
355
+
356
+ enum VirtualSubfields {
357
+ NO_VIRTUAL_SUBFIELDS = 0;
358
+ /* Can be set for a field, marked as LOCAL_DATE format, allows filtering by following subfields:
359
+ - '.dayOfMonth' - sorts/filters on the day of the month (dd), integer
360
+ - '.month' - sorts/filters on the month (mm), integer
361
+ - '.year' - sorts/filters on the year (yyyy), integer
362
+ For example, for a local date field named 'clientBirthday', you may use 'clientBirthday.dayOfMonth',
363
+ 'clientBirthday.month', 'clientBirthday.year' for filtering and sorting. */
364
+ DATE = 1;
365
+ }
366
+
308
367
  message OperatorFieldSupport {
309
368
  repeated Operator operator = 1; // Operators supported for fields that match the glob
310
369
  // this field is deprecated because glob is hard to read. moved to a direct field config approach
@@ -316,6 +375,7 @@ message Wql {
316
375
  optional Sort sort = 3; // sort type enabled for this glob
317
376
  repeated RequiredFields required_fields = 4; // fields that match this glob, can be used only if the query is also filtered by required_fields
318
377
  optional Maturity maturity = 6;
378
+ optional VirtualSubfields virtual_subfields = 7; // kind of virtual subfields are supported for this field
319
379
  }
320
380
  // this field is deprecated due to a better and shorter naming
321
381
  repeated OperatorFieldSupport operator_field_support = 3 [(.wix.api.field_deprecated) = {
@@ -108,6 +108,8 @@ message DomainEvent {
108
108
  optional EventType event_type = 4;
109
109
  optional Exposure exposure = 6;
110
110
  optional Maturity maturity = 7;
111
+ optional string additional_metadata_fqn = 8;
112
+ optional DomainEventDeprecation deprecated = 9; // assigned and detailed where the subject event is deprecated
111
113
  }
112
114
 
113
115
  message Emits {
@@ -115,6 +117,11 @@ message Emits {
115
117
  optional string action_message_fqn = 2; // Required when event_type == ACTION, otherwise must not be set
116
118
  }
117
119
 
120
+ message DomainEventDeprecation {
121
+ optional string replaced_by = 1;
122
+ optional string target_removal_date = 2;
123
+ }
124
+
118
125
  message CallbackDeprecation {
119
126
  optional string replaced_by = 1;
120
127
  optional string target_removal_date = 2;
@@ -63,6 +63,16 @@ message Entity {
63
63
  optional QueryOptions query_options = 14;
64
64
  optional Exposure events_exposure = 15; // default events exposure, may be overridden in `wix.api.domain_event`
65
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;
66
76
  }
67
77
 
68
78
  message Extensible {
@@ -82,6 +82,9 @@ message ValidationError {
82
82
  REQUIRED_FIELD = 15;
83
83
  FIELD_NOT_ALLOWED = 16;
84
84
  ONE_OF_ALIGNMENT = 17;
85
+ EXACT_LENGTH = 18;
86
+ EXACT_SIZE = 19;
87
+ REQUIRED_ONE_OF_FIELD = 20;
85
88
  }
86
89
  message FieldViolation {
87
90
  string field = 1;
@@ -117,3 +120,8 @@ message FormatRuleDataPayload {
117
120
  message EnumRuleDataPayload {
118
121
  repeated string supported = 1;
119
122
  }
123
+
124
+ // for required one-of violations
125
+ message RequiredOneOfRuleDataPayload {
126
+ repeated string supported = 1;
127
+ }
@@ -36,16 +36,22 @@ extend google.protobuf.FieldOptions {
36
36
  optional int32 maxLength = 50203;
37
37
  // min length for strings
38
38
  optional int32 minLength = 50204;
39
+ // exact length for strings
40
+ optional int32 exactLength = 50206;
39
41
  // max size for repeated field, map
40
42
  optional int32 maxSize = 50209;
41
43
  // min size for repeated field, map
42
44
  optional int32 minSize = 50210;
45
+ // exact size for repeated field, map
46
+ optional int32 exactSize = 50213;
43
47
  // common known formats like email, URI, etc.
44
48
  optional Format format = 50205;
45
49
  // indicates this field cannot be set by the client. E.g. Id field assigned by the server
46
50
  optional bool readOnly = 50208;
47
51
  // indicates this field can be set by the client, but can never be changed or updated
48
52
  optional bool immutable = 50212;
53
+ // indicates this field is input-only, it will NOT be returned in output response
54
+ optional bool writeOnly = 50154;
49
55
  // decimal value format
50
56
  optional DecimalValueOptions decimalValue = 50211;
51
57
  // declare custom field validation for all methods
@@ -131,4 +137,6 @@ enum Format {
131
137
  LOCAL_DATE_TIME = 18; // ISO-8601 extended local date-time format (YYYY-MM-DDThh:mm[:ss][.sss])
132
138
  URL_SLUG = 19;
133
139
  SYSTEM_SLUG = 20;
140
+ SECURE_WEB_URL = 21; // HTTPS only
141
+ SUBDIVISION = 22; // ISO-3166-2
134
142
  }
@@ -1,4 +1,4 @@
1
- //flynt-disable missing-array-limits
1
+ //flynt-disable missing-array-limits, missing-string-validations
2
2
  syntax = "proto3";
3
3
 
4
4
  package wix.common.data;
@@ -162,6 +162,7 @@ message PatchErrorDetails {
162
162
  ValueExceeded value_exceeded = 9;
163
163
  InvalidUUID invalid_uuid = 10;
164
164
  SystemFieldNotAllowed system_field_not_allowed = 11;
165
+ FailedToWriteType failed_to_write_type = 12;
165
166
  }
166
167
 
167
168
  message IllegalFieldRemoved {
@@ -190,6 +191,12 @@ message PatchErrorDetails {
190
191
  string expected = 3;
191
192
  }
192
193
 
194
+ message FailedToWriteType {
195
+ string path = 1;
196
+ string expected_type = 2;
197
+ string value = 3;
198
+ }
199
+
193
200
  message IllegalPath {
194
201
  string path = 1;
195
202
  }
@@ -280,6 +287,7 @@ message ErrorDetails {
280
287
  UniqueKeyNotFound unique_key_not_found = 27;
281
288
  InvalidUniqueKey invalid_unique_key = 29;
282
289
  MaxSizeViolations max_size_violations = 30;
290
+ PageSizeExceedsMaximum page_size_exceeds_maximum = 31;
283
291
  }
284
292
 
285
293
  message BulkSizeExceedsMaximum {
@@ -418,5 +426,10 @@ message ErrorDetails {
418
426
  string field_path = 1;
419
427
  string field_type = 2;
420
428
  }
429
+
430
+ message PageSizeExceedsMaximum {
431
+ int32 size = 1;
432
+ int32 max_page_size = 2;
433
+ }
421
434
  }
422
435
 
@@ -33,6 +33,8 @@ message Image {
33
33
  google.protobuf.StringValue filename = 7 [(.wix.api.readOnly) = true];
34
34
  // Image size in bytes.
35
35
  google.protobuf.StringValue size_in_bytes = 8 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE, (.wix.api.format) = DECIMAL_VALUE];
36
+ // Focal point of the image.
37
+ FocalPoint focal_point = 9 [(.wix.api.field_exposure) = PRIVATE];
36
38
  }
37
39
 
38
40
  // Deprecated - use VideoV2
@@ -81,6 +83,10 @@ message VideoV2 {
81
83
  google.protobuf.StringValue title = 9 [(wix.api.maxLength) = 300, (.wix.api.field_exposure) = PRIVATE];
82
84
  // A long description for the video. will be used for SEO purposes.
83
85
  google.protobuf.StringValue description = 10 [(wix.api.maxLength) = 2000, (.wix.api.field_exposure) = PRIVATE];
86
+ // Original video height.
87
+ google.protobuf.Int32Value height = 11 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE, (.wix.api.min) = 0];
88
+ // Original video width.
89
+ google.protobuf.Int32Value width = 12 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE, (.wix.api.min) = 0];
84
90
  }
85
91
 
86
92
  message VideoResolution {
@@ -174,6 +180,8 @@ message Document {
174
180
  google.protobuf.StringValue size_in_bytes = 4 [(.wix.api.field_exposure) = PRIVATE, (.wix.api.format) = DECIMAL_VALUE];
175
181
  // Document filename.
176
182
  google.protobuf.StringValue filename = 5;
183
+ // Document thumbnail.
184
+ Image thumbnail = 6 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE];
177
185
  }
178
186
 
179
187
  message Model3D {
@@ -234,3 +242,14 @@ message MediaItem {
234
242
  Document document = 3; // WixMedia document
235
243
  }
236
244
  }
245
+
246
+ message FocalPoint {
247
+ // X-coordinate of the focal point.
248
+ double x = 1;
249
+ // Y-coordinate of the focal point.
250
+ double y = 2;
251
+ // crop by height
252
+ google.protobuf.Int32Value height = 3;
253
+ // crop by width
254
+ google.protobuf.Int32Value width = 4;
255
+ }