@wix/bex-utils 2.115.0 → 2.116.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 (163) hide show
  1. package/@wix/ambassador-hub-v1-job/README.md +34 -0
  2. package/@wix/ambassador-hub-v1-job/builders/package.json +7 -0
  3. package/@wix/ambassador-hub-v1-job/cjs/build/builders.impl.d.ts +130 -0
  4. package/@wix/ambassador-hub-v1-job/cjs/build/builders.impl.js +1705 -0
  5. package/@wix/ambassador-hub-v1-job/cjs/build/builders.impl.js.map +1 -0
  6. package/@wix/ambassador-hub-v1-job/cjs/build/crud/http.impl.d.ts +9 -0
  7. package/@wix/ambassador-hub-v1-job/cjs/build/crud/http.impl.js +16 -0
  8. package/@wix/ambassador-hub-v1-job/cjs/build/crud/http.impl.js.map +1 -0
  9. package/@wix/ambassador-hub-v1-job/cjs/build/crud/rpc.impl.d.ts +5 -0
  10. package/@wix/ambassador-hub-v1-job/cjs/build/crud/rpc.impl.js +24 -0
  11. package/@wix/ambassador-hub-v1-job/cjs/build/crud/rpc.impl.js.map +1 -0
  12. package/@wix/ambassador-hub-v1-job/cjs/build/http.impl.d.ts +54 -0
  13. package/@wix/ambassador-hub-v1-job/cjs/build/http.impl.js +689 -0
  14. package/@wix/ambassador-hub-v1-job/cjs/build/http.impl.js.map +1 -0
  15. package/@wix/ambassador-hub-v1-job/cjs/build/meta.impl.d.ts +24 -0
  16. package/@wix/ambassador-hub-v1-job/cjs/build/meta.impl.js +170 -0
  17. package/@wix/ambassador-hub-v1-job/cjs/build/meta.impl.js.map +1 -0
  18. package/@wix/ambassador-hub-v1-job/cjs/build/proto/client/proto-generated.d.ts +15832 -0
  19. package/@wix/ambassador-hub-v1-job/cjs/build/proto/client/proto-generated.js +2 -0
  20. package/@wix/ambassador-hub-v1-job/cjs/build/proto/proto-generated.d.ts +7912 -0
  21. package/@wix/ambassador-hub-v1-job/cjs/build/proto/proto-generated.js +1 -0
  22. package/@wix/ambassador-hub-v1-job/cjs/build/proto/server/proto-generated.d.ts +15777 -0
  23. package/@wix/ambassador-hub-v1-job/cjs/build/proto/server/proto-generated.js +2 -0
  24. package/@wix/ambassador-hub-v1-job/cjs/build/rpc.impl.d.ts +67 -0
  25. package/@wix/ambassador-hub-v1-job/cjs/build/rpc.impl.js +202 -0
  26. package/@wix/ambassador-hub-v1-job/cjs/build/rpc.impl.js.map +1 -0
  27. package/@wix/ambassador-hub-v1-job/cjs/build/types.impl.d.ts +2156 -0
  28. package/@wix/ambassador-hub-v1-job/cjs/build/types.impl.js +127 -0
  29. package/@wix/ambassador-hub-v1-job/cjs/build/types.impl.js.map +1 -0
  30. package/@wix/ambassador-hub-v1-job/cjs/package.json +3 -0
  31. package/@wix/ambassador-hub-v1-job/crud/http/package.json +7 -0
  32. package/@wix/ambassador-hub-v1-job/crud/rpc/package.json +6 -0
  33. package/@wix/ambassador-hub-v1-job/es/build/builders.impl.d.ts +130 -0
  34. package/@wix/ambassador-hub-v1-job/es/build/builders.impl.js +1558 -0
  35. package/@wix/ambassador-hub-v1-job/es/build/builders.impl.js.map +1 -0
  36. package/@wix/ambassador-hub-v1-job/es/build/crud/http.impl.d.ts +9 -0
  37. package/@wix/ambassador-hub-v1-job/es/build/crud/http.impl.js +12 -0
  38. package/@wix/ambassador-hub-v1-job/es/build/crud/http.impl.js.map +1 -0
  39. package/@wix/ambassador-hub-v1-job/es/build/crud/rpc.impl.d.ts +5 -0
  40. package/@wix/ambassador-hub-v1-job/es/build/crud/rpc.impl.js +19 -0
  41. package/@wix/ambassador-hub-v1-job/es/build/crud/rpc.impl.js.map +1 -0
  42. package/@wix/ambassador-hub-v1-job/es/build/http.impl.d.ts +54 -0
  43. package/@wix/ambassador-hub-v1-job/es/build/http.impl.js +680 -0
  44. package/@wix/ambassador-hub-v1-job/es/build/http.impl.js.map +1 -0
  45. package/@wix/ambassador-hub-v1-job/es/build/meta.impl.d.ts +24 -0
  46. package/@wix/ambassador-hub-v1-job/es/build/meta.impl.js +128 -0
  47. package/@wix/ambassador-hub-v1-job/es/build/meta.impl.js.map +1 -0
  48. package/@wix/ambassador-hub-v1-job/es/build/proto/client/proto-generated.d.ts +15832 -0
  49. package/@wix/ambassador-hub-v1-job/es/build/proto/client/proto-generated.js +5 -0
  50. package/@wix/ambassador-hub-v1-job/es/build/proto/proto-generated.d.ts +7912 -0
  51. package/@wix/ambassador-hub-v1-job/es/build/proto/proto-generated.js +1 -0
  52. package/@wix/ambassador-hub-v1-job/es/build/proto/server/proto-generated.d.ts +15777 -0
  53. package/@wix/ambassador-hub-v1-job/es/build/proto/server/proto-generated.js +5 -0
  54. package/@wix/ambassador-hub-v1-job/es/build/rpc.impl.d.ts +67 -0
  55. package/@wix/ambassador-hub-v1-job/es/build/rpc.impl.js +158 -0
  56. package/@wix/ambassador-hub-v1-job/es/build/rpc.impl.js.map +1 -0
  57. package/@wix/ambassador-hub-v1-job/es/build/types.impl.d.ts +2156 -0
  58. package/@wix/ambassador-hub-v1-job/es/build/types.impl.js +124 -0
  59. package/@wix/ambassador-hub-v1-job/es/build/types.impl.js.map +1 -0
  60. package/@wix/ambassador-hub-v1-job/http/package.json +7 -0
  61. package/@wix/ambassador-hub-v1-job/meta/package.json +7 -0
  62. package/@wix/ambassador-hub-v1-job/package.json +108 -0
  63. package/@wix/ambassador-hub-v1-job/rpc/package.json +6 -0
  64. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/common.proto +63 -0
  65. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/data-item-service.proto +915 -0
  66. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/aggregate-pipeline.proto +528 -0
  67. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/aggregate.proto +146 -0
  68. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/async-job-status.proto +34 -0
  69. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/async-patch-by-filter.proto +66 -0
  70. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/async-remove-by-filter.proto +59 -0
  71. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-data-item-reference-result.proto +22 -0
  72. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-data-item-result.proto +24 -0
  73. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-insert-references.proto +54 -0
  74. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-insert.proto +75 -0
  75. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-publish-data-item-drafts.proto +46 -0
  76. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-remove-references.proto +48 -0
  77. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-remove.proto +70 -0
  78. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-save.proto +80 -0
  79. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-unpublish-data-items.proto +53 -0
  80. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/bulk-update.proto +85 -0
  81. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/condition.proto +15 -0
  82. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/count.proto +82 -0
  83. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/create-data-item-draft.proto +24 -0
  84. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/data-item-reference.proto +23 -0
  85. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/data-item.proto +84 -0
  86. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/distinct.proto +92 -0
  87. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/get.proto +101 -0
  88. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/insert-reference.proto +47 -0
  89. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/insert.proto +70 -0
  90. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/is-referenced.proto +55 -0
  91. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/options.proto +37 -0
  92. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/patch-data-item.proto +184 -0
  93. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/publish-data-item-draft.proto +24 -0
  94. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/query-referenced.proto +145 -0
  95. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/query.proto +157 -0
  96. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/reference-metadata.proto +15 -0
  97. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/remove-reference.proto +42 -0
  98. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/remove.proto +65 -0
  99. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/replace-references.proto +48 -0
  100. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/save.proto +87 -0
  101. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/search.proto +78 -0
  102. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/truncate.proto +33 -0
  103. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/unpublish-data-item.proto +31 -0
  104. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/message/update.proto +80 -0
  105. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/upstream/wix/common/bulk.proto +60 -0
  106. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/upstream/wix/common/paging.proto +113 -0
  107. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/upstream/wix/common/query.proto +121 -0
  108. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/cloud/data/api/data/upstream/wix/common/sorting.proto +26 -0
  109. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/iptf/webhooks/debug.proto +34 -0
  110. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/iptf/webhooks/kv.proto +42 -0
  111. package/@wix/ambassador-hub-v1-job/src/main/proto/com/wixpress/iptf/webhooks/message_envelope.proto +54 -0
  112. package/@wix/ambassador-hub-v1-job/src/main/proto/raw-http-messages.proto +39 -0
  113. package/@wix/ambassador-hub-v1-job/src/main/proto/webhooks_debug_service.proto +32 -0
  114. package/@wix/ambassador-hub-v1-job/src/main/proto/webhooks_sync_service.proto +33 -0
  115. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/action_payload.proto +33 -0
  116. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/annotations.proto +560 -0
  117. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/api_errors.proto +142 -0
  118. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/callback.proto +173 -0
  119. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/context.proto +19 -0
  120. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/entity.proto +133 -0
  121. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/errors.proto +127 -0
  122. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/idempotency.proto +25 -0
  123. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/permissions.proto +47 -0
  124. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/sla.proto +24 -0
  125. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/subscription.proto +44 -0
  126. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/api/validations.proto +147 -0
  127. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/address.proto +148 -0
  128. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/bulk.proto +53 -0
  129. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/data/dataextensions/extended-fields.proto +20 -0
  130. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/data/dataextensions/update-extended-fields-messages.proto +15 -0
  131. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/data/errors.proto +435 -0
  132. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/domainevents/attributeupdated.proto +20 -0
  133. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/domainevents/domainevents.proto +112 -0
  134. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/identification.proto +40 -0
  135. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/image.proto +8 -0
  136. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/media.proto +280 -0
  137. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/money.proto +32 -0
  138. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/pageurl.proto +32 -0
  139. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/paging.proto +121 -0
  140. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/query.proto +889 -0
  141. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/sorting.proto +36 -0
  142. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/spi.proto +80 -0
  143. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/tags.proto +55 -0
  144. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/common/wixlink.proto +203 -0
  145. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/graphql/definitions.proto +13 -0
  146. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/http/field_mask.proto +46 -0
  147. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/common.proto +108 -0
  148. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/data_movement_service.proto +287 -0
  149. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/destinations.proto +154 -0
  150. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/job.proto +164 -0
  151. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/job_spec.proto +41 -0
  152. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/oauth_service.proto +218 -0
  153. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/schema.proto +48 -0
  154. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/shared.proto +98 -0
  155. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/sources.proto +234 -0
  156. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/hub/v1/transformations.proto +23 -0
  157. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/sdk/definitions.proto +191 -0
  158. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/spi/definitions.proto +188 -0
  159. package/@wix/ambassador-hub-v1-job/src/main/proto/wix/spi/http_error_status.proto +24 -0
  160. package/@wix/ambassador-hub-v1-job/types/package.json +7 -0
  161. package/@wix/bex-bundled-mini-essentials/CHANGELOG.md +4 -0
  162. package/@wix/bex-bundled-mini-essentials/package.json +1 -1
  163. package/package.json +4 -3
