protobuf-platform 1.2.103 → 1.2.106

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/cms/cms.proto CHANGED
@@ -48,6 +48,13 @@ service CMS {
48
48
  rpc setPromoTranslation(PromoTranslationRequest) returns (PromoStatusResponse);
49
49
  rpc getPromoTranslation(GetPromoTranslationRequest) returns (PromoTranslationResponse);
50
50
  rpc updatePromosInBunch(ItemsBunchRequest) returns (PromoStatusResponse);
51
+ // Footer: Partners
52
+ rpc createSingleFooterPartners (stream FooterPartnersRequest) returns (FooterPartnersResponse);
53
+ rpc readSingleFooterPartners (GetFooterPartnersRequest) returns (FooterPartnersResponse);
54
+ rpc updateSingleFooterPartners (stream FooterPartnersRequest) returns (FooterPartnersResponse);
55
+ rpc deleteSingleFooterPartners (GetFooterPartnersRequest) returns (FooterPartnersStatusResponse);
56
+ rpc readListFooterPartners (PaginationRequest) returns (FooterPartnersItemsResponse);
57
+ rpc updateFooterPartnersInBunch(ItemsBunchRequest) returns (FooterPartnersStatusResponse);
51
58
  //Game Widgets
52
59
  rpc createSingleGameWidget(stream GameWidgetRequest) returns (GameWidgetResponse);
53
60
  rpc readSingleGameWidget(GetGameWidgetRequest) returns (GameWidgetResponse);
@@ -369,4 +376,98 @@ message TranslationItem {
369
376
  optional string title = 3;
370
377
  optional string content = 4;
371
378
  optional bool is_active = 5;
372
- }
379
+ }
380
+ // ===== Footer: Partners CRUD (files-only uploads) =====
381
+
382
+ /**
383
+ * Stream: first send `partners_data` (the entire form),
384
+ * then 0..N `partners_file` messages — one file per item (by item_index).
385
+ */
386
+ message FooterPartnersRequest {
387
+ oneof request {
388
+ FooterPartnersItemRequest partners_data = 1;
389
+ FooterPartnersFile partners_file = 2;
390
+ }
391
+ }
392
+
393
+ /**
394
+ * Form data — contains metadata only, no images.
395
+ */
396
+ message FooterPartnersItemRequest {
397
+ optional int32 id = 1; // used for update
398
+ optional string geo = 2; // ISO, e.g. "CZ"
399
+ optional string title = 3; // internal label for BO
400
+ optional int32 is_active = 4; // 0|1
401
+ repeated FooterPartnersItemMeta items = 5; // list of item metadata
402
+ }
403
+
404
+ /**
405
+ * Metadata for a single item (no image file).
406
+ */
407
+ message FooterPartnersItemMeta {
408
+ optional string href = 1; // external link (optional)
409
+ optional int32 priority = 2; // sorting order (lower = higher)
410
+ optional string alt = 3; // alt text (optional)
411
+ }
412
+
413
+ /**
414
+ * A single uploaded file for a specific item.
415
+ * Multiple files may be streamed — one per item.
416
+ */
417
+ message FooterPartnersFile {
418
+ int32 item_index = 1; // index of item in `items` array (0-based)
419
+ File file = 2; // File message: file_name, file_type, media (chunk)
420
+ }
421
+
422
+ /**
423
+ * Item returned in response with CDN URL.
424
+ */
425
+ message FooterPartnersMediaItem {
426
+ optional string href = 1;
427
+ optional int32 priority = 2;
428
+ optional string alt = 3;
429
+ optional string image_cdn = 4; // final CDN URL after R2 upload
430
+ optional string image = 5; // filename from file system
431
+ }
432
+
433
+ /**
434
+ * Full Partners entity.
435
+ */
436
+ message FooterPartnersItem {
437
+ optional int32 id = 1;
438
+ optional string geo = 2;
439
+ optional string title = 3;
440
+ optional int32 is_active = 4;
441
+ repeated FooterPartnersMediaItem items = 5;
442
+ }
443
+
444
+ /**
445
+ * Response wrapper for single Partners entity.
446
+ */
447
+ message FooterPartnersResponse {
448
+ FooterPartnersItem data = 1;
449
+ }
450
+
451
+ /**
452
+ * Request to get or delete a specific Partners entity.
453
+ */
454
+ message GetFooterPartnersRequest {
455
+ int32 id = 1;
456
+ optional bool admin_side = 2;
457
+ }
458
+
459
+ /**
460
+ * Generic status response for create/update/delete/bunch.
461
+ */
462
+ message FooterPartnersStatusResponse {
463
+ string status = 1;
464
+ }
465
+
466
+ /**
467
+ * Paginated list response for Partners entities.
468
+ */
469
+ message FooterPartnersItemsResponse {
470
+ repeated FooterPartnersItem items = 1;
471
+ optional int32 total_pages = 2;
472
+ optional int32 total_items = 3;
473
+ }
@@ -114,6 +114,50 @@ function deserialize_cms_File(buffer_arg) {
114
114
  return cms_pb.File.deserializeBinary(new Uint8Array(buffer_arg));
115
115
  }
