@wix/bex-utils 2.71.0 → 2.73.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.
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/builders.impl.d.ts +115 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/builders.impl.js +1340 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/builders.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/http.impl.d.ts +29 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/http.impl.js +524 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/http.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/meta.impl.d.ts +20 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/meta.impl.js +119 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/meta.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/client/proto-generated.d.ts +18874 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/client/proto-generated.js +2 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/proto-generated.d.ts +9468 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/proto-generated.js +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/server/proto-generated.d.ts +18788 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/server/proto-generated.js +2 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/rpc.impl.d.ts +39 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/rpc.impl.js +113 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/rpc.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/types.impl.d.ts +1248 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/types.impl.js +371 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/types.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/builders.impl.d.ts +115 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/builders.impl.js +1209 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/builders.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/http.impl.d.ts +29 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/http.impl.js +516 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/http.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/meta.impl.d.ts +20 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/meta.impl.js +92 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/meta.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/rpc.impl.d.ts +39 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/rpc.impl.js +86 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/rpc.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/types.impl.d.ts +1248 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/types.impl.js +368 -0
- package/@wix/ambassador-dealer-v1-serving-offer/build/es/types.impl.js.map +1 -0
- package/@wix/ambassador-dealer-v1-serving-offer/builders/package.json +7 -0
- package/@wix/ambassador-dealer-v1-serving-offer/http/package.json +7 -0
- package/@wix/ambassador-dealer-v1-serving-offer/meta/package.json +7 -0
- package/@wix/ambassador-dealer-v1-serving-offer/package.json +52 -0
- package/@wix/ambassador-dealer-v1-serving-offer/rpc/package.json +6 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiment_properties.proto +46 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiment_results.proto +39 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiment_support_kpis.proto +29 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiments_properties_thin.proto +31 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/wixab_service.proto +81 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/action_payload.proto +33 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/annotations.proto +451 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/api_errors.proto +142 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/callback.proto +163 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/context.proto +19 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/entity.proto +127 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/errors.proto +127 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/idempotency.proto +25 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/permissions.proto +46 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/sla.proto +24 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/subscription.proto +32 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/validations.proto +142 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/address.proto +148 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/bulk.proto +53 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/data/dataextensions/extended-fields.proto +20 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/data/dataextensions/update-extended-fields-messages.proto +15 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/data/errors.proto +435 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/identification.proto +40 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/image.proto +8 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/media.proto +280 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/money.proto +32 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/pageurl.proto +32 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/paging.proto +121 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/query.proto +812 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/sorting.proto +36 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/spi.proto +85 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/tags.proto +55 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/wixlink.proto +203 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/audiences.proto +226 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/campaigns.proto +270 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/frequency-caps.proto +74 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/localization-managers.proto +11 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/managers.proto +11 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/offer-test.proto +338 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/offer.proto +298 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/offers-service.proto +696 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/placements.proto +423 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/schemas-service.proto +142 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/targeting.proto +378 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/upstream/wix/common/paging.proto +126 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/upstream/wix/common/query.proto +840 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/upstream/wix/common/sorting.proto +37 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerOffersServing/api/v1/dealer-offers-debug.proto +188 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerOffersServing/api/v1/dealer-offers-serving.proto +177 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerOffersServing/api/v1/offer.proto +87 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerPriority/api/v1/priority-service.proto +57 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerPriority/api/v1/priority.proto +132 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/graphql/definitions.proto +13 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/http/field_mask.proto +46 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/optimization_tester_service.proto +284 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/test.proto +170 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/bulk.proto +56 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/paging.proto +121 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/query.proto +741 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/sorting.proto +26 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/targeting/v1/targeting.proto +406 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/targeting/v1/targeting_service.proto +247 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/variants_generator/v1/variant.proto +92 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/variants_generator/v1/variants_generator_service.proto +73 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/sdk/definitions.proto +191 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/spi/definitions.proto +187 -0
- package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/spi/http_error_status.proto +24 -0
- package/@wix/ambassador-dealer-v1-serving-offer/types/package.json +7 -0
- package/@wix/bex-bundled-mini-essentials/CHANGELOG.md +4 -0
- package/@wix/bex-bundled-mini-essentials/package.json +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
syntax = "proto2";
|
|
2
|
+
|
|
3
|
+
package wix.graphql;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/descriptor.proto";
|
|
6
|
+
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
option java_outer_classname = "GraphqlProto";
|
|
9
|
+
option java_package = "com.wix.graphql";
|
|
10
|
+
|
|
11
|
+
extend google.protobuf.FileOptions {
|
|
12
|
+
optional string namespace = 66000;
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
syntax = "proto2";
|
|
2
|
+
|
|
3
|
+
package wix.http;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/descriptor.proto";
|
|
6
|
+
|
|
7
|
+
option java_multiple_files = true;
|
|
8
|
+
option java_outer_classname = "FieldmaskProto";
|
|
9
|
+
option java_package = "com.wix.http";
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
When (most commonly) update endpoint accepts FieldMask object, from REST client perspective it is redundant and can be
|
|
13
|
+
inferred from the actual JSON payload that was sent. This field annotation will tell the framework to use the JSON body
|
|
14
|
+
and automatically construct the fieldmask. E.g.
|
|
15
|
+
```
|
|
16
|
+
import "wix/http/field_mask.proto";
|
|
17
|
+
|
|
18
|
+
rpc UpdateProduct (UpdateProductRequest) returns (UpdateProductResponse) {
|
|
19
|
+
option (google.api.http) = {
|
|
20
|
+
PATCH: "/v1/products/{product.id}
|
|
21
|
+
};
|
|
22
|
+
option (wix.http.infer_fieldmask) = {
|
|
23
|
+
from: "product"
|
|
24
|
+
fieldmask: "mask"
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
message UpdateProductRequest {
|
|
29
|
+
Product product = 1;
|
|
30
|
+
google.protobuf.FieldMask mask = 2;
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
*/
|
|
34
|
+
extend google.protobuf.FieldOptions {
|
|
35
|
+
optional string infer_fieldmask_from = 50901 [deprecated=true];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
extend google.protobuf.MethodOptions {
|
|
39
|
+
optional InferFieldmask infer_fieldmask = 50902;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
message InferFieldmask {
|
|
43
|
+
required string from = 1; // ref to field on which we want to infer
|
|
44
|
+
required string fieldmask = 2; // ref to actual fieldmask member
|
|
45
|
+
optional bool snake_case_comma_separated_mask = 3; // recase comma-separated field mask to snake_case (legacy behavior)
|
|
46
|
+
}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package wix.personalize.optimization_test.v1;
|
|
4
|
+
option java_package = "com.wixpress.personalize.optimization.test.v1";
|
|
5
|
+
|
|
6
|
+
import "google/api/annotations.proto";
|
|
7
|
+
import "wix/api/annotations.proto";
|
|
8
|
+
import "wix/api/callback.proto";
|
|
9
|
+
import "wix/api/entity.proto";
|
|
10
|
+
import "wix/api/permissions.proto";
|
|
11
|
+
import "wix/api/validations.proto";
|
|
12
|
+
import "wix/personalize/optimization_test/v1/upstream/wix/common/paging.proto";
|
|
13
|
+
import "wix/personalize/optimization_test/v1/test.proto";
|
|
14
|
+
import "wix/personalize/optimization_test/v1/upstream/wix/common/query.proto";
|
|
15
|
+
import "google/protobuf/wrappers.proto";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
Manages Optimization Tests
|
|
19
|
+
*/
|
|
20
|
+
service OptimizationTesterService {
|
|
21
|
+
option (wix.api.service_maturity) = ALPHA;
|
|
22
|
+
option (wix.api.service_exposure) = PUBLIC;
|
|
23
|
+
option (wix.api.service_entity).message = "wix.personalize.optimization_test.v1.Test";
|
|
24
|
+
|
|
25
|
+
// Internal event, triggered when Test is stopped.
|
|
26
|
+
option (wix.api.event) = {
|
|
27
|
+
topic: "test-stopped-event"
|
|
28
|
+
segment: USERS
|
|
29
|
+
exposure: INTERNAL
|
|
30
|
+
payload: "wix.personalize.optimization_test.v1.TestStoppedEvent"
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
Creates an Optimization Test.
|
|
35
|
+
|
|
36
|
+
The request body must include Variants and Kpis. DurationInDays is optional.
|
|
37
|
+
*/
|
|
38
|
+
rpc CreateTest (CreateTestRequest) returns (CreateTestResponse) {
|
|
39
|
+
option (google.api.http).post = "/v1/tests";
|
|
40
|
+
option (wix.api.permission).name = "PERSONALIZE.CREATE_OPTIMIZE_TEST";
|
|
41
|
+
option (wix.api.required) = "CreateTestRequest.test";
|
|
42
|
+
option (wix.api.required) = "CreateTestRequest.test.variants";
|
|
43
|
+
option (wix.api.required) = "CreateTestRequest.test.kpis";
|
|
44
|
+
option (wix.api.required) = "CreateTestRequest.test.exposure_id";
|
|
45
|
+
option (wix.api.required) = "CreateTestRequest.test.created_by";
|
|
46
|
+
option (wix.api.crud) = {
|
|
47
|
+
method: CREATE
|
|
48
|
+
create_options: {
|
|
49
|
+
item_field: "test"
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
option (wix.api.emits) = {
|
|
53
|
+
event_type: CREATED
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
Retrieves a Test.
|
|
59
|
+
*/
|
|
60
|
+
rpc GetTest (GetTestRequest) returns (GetTestResponse) {
|
|
61
|
+
option (google.api.http).get = "/v1/tests/{test_id}";
|
|
62
|
+
option (wix.api.permission).name = "PERSONALIZE.READ_OPTIMIZE_TEST";
|
|
63
|
+
option (wix.api.required) = "GetTestRequest.test_id";
|
|
64
|
+
option (wix.api.crud) = {
|
|
65
|
+
method: GET_ITEM
|
|
66
|
+
get_options: {
|
|
67
|
+
id_field: "test_id"
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
Updates a Test.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
Each time the Test is updated,
|
|
77
|
+
`revision` increments by 1.
|
|
78
|
+
The current `revision` must be passed when updating the Test.
|
|
79
|
+
This ensures you're working with the latest Test
|
|
80
|
+
and prevents unintended overwrites.
|
|
81
|
+
*/
|
|
82
|
+
// flynt-disable update-missing-inferred-fieldmask
|
|
83
|
+
rpc UpdateTest (UpdateTestRequest) returns (UpdateTestResponse) {
|
|
84
|
+
option (google.api.http).patch = "/v1/tests/{test.id}";
|
|
85
|
+
option (wix.api.permission).name = "PERSONALIZE.UPDATE_OPTIMIZE_TEST";
|
|
86
|
+
option (wix.api.required) = "UpdateTestRequest.test";
|
|
87
|
+
option (wix.api.required) = "UpdateTestRequest.test.id";
|
|
88
|
+
option (wix.api.required) = "UpdateTestRequest.test.revision";
|
|
89
|
+
option (wix.api.emits) = {
|
|
90
|
+
event_type: UPDATED
|
|
91
|
+
};
|
|
92
|
+
option (wix.api.crud) = {
|
|
93
|
+
method: UPDATE
|
|
94
|
+
update_options: {
|
|
95
|
+
item_field: "test"
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
Deletes a Test.
|
|
102
|
+
*/
|
|
103
|
+
rpc DeleteTest (DeleteTestRequest) returns (DeleteTestResponse) {
|
|
104
|
+
option (google.api.http).delete = "/v1/tests/{test_id}";
|
|
105
|
+
option (wix.api.permission).name = "PERSONALIZE.DELETE_OPTIMIZE_TEST";
|
|
106
|
+
option (wix.api.required) = "DeleteTestRequest.test_id";
|
|
107
|
+
option (wix.api.emits) = {
|
|
108
|
+
event_type: DELETED
|
|
109
|
+
};
|
|
110
|
+
option (wix.api.crud) = {
|
|
111
|
+
method: DELETE
|
|
112
|
+
delete_options: {
|
|
113
|
+
id_field: "test_id"
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
Retrieves a list of Tests, given the provided [paging, filtering, and sorting][1].
|
|
120
|
+
|
|
121
|
+
Up to 1,000 Tests can be returned per request.
|
|
122
|
+
*/
|
|
123
|
+
rpc QueryTests (QueryTestsRequest) returns (QueryTestsResponse) {
|
|
124
|
+
option (google.api.http) = {
|
|
125
|
+
post: "/v1/tests/query"
|
|
126
|
+
additional_bindings : {
|
|
127
|
+
get: "/v1/tests/query";
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
option (wix.api.permission).name = "PERSONALIZE.READ_OPTIMIZE_TEST";
|
|
131
|
+
option (wix.api.crud) = {
|
|
132
|
+
method: QUERY
|
|
133
|
+
query_options: {
|
|
134
|
+
items_field: 'tests'
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
Starts a Test.
|
|
141
|
+
|
|
142
|
+
Starting the Test in Petri.
|
|
143
|
+
*/
|
|
144
|
+
rpc StartTest (StartTestRequest) returns (StartTestResponse) {
|
|
145
|
+
option (google.api.http).post = "/v1/tests/{test_id}/start";
|
|
146
|
+
option (wix.api.permission).name = "PERSONALIZE.UPDATE_OPTIMIZE_TEST";
|
|
147
|
+
option (wix.api.required) = "StartTestRequest.test_id";
|
|
148
|
+
option (wix.api.emits) = {
|
|
149
|
+
event_type: UPDATED
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
Stops a Test.
|
|
155
|
+
|
|
156
|
+
Stopping the Test in Petri.
|
|
157
|
+
*/
|
|
158
|
+
rpc StopTest (StopTestRequest) returns (StopTestResponse) {
|
|
159
|
+
option (google.api.http).post = "/v1/tests/{test_id}/stop";
|
|
160
|
+
option (wix.api.permission).name = "PERSONALIZE.UPDATE_OPTIMIZE_TEST";
|
|
161
|
+
option (wix.api.required) = "StopTestRequest.test_id";
|
|
162
|
+
option (wix.api.emits) = {
|
|
163
|
+
event_type: UPDATED
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
Set time left to test
|
|
169
|
+
*/
|
|
170
|
+
rpc SetTimeLeft (SetTimeLeftRequest) returns (SetTimeLeftResponse) {
|
|
171
|
+
option (google.api.http).put = "/v1/tests/{test_id}/time-left";
|
|
172
|
+
option (wix.api.permission).name = "PERSONALIZE.UPDATE_OPTIMIZE_TEST";
|
|
173
|
+
option (wix.api.required) = "SetTimeLeftRequest.test_id";
|
|
174
|
+
option (wix.api.required) = "SetTimeLeftRequest.time_left_in_days";
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
message CreateTestRequest {
|
|
180
|
+
// The Test to create.
|
|
181
|
+
Test test = 1;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
message CreateTestResponse {
|
|
185
|
+
// The created Test.
|
|
186
|
+
Test test = 1;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
message GetTestRequest {
|
|
190
|
+
// ID of the Test to retrieve.
|
|
191
|
+
string test_id = 1 [(wix.api.format) = GUID];
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
message GetTestResponse {
|
|
195
|
+
// The requested Test.
|
|
196
|
+
Test test = 1;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
message UpdateTestRequest {
|
|
200
|
+
// Test to be updated, may be partial.
|
|
201
|
+
Test test = 1;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
message UpdateTestResponse {
|
|
205
|
+
// Updated Test.
|
|
206
|
+
Test test = 1;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
message DeleteTestRequest {
|
|
210
|
+
// Id of the Test to delete.
|
|
211
|
+
string test_id = 1 [(wix.api.format) = GUID];
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
message DeleteTestResponse {}
|
|
215
|
+
|
|
216
|
+
message QueryTestsRequest {
|
|
217
|
+
// WQL expression.
|
|
218
|
+
wix.personalize.optimization_test.v1.upstream.wix.common.CursorQuery query = 1;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
message QueryTestsResponse {
|
|
222
|
+
// List of Tests.
|
|
223
|
+
repeated Test tests = 1;
|
|
224
|
+
|
|
225
|
+
// Paging metadata
|
|
226
|
+
wix.personalize.optimization_test.v1.upstream.wix.common.CursorPagingMetadata paging_metadata = 2;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
message StartTestRequest {
|
|
230
|
+
// Id of the Test to start.
|
|
231
|
+
string test_id = 1 [(wix.api.format) = GUID];
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
message StartTestResponse {
|
|
235
|
+
// Updated Test.
|
|
236
|
+
Test test = 1;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
message StopTestRequest {
|
|
240
|
+
// Id of the Test to stop.
|
|
241
|
+
string test_id = 1 [(wix.api.format) = GUID];
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
message StopTestResponse {
|
|
245
|
+
// Updated Test.
|
|
246
|
+
Test test = 1;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
message SetTimeLeftRequest {
|
|
250
|
+
// Test id to be updated.
|
|
251
|
+
string test_id = 1 [(wix.api.format) = GUID];
|
|
252
|
+
|
|
253
|
+
// The days left for the test to run from this moment.
|
|
254
|
+
int32 time_left_in_days = 2;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
message SetTimeLeftResponse {
|
|
258
|
+
// Updated Test.
|
|
259
|
+
Test test = 1;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
message TestStoppedEvent {
|
|
263
|
+
// Id of the Test to stop.
|
|
264
|
+
string test_id = 1 [(wix.api.format) = GUID];
|
|
265
|
+
// The experiment id in Petri.
|
|
266
|
+
google.protobuf.StringValue experiment_id = 2 [(wix.api.format) = GUID,
|
|
267
|
+
deprecated = true,
|
|
268
|
+
(.wix.api.field_deprecated) = {replaced_by: "ab_test_id", target_removal_date: "2025-12-30"}
|
|
269
|
+
];
|
|
270
|
+
// The stop time.
|
|
271
|
+
google.protobuf.Int32Value stop_time = 3;
|
|
272
|
+
// The stop reason.
|
|
273
|
+
StopReason stop_reason = 4;
|
|
274
|
+
// The user triggering the stop.
|
|
275
|
+
google.protobuf.StringValue stopped_by = 5 [(wix.api.format) = GUID];
|
|
276
|
+
// The a/b test id in Petri.
|
|
277
|
+
google.protobuf.StringValue ab_test_id = 6 [(wix.api.maxLength) = 60];
|
|
278
|
+
|
|
279
|
+
enum StopReason {
|
|
280
|
+
UNKNOWN_STOP_REASON = 0;
|
|
281
|
+
BY_USER = 1;
|
|
282
|
+
BY_DURATION_EXPIRED = 2;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package wix.personalize.optimization_test.v1;
|
|
4
|
+
option java_package = "com.wixpress.personalize.optimization.test.v1";
|
|
5
|
+
|
|
6
|
+
import "wix/api/validations.proto";
|
|
7
|
+
import "wix/api/entity.proto";
|
|
8
|
+
import "google/protobuf/wrappers.proto";
|
|
9
|
+
import "google/protobuf/timestamp.proto";
|
|
10
|
+
import "wix/api/annotations.proto";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
A Test is a entity represents Petri test with the desire duration
|
|
14
|
+
You can manage Petri tests and their results
|
|
15
|
+
*/
|
|
16
|
+
message Test {
|
|
17
|
+
// flynt-disable missing-extensible
|
|
18
|
+
// flynt-disable missing-taggable-annotation
|
|
19
|
+
option (wix.api.entity) = {
|
|
20
|
+
fqdn: "wix.personalize.optimization_test.v1.test"
|
|
21
|
+
segment: PUBLIC
|
|
22
|
+
app_def_id: "9e94fad7-8dc2-42c5-b7f7-5d57b88bca08"
|
|
23
|
+
appendix_files: {
|
|
24
|
+
type: DOCS_CONF,
|
|
25
|
+
path: "appendices/docs"
|
|
26
|
+
}
|
|
27
|
+
query_options: {
|
|
28
|
+
wql: {
|
|
29
|
+
pattern: {
|
|
30
|
+
operator: ALL_APPLICABLE_OPERATORS
|
|
31
|
+
field: "id"
|
|
32
|
+
field: "status"
|
|
33
|
+
field: "experiment_id"
|
|
34
|
+
sort: BOTH
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
domain_events_read_permission: "PERSONALIZE.READ_OPTIMIZE_TEST"
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
option (wix.api.domain_event) = {
|
|
42
|
+
event_type: CREATED
|
|
43
|
+
exposure: PUBLIC
|
|
44
|
+
maturity: ALPHA
|
|
45
|
+
};
|
|
46
|
+
option (wix.api.domain_event) = {
|
|
47
|
+
event_type: UPDATED
|
|
48
|
+
exposure: PUBLIC
|
|
49
|
+
maturity: ALPHA
|
|
50
|
+
};
|
|
51
|
+
option (wix.api.domain_event) = {
|
|
52
|
+
event_type: DELETED
|
|
53
|
+
exposure: PUBLIC
|
|
54
|
+
maturity: ALPHA
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// Test ID.
|
|
58
|
+
google.protobuf.StringValue id = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
Revision number, which increments by 1 each time the Test is updated.
|
|
62
|
+
To prevent conflicting changes,
|
|
63
|
+
the current revision must be passed when updating the Test.
|
|
64
|
+
|
|
65
|
+
Ignored when creating a Test.
|
|
66
|
+
*/
|
|
67
|
+
google.protobuf.Int64Value revision = 2 [(wix.api.readOnly) = true];
|
|
68
|
+
|
|
69
|
+
// Date and time the Test was created.
|
|
70
|
+
google.protobuf.Timestamp created_date = 3 [(wix.api.readOnly) = true];
|
|
71
|
+
|
|
72
|
+
// Date and time the Test was last updated.
|
|
73
|
+
google.protobuf.Timestamp updated_date = 4 [(wix.api.readOnly) = true];
|
|
74
|
+
|
|
75
|
+
// The experiment id in Petri.
|
|
76
|
+
google.protobuf.StringValue experiment_id = 5 [
|
|
77
|
+
(wix.api.format) = GUID,
|
|
78
|
+
deprecated = true,
|
|
79
|
+
(.wix.api.field_deprecated) = {replaced_by: "ab_test_id", target_removal_date: "2025-12-30"}
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
// The tested variants ids: A, B, C...
|
|
83
|
+
repeated string variants = 6 [(wix.api.maxLength) = 1, (wix.api.minSize) = 2, (wix.api.maxSize) = 10];
|
|
84
|
+
|
|
85
|
+
// The main kpis of the test
|
|
86
|
+
repeated string kpis = 7 [(wix.api.format) = GUID, (wix.api.minSize) = 1, (wix.api.maxSize) = 10];
|
|
87
|
+
|
|
88
|
+
// The status of the test in Petri.
|
|
89
|
+
TestStatus status = 8;
|
|
90
|
+
|
|
91
|
+
// The duration time of the test in days.
|
|
92
|
+
google.protobuf.Int32Value duration_in_days = 9;
|
|
93
|
+
|
|
94
|
+
// The test results from mvt_results wixer table.
|
|
95
|
+
repeated MvtResults experiment_results = 10 [(wix.api.maxSize) = 10];
|
|
96
|
+
|
|
97
|
+
// The exposure id in Data Platform.
|
|
98
|
+
string exposure_id = 11 [(wix.api.format) = GUID];
|
|
99
|
+
|
|
100
|
+
// The user email created the test.
|
|
101
|
+
string created_by = 12 [(wix.api.format) = EMAIL];
|
|
102
|
+
|
|
103
|
+
// The wixer id connects to the experiment.
|
|
104
|
+
google.protobuf.StringValue wixer_id = 13 [(wix.api.maxLength) = 10];
|
|
105
|
+
|
|
106
|
+
// The a/b test id in Petri.
|
|
107
|
+
google.protobuf.StringValue ab_test_id = 14 [(wix.api.maxLength) = 60];
|
|
108
|
+
|
|
109
|
+
// The ownership tag for the test. If not provided, defaults to "dealer-team".
|
|
110
|
+
google.protobuf.StringValue ownership_tag = 15 [(wix.api.maxLength) = 100];
|
|
111
|
+
|
|
112
|
+
enum TestStatus {
|
|
113
|
+
UNKNOWN_TEST_STATUS = 0;
|
|
114
|
+
NOT_STARTED = 1;
|
|
115
|
+
ACTIVE = 2;
|
|
116
|
+
ENDED = 3;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
message MvtResults {
|
|
120
|
+
// The current test date.
|
|
121
|
+
google.protobuf.StringValue max_date = 1 [(wix.api.maxLength) = 20];
|
|
122
|
+
|
|
123
|
+
// The results of the test in Wixer
|
|
124
|
+
google.protobuf.Int32Value group_id = 2;
|
|
125
|
+
|
|
126
|
+
// The variant name: Original/ A/ B/ C...
|
|
127
|
+
google.protobuf.StringValue group_name = 3 [(wix.api.maxLength) = 15];
|
|
128
|
+
|
|
129
|
+
// The number of exposed users to each variant.
|
|
130
|
+
google.protobuf.Int32Value exposed = 4;
|
|
131
|
+
|
|
132
|
+
// The percentage exposed (allocation) to each variant.
|
|
133
|
+
google.protobuf.DoubleValue current_percentage = 5;
|
|
134
|
+
|
|
135
|
+
// The name of the kpi
|
|
136
|
+
google.protobuf.StringValue kpi_name = 6 [(wix.api.maxLength) = 100];
|
|
137
|
+
|
|
138
|
+
// The kpi type: Main/ Mandatory
|
|
139
|
+
google.protobuf.StringValue kpi_rank = 7 [(wix.api.maxLength) = 20];
|
|
140
|
+
|
|
141
|
+
// Is the kpi is binary (true/false) or not.
|
|
142
|
+
google.protobuf.BoolValue kpi_binary = 8;
|
|
143
|
+
|
|
144
|
+
// For aggregated kpi -> total kpi sum
|
|
145
|
+
google.protobuf.DoubleValue kpi_exposed_sum = 9;
|
|
146
|
+
|
|
147
|
+
// For aggregated kpi -> avg kpi sum per user exposed (kpi_exposed_sum/exposed)
|
|
148
|
+
google.protobuf.DoubleValue mean = 10;
|
|
149
|
+
|
|
150
|
+
// For binary kpi -> % that made the kpi out of all exposed users
|
|
151
|
+
google.protobuf.DoubleValue rate = 11;
|
|
152
|
+
|
|
153
|
+
// For binary kpi -> number of users that made the kpi
|
|
154
|
+
google.protobuf.DoubleValue kpi_after_exposure = 12;
|
|
155
|
+
|
|
156
|
+
// For binary kpi -> % uplift of converted users / for aggregated kpi = % uplift of mean (sum per user exposed) [A vs A always be null]
|
|
157
|
+
google.protobuf.DoubleValue uplift = 13;
|
|
158
|
+
|
|
159
|
+
// Significant winner result (with 90% confidence) for each test (A vs B, A vs C...) [A vs A always be null]
|
|
160
|
+
google.protobuf.StringValue winner = 14 [(wix.api.maxLength) = 15];
|
|
161
|
+
|
|
162
|
+
// The id of the kpi
|
|
163
|
+
google.protobuf.StringValue kpi_id = 15 [(wix.api.format) = GUID];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
message TestStopTask {
|
|
168
|
+
// The test id to stop
|
|
169
|
+
google.protobuf.StringValue test_id = 1 [(wix.api.format) = GUID];
|
|
170
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package wix.personalize.optimization_test.v1.upstream.wix.common;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/wrappers.proto";
|
|
6
|
+
import "wix/api/annotations.proto";
|
|
7
|
+
import "wix/api/validations.proto";
|
|
8
|
+
import "wix/api/errors.proto";
|
|
9
|
+
|
|
10
|
+
option java_multiple_files = true;
|
|
11
|
+
option java_package = "com.wix.personalize.optimization.test.v1.upstream.wix.common";
|
|
12
|
+
|
|
13
|
+
message BulkActionMetadata {
|
|
14
|
+
option (.wix.api.decomposite_of) = "wix.common.BulkActionMetadata";
|
|
15
|
+
// Number of items that were successfully processed.
|
|
16
|
+
int32 total_successes = 1;
|
|
17
|
+
// Number of items that couldn't be processed.
|
|
18
|
+
int32 total_failures = 2;
|
|
19
|
+
// Number of failures without details because detailed failure threshold was exceeded.
|
|
20
|
+
int32 undetailed_failures = 3;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
message ItemMetadata {
|
|
24
|
+
option (.wix.api.decomposite_of) = "wix.common.ItemMetadata";
|
|
25
|
+
// Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
|
|
26
|
+
google.protobuf.StringValue id = 1 [(.wix.api.format) = GUID];
|
|
27
|
+
// Index of the item within the request array. Allows for correlation between request and response items.
|
|
28
|
+
int32 original_index = 2;
|
|
29
|
+
// Whether the requested action was successful for this item. When `false`, the `error` field is populated.
|
|
30
|
+
bool success = 3;
|
|
31
|
+
// Details about the error in case of failure.
|
|
32
|
+
.wix.api.ApplicationError error = 4;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
enum BulkActionType {
|
|
36
|
+
UNKNOWN_ACTION_TYPE = 0;
|
|
37
|
+
INSERT = 1;
|
|
38
|
+
UPDATE = 2;
|
|
39
|
+
DELETE = 3;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
|
|
44
|
+
Example for using it in your service:
|
|
45
|
+
|
|
46
|
+
message BulkOrderResult {
|
|
47
|
+
ItemMetadata item_metadata = 1;
|
|
48
|
+
Order item = 2;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
message BulkArchiveOrdersResponse {
|
|
52
|
+
repeated BulkOrderResult results = 1;
|
|
53
|
+
BulkActionMetadata bulk_action_metadata = 2;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
*/
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package wix.personalize.optimization_test.v1.upstream.wix.common;
|
|
4
|
+
|
|
5
|
+
import "google/protobuf/wrappers.proto";
|
|
6
|
+
import "wix/api/annotations.proto";
|
|
7
|
+
import "wix/api/validations.proto";
|
|
8
|
+
|
|
9
|
+
option java_multiple_files = true;
|
|
10
|
+
option java_package = "com.wix.personalize.optimization.test.v1.upstream.wix.common";
|
|
11
|
+
|
|
12
|
+
message Paging {
|
|
13
|
+
option (.wix.api.decomposite_of) = "wix.common.Paging";
|
|
14
|
+
option (.wix.api.decomposition_minimum_fields) = {
|
|
15
|
+
field: "limit"
|
|
16
|
+
field: "offset"
|
|
17
|
+
};
|
|
18
|
+
// Number of items to load.
|
|
19
|
+
google.protobuf.Int32Value limit = 1 [(.wix.api.min) = 0];
|
|
20
|
+
// Number of items to skip in the current sort order.
|
|
21
|
+
google.protobuf.Int32Value offset = 2 [(.wix.api.min) = 0];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
message CursorPaging {
|
|
25
|
+
option (.wix.api.decomposite_of) = "wix.common.CursorPaging";
|
|
26
|
+
option (.wix.api.decomposition_minimum_fields) = {
|
|
27
|
+
field: "limit"
|
|
28
|
+
field: "cursor"
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Maximum number of items to return in the results.
|
|
32
|
+
google.protobuf.Int32Value limit = 1 [(.wix.api.min) = 0, (.wix.api.max) = 100];
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
Pointer to the next or previous page in the list of results.
|
|
36
|
+
|
|
37
|
+
Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
|
|
38
|
+
Not relevant for the first request.
|
|
39
|
+
*/
|
|
40
|
+
google.protobuf.StringValue cursor = 2 [(.wix.api.maxLength) = 16000];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
message PagingMetadata {
|
|
44
|
+
option (.wix.api.decomposite_of) = "wix.common.PagingMetadata";
|
|
45
|
+
option (.wix.api.decomposition_minimum_fields) = {
|
|
46
|
+
field: "count"
|
|
47
|
+
field: "offset"
|
|
48
|
+
};
|
|
49
|
+
// Number of items returned in the response.
|
|
50
|
+
google.protobuf.Int32Value count = 1;
|
|
51
|
+
// Offset that was requested.
|
|
52
|
+
google.protobuf.Int32Value offset = 2;
|
|
53
|
+
// Total number of items that match the query.
|
|
54
|
+
google.protobuf.Int32Value total = 3;
|
|
55
|
+
// Flag that indicates the server failed to calculate the `total` field.
|
|
56
|
+
google.protobuf.BoolValue too_many_to_count = 4;
|
|
57
|
+
// Indicates if there are more results after the current page.
|
|
58
|
+
// If `true`, another page of results can be retrieved.
|
|
59
|
+
// If `false`, this is the last page.
|
|
60
|
+
google.protobuf.BoolValue has_next = 5 [(.wix.api.field_exposure) = PRIVATE];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
message PagingMetadataV2 {
|
|
64
|
+
option (.wix.api.decomposite_of) = "wix.common.PagingMetadataV2";
|
|
65
|
+
option (.wix.api.decomposition_minimum_fields) = {
|
|
66
|
+
field: "count"
|
|
67
|
+
field: "offset"
|
|
68
|
+
};
|
|
69
|
+
option (.wix.api.decomposition_minimum_fields) = {
|
|
70
|
+
field: "count"
|
|
71
|
+
field: "cursors"
|
|
72
|
+
};
|
|
73
|
+
// Number of items returned in the response.
|
|
74
|
+
google.protobuf.Int32Value count = 1;
|
|
75
|
+
// Offset that was requested.
|
|
76
|
+
google.protobuf.Int32Value offset = 2;
|
|
77
|
+
// Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set.
|
|
78
|
+
google.protobuf.Int32Value total = 3;
|
|
79
|
+
// Flag that indicates the server failed to calculate the `total` field.
|
|
80
|
+
google.protobuf.BoolValue too_many_to_count = 4;
|
|
81
|
+
// Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used.
|
|
82
|
+
Cursors cursors = 5;
|
|
83
|
+
// Indicates if there are more results after the current page.
|
|
84
|
+
// If `true`, another page of results can be retrieved.
|
|
85
|
+
// If `false`, this is the last page.
|
|
86
|
+
google.protobuf.BoolValue has_next = 6 [(.wix.api.field_exposure) = PRIVATE];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
// This is the preferred message for cursor-paging enabled services
|
|
91
|
+
|
|
92
|
+
message CursorPagingMetadata {
|
|
93
|
+
option (.wix.api.decomposite_of) = "wix.common.CursorPagingMetadata";
|
|
94
|
+
|
|
95
|
+
// Number of items returned in the response.
|
|
96
|
+
google.protobuf.Int32Value count = 1;
|
|
97
|
+
|
|
98
|
+
// Cursor strings that point to the next page, previous page, or both.
|
|
99
|
+
Cursors cursors = 2;
|
|
100
|
+
|
|
101
|
+
/*
|
|
102
|
+
Whether there are more pages to retrieve following the current page.
|
|
103
|
+
|
|
104
|
+
+ `true`: Another page of results can be retrieved.
|
|
105
|
+
+ `false`: This is the last page.
|
|
106
|
+
*/
|
|
107
|
+
google.protobuf.BoolValue has_next = 3;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
message Cursors {
|
|
111
|
+
option (.wix.api.decomposite_of) = "wix.common.Cursors";
|
|
112
|
+
option (.wix.api.decomposition_minimum_fields) = {
|
|
113
|
+
field: "next"
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// Cursor string pointing to the next page in the list of results.
|
|
117
|
+
google.protobuf.StringValue next = 1 [(.wix.api.maxLength) = 16000];
|
|
118
|
+
|
|
119
|
+
// Cursor pointing to the previous page in the list of results.
|
|
120
|
+
google.protobuf.StringValue prev = 2 [(.wix.api.maxLength) = 16000];
|
|
121
|
+
}
|