@@ -0,0 +1,218 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.hub.v1;
4
+
5
+ option java_package = "com.wixpress.hub.v1";
6
+
7
+ import "google/protobuf/empty.proto";
8
+ import "google/protobuf/wrappers.proto";
9
+ import "google/protobuf/timestamp.proto";
10
+ import "google/api/annotations.proto";
11
+ import "wix/api/annotations.proto";
12
+ import "wix/api/entity.proto";
13
+ import "wix/api/permissions.proto";
14
+ import "wix/api/validations.proto";
15
+ import "raw-http-messages.proto";
16
+
17
+ // OAuth providers
18
+ enum OAuthProvider {
19
+ UNKNOWN_OAUTH_PROVIDER = 0;
20
+ GOOGLE = 1;
21
+ }
22
+
23
+ // OAuth token statuses
24
+ enum TokenStatus {
25
+ UNKNOWN_OAUTH_TOKEN_STATUS = 0;
26
+ ACTIVE = 1;
27
+ INVALID = 2;
28
+ REVOKED = 3;
29
+ }
30
+
31
+ message OAuthConnection {
32
+ option (.wix.api.entity) = {
33
+ fqdn: "wix.hub.v1.oauth_connection"
34
+ segment: USERS
35
+ };
36
+ string id = 1 [(.wix.api.immutable) = true, (wix.api.maxLength) = 128];
37
+ }
38
+
39
+ // Represents an OAuth account with its current status
40
+ message OAuthAccount {
41
+ // ID of the token
42
+ string id = 1 [(.wix.api.immutable) = true, (.wix.api.format) = GUID];
43
+
44
+ // OAuth account identifier (email, username, etc.)
45
+ string oauth_account_id = 2 [(.wix.api.pii) = true, (.wix.api.maxLength) = 255];
46
+
47
+ // OAuth provider
48
+ OAuthProvider provider = 3;
49
+
50
+ // Token status
51
+ TokenStatus token_status = 4;
52
+
53
+ // When the token was created
54
+ google.protobuf.Timestamp created_date = 5;
55
+
56
+ // When the token was last refreshed
57
+ google.protobuf.Timestamp last_refreshed = 6;
58
+
59
+ // When the last failure occurred (if any)
60
+ google.protobuf.Timestamp last_failure_date = 7;
61
+
62
+ // Reason for the last failure (if any)
63
+ string last_failure_reason = 8 [(.wix.api.maxLength) = 2000];
64
+ }
65
+
66
+ service OAuthService {
67
+ option (.wix.api.service_entity).message = "wix.hub.v1.OAuthConnection";
68
+ option (.wix.api.service_maturity) = BETA;
69
+ option (wix.api.service_exposure) = INTERNAL;
70
+
71
+ // Initiates OAuth2 flow for the specified provider
72
+ rpc InitiateOAuth (InitiateOAuthRequest) returns (InitiateOAuthResponse) {
73
+ option (.wix.api.maturity) = BETA;
74
+ option (.wix.api.exposure) = INTERNAL;
75
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_PROCESS";
76
+ option (.google.api.http) = {
77
+ post: "/v1/jobs/oauth/initiate"
78
+ };
79
+ }
80
+
81
+ // Completes OAuth2 flow with authorization code
82
+ rpc CompleteOAuth (CompleteOAuthRequest) returns (CompleteOAuthResponse) {
83
+ option (.wix.api.maturity) = BETA;
84
+ option (.wix.api.exposure) = INTERNAL;
85
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_PROCESS";
86
+ option (.google.api.http) = {
87
+ post: "/v1/jobs/oauth/complete"
88
+ };
89
+ }
90
+
91
+ // Completes OAuth2 flow with authorization code and returns HTML response
92
+ rpc CompleteOAuthHttp (CompleteOAuthHttpRequest) returns (com.wixpress.rest.RawHttpResponse) {
93
+ option (.wix.api.maturity) = BETA;
94
+ option (.wix.api.exposure) = INTERNAL;
95
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_PROCESS";
96
+ option (.google.api.http) = {
97
+ get: "/v1/jobs/oauth/complete/http"
98
+ };
99
+ }
100
+
101
+ // Gets current OAuth status
102
+ rpc GetOAuthStatus (GetOAuthStatusRequest) returns (GetOAuthStatusResponse) {
103
+ option (.wix.api.maturity) = BETA;
104
+ option (.wix.api.exposure) = INTERNAL;
105
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_STATUS";
106
+ option (.google.api.http) = {
107
+ get: "/v1/jobs/oauth/status"
108
+ };
109
+ }
110
+
111
+ // Revokes OAuth token
112
+ rpc RevokeOAuth (RevokeOAuthRequest) returns (RevokeOAuthResponse) {
113
+ option (.wix.api.maturity) = BETA;
114
+ option (.wix.api.exposure) = INTERNAL;
115
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_REVOKE";
116
+ option (.google.api.http) = {
117
+ post: "/v1/jobs/oauth/revoke"
118
+ };
119
+ }
120
+
121
+ // Lists all OAuth accounts for the current user and provider
122
+ rpc ListOAuthAccounts (ListOAuthAccountsRequest) returns (ListOAuthAccountsResponse) {
123
+ option (.wix.api.maturity) = BETA;
124
+ option (.wix.api.exposure) = INTERNAL;
125
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_STATUS";
126
+ option (.google.api.http) = {
127
+ get: "/v1/jobs/oauth/accounts"
128
+ };
129
+ }
130
+
131
+ // Gets OAuth access token for the specified provider
132
+ rpc GetOAuthAccessToken (GetOAuthAccessTokenRequest) returns (GetOAuthAccessTokenResponse) {
133
+ option (.wix.api.maturity) = BETA;
134
+ option (.wix.api.exposure) = INTERNAL;
135
+ option (.wix.api.permission).name = "WIX_DATA.DATA_JOB_OAUTH_STATUS";
136
+ option (.google.api.http) = {
137
+ get: "/v1/jobs/oauth/token"
138
+ };
139
+ }
140
+ }
141
+
142
+ message InitiateOAuthRequest {
143
+ // OAuth provider
144
+ OAuthProvider provider = 1;
145
+ // Redirect URI to be used in the OAuth flow
146
+ string redirect_uri = 2 [(.wix.api.format) = WEB_URL];
147
+ // Optional: SDL entity ID of existing OAuth token for re-authorization
148
+ google.protobuf.StringValue oauth_token_id = 3 [(.wix.api.format) = GUID];
149
+ }
150
+
151
+ message InitiateOAuthResponse {
152
+ // URL to redirect the user to for authorization
153
+ string authorization_url = 1 [(.wix.api.format) = WEB_URL];
154
+ // State parameter to be used in the OAuth flow
155
+ string state = 2 [(.wix.api.maxLength) = 512];
156
+ // SDL entity ID of the OAuth token (for storage and future use)
157
+ string oauth_token_id = 3 [(.wix.api.format) = GUID];
158
+ }
159
+
160
+ message CompleteOAuthRequest {
161
+ // Authorization code received from the OAuth provider
162
+ string code = 1 [(.wix.api.maxLength) = 512];
163
+ // State parameter received from the OAuth provider
164
+ string state = 2 [(.wix.api.maxLength) = 512];
165
+ }
166
+
167
+ message CompleteOAuthResponse {
168
+ // Indicates if the operation was successful
169
+ bool success = 1;
170
+ // OAuth entity ID of the created/updated token
171
+ string oauth_id = 2 [(.wix.api.format) = GUID];
172
+ // OAuth account identifier (email, username, etc.)
173
+ string oauth_account_id = 3 [(.wix.api.pii) = true, (.wix.api.maxLength) = 255];
174
+ }
175
+
176
+ message CompleteOAuthHttpRequest {
177
+ // Authorization code received from the OAuth provider
178
+ string code = 1 [(.wix.api.maxLength) = 512];
179
+ // State parameter received from the OAuth provider
180
+ string state = 2 [(.wix.api.maxLength) = 512];
181
+ }
182
+
183
+ message GetOAuthStatusRequest {
184
+ OAuthProvider provider = 1;
185
+ }
186
+
187
+ message GetOAuthStatusResponse {
188
+ bool authorized = 1;
189
+ google.protobuf.Timestamp last_refreshed = 2;
190
+ }
191
+
192
+ message RevokeOAuthRequest {
193
+ OAuthProvider provider = 1;
194
+ }
195
+
196
+ message RevokeOAuthResponse {
197
+ bool success = 1;
198
+ }
199
+
200
+ message ListOAuthAccountsRequest {
201
+ OAuthProvider provider = 1;
202
+ }
203
+
204
+ message ListOAuthAccountsResponse {
205
+ repeated OAuthAccount accounts = 1;
206
+ }
207
+
208
+ message GetOAuthAccessTokenRequest {
209
+ OAuthProvider provider = 1;
210
+ }
211
+
212
+ message GetOAuthAccessTokenResponse {
213
+ // OAuth token ID
214
+ string token_id = 1 [(.wix.api.format) = GUID];
215
+ // OAuth access token (decrypted)
216
+ string oauth_access_token = 2 [(.wix.api.pii) = true, (.wix.api.maxLength) = 2048];
217
+ }
218
+
@@ -0,0 +1,48 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.hub.v1;
4
+ option java_package = "com.wixpress.hub.v1";
5
+
6
+ import "wix/api/validations.proto";
7
+
8
+ // NOTE this is used in executor types
9
+
10
+ // Schema used to specify item format.
11
+ message Schema {
12
+ // Item fields to move to the destination file.
13
+ repeated Field fields = 2 [(wix.api.maxSize) = 1000];
14
+ }
15
+
16
+ message Field {
17
+ enum FieldType {
18
+ ANY = 0; // Any data type.
19
+ STRING = 1; // String.
20
+ NUMBER = 2; // Number.
21
+ BOOLEAN = 3; // Boolean.
22
+ DATE = 4; // Date string in ISO 8601 date format: `YYYY-MM-DD`.
23
+ DATETIME = 5; // [Date object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) (SDK) or an object in the following format: `"someFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}`.
24
+ BINARY = 6; // Binary file.
25
+ OBJECT = 7; // object.
26
+ ARRAY = 8; // Array.
27
+ URL = 9; // Web URL.
28
+ WIX_MEDIA_URL = 10;
29
+ WIX_MEDIA_IMAGE_URL = 11;
30
+ WIX_MEDIA_VIDEO_URL = 12;
31
+ WIX_MEDIA_DOCUMENT_URL = 13;
32
+ IMAGE_URL = 14;
33
+ VIDEO_URL = 15;
34
+ }
35
+
36
+ // Field ID.
37
+ //
38
+ // If the field type is `Array`, specify the item index. If the field type is `Object`, specify the field path. Use dot notation to specify nested fields, for example: `data.address.city`.
39
+ string key = 1 [(wix.api.maxLength) = 1024];
40
+ // Field display name.
41
+ //
42
+ // When moving items to CSV files, use this to set the header of the target column.
43
+ string display_name = 2 [(wix.api.maxLength) = 1024];
44
+ // Field data type. Default: `ANY`.
45
+ //
46
+ // Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data).
47
+ FieldType field_type = 3;
48
+ }
@@ -0,0 +1,98 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.hub.v1;
4
+
5
+ option java_package = "com.wixpress.hub.v1";
6
+
7
+ import "google/protobuf/wrappers.proto";
8
+ import "wix/api/annotations.proto";
9
+
10
+ import "wix/api/validations.proto";
11
+ import "wix/api/errors.proto";
12
+ import 'wix/hub/v1/job.proto';
13
+ import 'wix/hub/v1/common.proto';
14
+ import 'wix/hub/v1/sources.proto';
15
+ import 'wix/hub/v1/destinations.proto';
16
+ import 'wix/hub/v1/transformations.proto';
17
+ import "wix/common/data/dataextensions/extended-fields.proto";
18
+
19
+ // Note: These messages are used by https://github.com/wix-private/wix-data-hub/tree/master/packages/wix-data-hub-executor-c
20
+ // and by its GRPC API https://github.com/wix-private/wix-data-hub/tree/master/packages/wix-data-hub-executor-api
21
+ // especially SubmitJobRequest which is sent to executor as JSON
22
+
23
+ message SubmitJobRequest {
24
+ // Source to move data from.
25
+ Source source = 1;
26
+
27
+ // Destination to move data to.
28
+ Destination destination = 2;
29
+
30
+ // Transformations to apply to the data before moving to the destination.
31
+ repeated Transformation transformations = 3 [(wix.api.maxSize) = 32, (wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
32
+
33
+ // Job name.
34
+ string name = 4;
35
+
36
+ // Allows moving data between sites. When used, this is an account-level API.
37
+
38
+ oneof site_override {
39
+ // When moving data from the Wix data collection of a site other than the current one, the source site ID.
40
+ //
41
+ // By default, the source site is the current site. However, you can move data from any site in the same [Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account).
42
+ //
43
+ // > **Note**: You can specify the ID of another source site or destination site, but not both.
44
+ string source_site_id = 5 [(wix.api.format) = GUID];
45
+
46
+ // When moving data to the Wix data collection of a site other than the current one, the destination site ID.
47
+ //
48
+ // By default, the destination site is the current site. However, you can move data to any site in the same [Wix Account](https://support.wix.com/en/article/managing-multiple-sites-under-one-account) by specifying its ID. You can retrieve this ID by calling [Get App Instance](https://dev.wix.com/docs/rest/app-management/app-instance/get-app-instance).
49
+ //
50
+ // > **Note**: You can specify the ID of another source site or destination site, but not both.
51
+ string destination_site_id = 6 [(wix.api.format) = GUID];
52
+ }
53
+
54
+ // Sync Schedule ID, if the job was triggered by a sync schedule.
55
+ google.protobuf.StringValue schedule_id = 7 [(wix.api.format) = GUID, (wix.api.field_exposure) = PRIVATE];
56
+
57
+ // Workflow ID, if the job was triggered as a workflow child step.
58
+ google.protobuf.StringValue workflow_id = 8 [(wix.api.format) = GUID, (wix.api.field_exposure) = PRIVATE];
59
+ }
60
+
61
+
62
+ message JobCallback {
63
+ // ID of the job that triggered this callback.
64
+ string job_id = 1 [(wix.api.format) = GUID];
65
+
66
+ // Job status.
67
+ JobStatus status = 2;
68
+
69
+ oneof options {
70
+ option (.wix.api.aligned_with_enum).field = "status";
71
+ // Options for the callback's `IN_PROGRESS` stage.
72
+ InProgressOptions in_progress_options = 3;
73
+ // Options for the callback's `FAILED` stage.
74
+ FailedOptions failed_options = 4;
75
+ // Options for the callback's `PARTIALLY_SUCCESSFUL` stage.
76
+ PartiallySuccessfulOptions partially_successful_options = 5;
77
+ }
78
+
79
+ // Additional data to be merged into the job entity's extended_fields.
80
+ wix.common.data.dataextensions.ExtendedFields additional_data = 6;
81
+
82
+ message InProgressOptions {
83
+ // When the job status is `IN_PROGRESS`, the job progress information.
84
+ Progress progress = 1;
85
+ // Job movement log. Includes information about failed items or items that succeeded with notes.
86
+ repeated MovementLog log = 2 [(wix.api.maxSize) = 1024];
87
+ }
88
+
89
+ message FailedOptions {
90
+ // Details of the failure.
91
+ wix.api.ApplicationError error = 2;
92
+ }
93
+
94
+ message PartiallySuccessfulOptions {
95
+ // Why the job was partially successful.
96
+ string cause = 1 [(wix.api.maxLength) = 1000];
97
+ }
98
+ }
@@ -0,0 +1,234 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.hub.v1;
4
+ option java_package = "com.wixpress.hub.v1";
5
+
6
+ import 'wix/hub/v1/common.proto';
7
+ import "google/protobuf/wrappers.proto";
8
+ import "google/protobuf/struct.proto";
9
+ import "wix/api/validations.proto";
10
+ import "wix/api/annotations.proto";
11
+ import "com/wixpress/cloud/data/api/data/message/aggregate-pipeline.proto";
12
+ import "wix/hub/v1/schema.proto";
13
+
14
+ message Source {
15
+ oneof source {
16
+ // Wix data collection.
17
+ //
18
+ // You can move items from native Wix collections, [Wix app collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code), and [external database collections](https://dev.wix.com/docs/develop-websites/articles/databases/external-databases/overview/integrating-external-databases-with-your-wix-site).
19
+ WixDataSource wix_data_collection = 101;
20
+
21
+ // Localized CMS content. Available when the site has [Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-an-overview) installed.
22
+ //
23
+ // Learn more about working with [translated CMS content](https://support.wix.com/en/article/wix-multilingual-translating-cms-collection-content).
24
+ LocalizationSource localization = 102;
25
+
26
+ // Source file.
27
+ //
28
+ // You can import data from files in CSV or JSONL formats. Uploading a file with an invalid format causes the movement job to fail.
29
+ //
30
+ // To upload a file, call Create File Upload Url ([SDK](https://dev.wix.com/docs/sdk/backend-modules/data/movement-jobs/create-file-upload-url) | [REST](https://dev.wix.com/docs/rest/business-solutions/cms/data-movement-jobs/create-file-upload-url)) and use the `uploadUrl` from the response. For example:
31
+ //
32
+ // `curl --request PUT --upload-file "${path_to_file}" "${uploadUrl}"`
33
+ //
34
+ FileSource file = 105;
35
+
36
+ // Test source used for sources under development. When development is completed, a dedicated source must be added with a robust API.
37
+ TestSource test = 106 [(wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
38
+
39
+ // Job logs.
40
+ DataMovementJobLogs data_movement_logs = 107 [(wix.api.field_maturity) = NOT_IMPLEMENTED, (wix.api.field_exposure) = INTERNAL];
41
+
42
+ // File.
43
+ ExternalFileSource external_file = 108 [(wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
44
+
45
+ // Google Sheets source.
46
+ GoogleSheetsSource google_sheets = 109 [(wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
47
+
48
+ // Wix Media Manager source.
49
+ //
50
+ // You can use the Wix Media source to retrieve all media in a site, including download links. It can also be
51
+ // used to copy media to another site.
52
+ //
53
+ // It will traverse all media recursively starting with `sourceFolderId` or root folder if not supplied.
54
+ WixMediaSource wix_media = 110 [(wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
55
+
56
+ // Structure of Wix data collections (fields, permissions, etc.).
57
+ //
58
+ // Reads collection structure for the specified collection IDs.
59
+ WixDataCollectionDefinitionSource wix_data_collection_definition = 111 [(wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
60
+
61
+ }
62
+
63
+ message TestSource {
64
+ // Discriminator value for a particular test source.
65
+ string type = 1 [(wix.api.maxLength) = 512];
66
+ // Test source details.
67
+ google.protobuf.Struct details = 2;
68
+ }
69
+
70
+ message LocalizationSource {
71
+ // Translated CMS content in the specified languages. Content in these languages is exported to the destination, with the first specified language treated as the main one.
72
+ //
73
+ // Use two-letter language codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format. You can also specify a two-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format.
74
+ //
75
+ // Learn more about [available languages in Wix Multilingual](https://support.wix.com/en/article/wix-multilingual-languages-available).
76
+ repeated string languages = 1 [(wix.api.format) = LANGUAGE_TAG, (wix.api.minSize) = 2, (wix.api.maxSize) = 64];
77
+ }
78
+
79
+ // Wix data collection.
80
+ message WixDataSource {
81
+ // ID of the data collection.
82
+ string collection_id = 1 [(wix.api.minLength) = 1, (wix.api.maxLength) = 256];
83
+ // [Collection environment](https://support.wix.com/en/article/cms-about-sandbox-and-live-collections-and-syncing) from which to move data. Default: `LIVE`.
84
+ WixDataEnvironment environment = 2 [(wix.api.field_exposure) = INTERNAL];
85
+ // Filter to apply to the items. Only items that pass the filter are moved.
86
+ //
87
+ // Learn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).
88
+ // Deprecated: Use `filter_query.filter` instead.
89
+ google.protobuf.Struct filter = 3 [
90
+ deprecated = true,
91
+ (.wix.api.field_deprecated) = {
92
+ replaced_by: "filter_query"
93
+ target_removal_date: "2027-01-01"
94
+ }
95
+ ];
96
+
97
+ // The data collections API doesn't limit this.
98
+ // flynt-disable missing-array-limits
99
+ // flynt-disable missing-string-validations
100
+
101
+ // Deprecated: Use `filter_query.fields` instead.
102
+ repeated string fields = 4 [
103
+ deprecated = true,
104
+ (.wix.api.field_deprecated) = {
105
+ replaced_by: "filter_query"
106
+ target_removal_date: "2027-01-01"
107
+ }
108
+ ];
109
+ // Grid App ID. Optional in the collection's LIVE environment.
110
+ google.protobuf.StringValue app_id = 5 [(wix.api.format) = GUID, (wix.api.field_exposure) = INTERNAL];
111
+
112
+ // Query to run on the collection. Either a filter with optional field selection, or an aggregation pipeline.
113
+ oneof query {
114
+ // Filter and field selection to apply to the collection items.
115
+ FilterQuery filter_query = 6;
116
+
117
+ // Aggregation pipeline to run on the collection.
118
+ AggregationQuery aggregation_query = 7;
119
+ }
120
+
121
+ // Filter and field selection query.
122
+ message FilterQuery {
123
+ // Filter to apply to the items. Only items that pass the filter are moved.
124
+ //
125
+ // Learn more about building a query filter using [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).
126
+ google.protobuf.Struct filter = 1;
127
+
128
+ // The data collections API doesn't limit this.
129
+ // flynt-disable missing-array-limits
130
+ // flynt-disable missing-string-validations
131
+
132
+ // Item fields to move. If not set, the method moves the full items.
133
+ repeated string fields = 2;
134
+ }
135
+
136
+ message AggregationQuery {
137
+ // Aggregation pipeline to run on the collection.
138
+ com.wixpress.cloud.data.api.data.AggregatePipelineDataItemsRequest.AggregationPipeline aggregation_pipeline = 1;
139
+
140
+ // Fields, will be used to map aggregation pipeline result to export result.
141
+ // Fields in the aggregation pipeline results that are not in the provided list will be ignored.
142
+ // If no fields provided, data will be exported as is, without transformation or field name mapping.
143
+ repeated Field fields = 2 [
144
+ (wix.api.minSize) = 0,
145
+ (wix.api.maxSize) = 1000
146
+ ];
147
+ }
148
+ }
149
+
150
+ // File.
151
+ message ExternalFileSource {
152
+ // File format. If not specified, automatically determined by Wix.
153
+ FileFormat format = 1;
154
+ // URL where the source file is located.
155
+ string url = 101 [(wix.api.maxLength) = 2048, (wix.api.format) = WEB_URL];
156
+ }
157
+
158
+ // File.
159
+ //
160
+ // To create a file upload URL, call the Create File Upload Url method and use the `uploadURL` in the response to upload the source file.
161
+ message FileSource {
162
+ // File format. If not specified, automatically determined by Wix.
163
+ FileFormat format = 1;
164
+ // File ID as returned in the `fileId` property of the Create File Upload URL method's response.
165
+ string file_id = 2 [(wix.api.maxLength) = 512];
166
+ // URL where the source file is uploaded. Automatically generated by Wix.
167
+ string url = 101 [(wix.api.readOnly) = true, (wix.api.maxLength) = 2048];
168
+ }
169
+
170
+ // Job logs.
171
+ message DataMovementJobLogs {
172
+ // ID of the job from which to export logs.
173
+ string job_id = 1 [(wix.api.format) = GUID];
174
+ }
175
+
176
+ reserved 103; // GoogleDriveSource google_drive = 103;
177
+ reserved 104; // HttpFileSource http = 104;
178
+
179
+ // Google Sheets source.
180
+ message GoogleSheetsSource {
181
+ // ID of the Google Sheets spreadsheet.
182
+ string spreadsheet_id = 1 [(wix.api.minLength) = 1, (wix.api.maxLength) = 256];
183
+
184
+ // Name of the sheet within the spreadsheet.
185
+ google.protobuf.StringValue sheet_name = 2 [(wix.api.maxLength) = 256];
186
+
187
+ // Range of cells within the sheet.
188
+ google.protobuf.StringValue range = 3 [(wix.api.maxLength) = 256];
189
+
190
+ // Entity ID of the saved OAuth token.
191
+ string oauth_token_id = 4 [(wix.api.format) = GUID];
192
+
193
+ // OAuth2 access token for authenticated access
194
+ //
195
+ // This field is SERVER-MANAGED ONLY
196
+ // - Client-provided values are IGNORED for security reasons
197
+ // - Server refreshes token using stored refresh_token on job submission
198
+ google.protobuf.StringValue access_token = 5 [
199
+ (wix.api.field_exposure) = INTERNAL,
200
+ (wix.api.field_maturity) = ALPHA,
201
+ (wix.api.maxLength) = 8192
202
+ ];
203
+ }
204
+
205
+ // Exports collection structure (fields, permissions, etc.) from a site.
206
+ message WixDataCollectionDefinitionSource {
207
+ // IDs of collections whose definitions to read.
208
+ repeated string collection_ids = 1 [(wix.api.minSize) = 1, (wix.api.maxSize) = 1000, (wix.api.maxLength) = 256];
209
+ }
210
+
211
+ // Wix Media Manager source.
212
+ message WixMediaSource {
213
+ reserved 1;
214
+ // ID of the source folder in the Media Manager. If not specified, all media items are included.
215
+ google.protobuf.StringValue source_folder_id = 3 [(wix.api.maxLength) = 256];
216
+
217
+ // Type of media to include. Default: all media types.
218
+ // Not currently supported.
219
+ MediaType media_type = 2 [(wix.api.field_exposure) = INTERNAL];
220
+
221
+ enum MediaType {
222
+ // All media types.
223
+ ALL = 0;
224
+ // Images.
225
+ IMAGE = 1;
226
+ // Videos.
227
+ VIDEO = 2;
228
+ // Audio files.
229
+ AUDIO = 3;
230
+ // Documents.
231
+ DOCUMENT = 4;
232
+ }
233
+ }
234
+ }
@@ -0,0 +1,23 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.hub.v1;
4
+ option java_package = "com.wixpress.hub.v1";
5
+
6
+ import "google/protobuf/struct.proto";
7
+ import "wix/api/annotations.proto";
8
+ import "wix/api/validations.proto";
9
+
10
+ message Transformation {
11
+ oneof transformation {
12
+ // Test transformation used for transformation under development.
13
+ // Once development is completed, a dedicated transformation must be added with a well-defined API.
14
+ TestTransformation test = 1 [(wix.api.field_exposure) = INTERNAL, (wix.api.field_maturity) = ALPHA];
15
+ }
16
+ }
17
+
18
+ message TestTransformation {
19
+ // Discriminator value for a particular test transformation.
20
+ string type = 1 [(wix.api.field_exposure) = INTERNAL, (wix.api.maxLength) = 512];
21
+ // Test transformation details.
22
+ google.protobuf.Struct details = 2 [(wix.api.field_exposure) = INTERNAL];
23
+ }