116
116
 
117
+ function serialize_cms_FooterPartnersItemsResponse(arg) {
118
+ if (!(arg instanceof cms_pb.FooterPartnersItemsResponse)) {
119
+ throw new Error('Expected argument of type cms.FooterPartnersItemsResponse');
120
+ }
121
+ return Buffer.from(arg.serializeBinary());
122
+ }
123
+
124
+ function deserialize_cms_FooterPartnersItemsResponse(buffer_arg) {
125
+ return cms_pb.FooterPartnersItemsResponse.deserializeBinary(new Uint8Array(buffer_arg));
126
+ }
127
+
128
+ function serialize_cms_FooterPartnersRequest(arg) {
129
+ if (!(arg instanceof cms_pb.FooterPartnersRequest)) {
130
+ throw new Error('Expected argument of type cms.FooterPartnersRequest');
131
+ }
132
+ return Buffer.from(arg.serializeBinary());
133
+ }
134
+
135
+ function deserialize_cms_FooterPartnersRequest(buffer_arg) {
136
+ return cms_pb.FooterPartnersRequest.deserializeBinary(new Uint8Array(buffer_arg));
137
+ }
138
+
139
+ function serialize_cms_FooterPartnersResponse(arg) {
140
+ if (!(arg instanceof cms_pb.FooterPartnersResponse)) {
141
+ throw new Error('Expected argument of type cms.FooterPartnersResponse');
142
+ }
143
+ return Buffer.from(arg.serializeBinary());
144
+ }
145
+
146
+ function deserialize_cms_FooterPartnersResponse(buffer_arg) {
147
+ return cms_pb.FooterPartnersResponse.deserializeBinary(new Uint8Array(buffer_arg));
148
+ }
149
+
150
+ function serialize_cms_FooterPartnersStatusResponse(arg) {
151
+ if (!(arg instanceof cms_pb.FooterPartnersStatusResponse)) {
152
+ throw new Error('Expected argument of type cms.FooterPartnersStatusResponse');
153
+ }
154
+ return Buffer.from(arg.serializeBinary());
155
+ }
156
+
157
+ function deserialize_cms_FooterPartnersStatusResponse(buffer_arg) {
158
+ return cms_pb.FooterPartnersStatusResponse.deserializeBinary(new Uint8Array(buffer_arg));
159
+ }
160
+
117
161
  function serialize_cms_GameWidgetRequest(arg) {
118
162
  if (!(arg instanceof cms_pb.GameWidgetRequest)) {
119
163
  throw new Error('Expected argument of type cms.GameWidgetRequest');
@@ -202,6 +246,17 @@ function deserialize_cms_GetFileRequest(buffer_arg) {
202
246
  return cms_pb.GetFileRequest.deserializeBinary(new Uint8Array(buffer_arg));
203
247
  }
204
248
 
249
+ function serialize_cms_GetFooterPartnersRequest(arg) {
250
+ if (!(arg instanceof cms_pb.GetFooterPartnersRequest)) {
251
+ throw new Error('Expected argument of type cms.GetFooterPartnersRequest');
252
+ }
253
+ return Buffer.from(arg.serializeBinary());
254
+ }
255
+
256
+ function deserialize_cms_GetFooterPartnersRequest(buffer_arg) {
257
+ return cms_pb.GetFooterPartnersRequest.deserializeBinary(new Uint8Array(buffer_arg));
258
+ }
259
+
205
260
  function serialize_cms_GetGameWidgetRequest(arg) {
206
261
  if (!(arg instanceof cms_pb.GetGameWidgetRequest)) {
207
262
  throw new Error('Expected argument of type cms.GetGameWidgetRequest');
@@ -968,6 +1023,73 @@ createSinglePromo: {
968
1023
  responseSerialize: serialize_cms_PromoStatusResponse,
969
1024
  responseDeserialize: deserialize_cms_PromoStatusResponse,
970
1025
  },
1026
+ // Footer: Partners
1027
+ createSingleFooterPartners: {
1028
+ path: '/cms.CMS/createSingleFooterPartners',
1029
+ requestStream: true,
1030
+ responseStream: false,
1031
+ requestType: cms_pb.FooterPartnersRequest,
1032
+ responseType: cms_pb.FooterPartnersResponse,
1033
+ requestSerialize: serialize_cms_FooterPartnersRequest,
1034
+ requestDeserialize: deserialize_cms_FooterPartnersRequest,
1035
+ responseSerialize: serialize_cms_FooterPartnersResponse,
1036
+ responseDeserialize: deserialize_cms_FooterPartnersResponse,
1037
+ },
1038
+ readSingleFooterPartners: {
1039
+ path: '/cms.CMS/readSingleFooterPartners',
1040
+ requestStream: false,
1041
+ responseStream: false,
1042
+ requestType: cms_pb.GetFooterPartnersRequest,
1043
+ responseType: cms_pb.FooterPartnersResponse,
1044
+ requestSerialize: serialize_cms_GetFooterPartnersRequest,
1045
+ requestDeserialize: deserialize_cms_GetFooterPartnersRequest,
1046
+ responseSerialize: serialize_cms_FooterPartnersResponse,
1047
+ responseDeserialize: deserialize_cms_FooterPartnersResponse,
1048
+ },
1049
+ updateSingleFooterPartners: {
1050
+ path: '/cms.CMS/updateSingleFooterPartners',
1051
+ requestStream: true,
1052
+ responseStream: false,
1053
+ requestType: cms_pb.FooterPartnersRequest,
1054
+ responseType: cms_pb.FooterPartnersResponse,
1055
+ requestSerialize: serialize_cms_FooterPartnersRequest,
1056
+ requestDeserialize: deserialize_cms_FooterPartnersRequest,
1057
+ responseSerialize: serialize_cms_FooterPartnersResponse,
1058
+ responseDeserialize: deserialize_cms_FooterPartnersResponse,
1059
+ },
1060
+ deleteSingleFooterPartners: {
1061
+ path: '/cms.CMS/deleteSingleFooterPartners',
1062
+ requestStream: false,
1063
+ responseStream: false,
1064
+ requestType: cms_pb.GetFooterPartnersRequest,
1065
+ responseType: cms_pb.FooterPartnersStatusResponse,
1066
+ requestSerialize: serialize_cms_GetFooterPartnersRequest,
1067
+ requestDeserialize: deserialize_cms_GetFooterPartnersRequest,
1068
+ responseSerialize: serialize_cms_FooterPartnersStatusResponse,
1069
+ responseDeserialize: deserialize_cms_FooterPartnersStatusResponse,
1070
+ },
1071
+ readListFooterPartners: {
1072
+ path: '/cms.CMS/readListFooterPartners',
1073
+ requestStream: false,
1074
+ responseStream: false,
1075
+ requestType: cms_pb.PaginationRequest,
1076
+ responseType: cms_pb.FooterPartnersItemsResponse,
1077
+ requestSerialize: serialize_cms_PaginationRequest,
1078
+ requestDeserialize: deserialize_cms_PaginationRequest,
1079
+ responseSerialize: serialize_cms_FooterPartnersItemsResponse,
1080
+ responseDeserialize: deserialize_cms_FooterPartnersItemsResponse,
1081
+ },
1082
+ updateFooterPartnersInBunch: {
1083
+ path: '/cms.CMS/updateFooterPartnersInBunch',
1084
+ requestStream: false,
1085
+ responseStream: false,
1086
+ requestType: cms_pb.ItemsBunchRequest,
1087
+ responseType: cms_pb.FooterPartnersStatusResponse,
1088
+ requestSerialize: serialize_cms_ItemsBunchRequest,
1089
+ requestDeserialize: deserialize_cms_ItemsBunchRequest,
1090
+ responseSerialize: serialize_cms_FooterPartnersStatusResponse,
1091
+ responseDeserialize: deserialize_cms_FooterPartnersStatusResponse,
1092
+ },
971
1093
  // Game Widgets
972
1094
  createSingleGameWidget: {
973
1095
  path: '/cms.CMS/createSingleGameWidget',