protobuf-platform 1.2.107 → 1.2.109

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
@@ -63,6 +63,20 @@ service CMS {
63
63
  rpc readListFooterMainText (PaginationRequest) returns (FooterMainTextItemsResponse);
64
64
  rpc setFooterMainTextTranslation (FooterMainTextTranslationRequest) returns (FooterMainTextStatusResponse);
65
65
  rpc getFooterMainTextTranslation (GetFooterMainTextTranslationRequest) returns (FooterMainTextTranslationResponse);
66
+ // Footer: Payments
67
+ rpc createSingleFooterPayments (FooterPaymentsItemRequest) returns (FooterPaymentsResponse);
68
+ rpc readSingleFooterPayments (GetFooterPaymentsRequest) returns (FooterPaymentsResponse);
69
+ rpc updateSingleFooterPayments (FooterPaymentsItemRequest) returns (FooterPaymentsResponse);
70
+ rpc deleteSingleFooterPayments (GetFooterPaymentsRequest) returns (FooterPaymentsStatusResponse);
71
+ rpc readListFooterPayments (PaginationRequest) returns (FooterPaymentsItemsResponse);
72
+ rpc updateFooterPaymentsInBunch (ItemsBunchRequest) returns (FooterPaymentsStatusResponse);
73
+ // Footer: Applications
74
+ rpc createSingleFooterApplications (stream FooterApplicationsRequest) returns (FooterApplicationsResponse);
75
+ rpc readSingleFooterApplications (GetFooterApplicationsRequest) returns (FooterApplicationsResponse);
76
+ rpc updateSingleFooterApplications (stream FooterApplicationsRequest) returns (FooterApplicationsResponse);
77
+ rpc deleteSingleFooterApplications (GetFooterApplicationsRequest) returns (FooterApplicationsStatusResponse);
78
+ rpc readListFooterApplications (PaginationRequest) returns (FooterApplicationsItemsResponse);
79
+ rpc updateFooterApplicationsInBunch(ItemsBunchRequest) returns (FooterApplicationsStatusResponse);
66
80
  //Game Widgets
67
81
  rpc createSingleGameWidget(stream GameWidgetRequest) returns (GameWidgetResponse);
68
82
  rpc readSingleGameWidget(GetGameWidgetRequest) returns (GameWidgetResponse);
@@ -547,3 +561,125 @@ message GetFooterMainTextTranslationRequest {
547
561
  message FooterMainTextTranslationResponse {
548
562
  optional string content = 1; // localized WYSIWYG
549
563
  }
564
+ // ===================== Footer: Payments (CRUD) =====================
565
+ // Storage: payment_ids only (IDs from Payment service).
566
+ // Responses: enriched with 'payments' (id, title, image) fetched by CMS via RPC.
567
+
568
+ /** Single fetch by id */
569
+ message GetFooterPaymentsRequest {
570
+ int32 id = 1;
571
+ optional bool admin_side = 2;
572
+ }
573
+
574
+ /** Create/Update request payload */
575
+ message FooterPaymentsItemRequest {
576
+ optional int32 id = 1; // present for update
577
+ optional string geo = 2; // ISO country, e.g. "DE"
578
+ optional string title = 3; // BO label
579
+ optional int32 is_active = 4; // 1|0; use -1 to "not set" on update
580
+ repeated int32 payment_ids = 5; // IDs from the Payment service
581
+ }
582
+
583
+ /** Enriched payment brief for responses */
584
+ message FooterPaymentBrief {
585
+ int32 id = 1;
586
+ string title = 2;
587
+ string image = 3; // absolute URL; may be empty
588
+ }
589
+
590
+ /** Full entity returned by CMS (enriched) */
591
+ message FooterPaymentsItem {
592
+ optional int32 id = 1;
593
+ optional string geo = 2;
594
+ optional string title = 3;
595
+ optional int32 is_active = 4;
596
+ repeated int32 payment_ids = 5; // raw IDs stored in CMS
597
+ repeated FooterPaymentBrief payments = 6; // enriched data for UI
598
+ }
599
+
600
+ /** Single entity response */
601
+ message FooterPaymentsResponse {
602
+ FooterPaymentsItem data = 1;
603
+ }
604
+
605
+ /** Status-only response */
606
+ message FooterPaymentsStatusResponse {
607
+ string status = 1; // "OK"
608
+ }
609
+
610
+ /** List response */
611
+ message FooterPaymentsItemsResponse {
612
+ repeated FooterPaymentsItem items = 1;
613
+ optional int32 total_pages = 2;
614
+ optional int32 total_items = 3;
615
+ }
616
+ // ===== Footer: Applications =====
617
+ // Media/link item for a specific application type (APK, IPA, PWA etc.)
618
+ message FooterApplicationMediaItem {
619
+ optional string href = 1; // URL link to the app install page
620
+ optional string image = 2; // local file name (if stored locally)
621
+ optional string image_cdn = 3; // CDN URL (if uploaded to R2)
622
+ optional int32 is_active = 4; // 1 = active, 0 = inactive
623
+ }
624
+
625
+ // Full Applications entity
626
+ message FooterApplicationsItem {
627
+ optional int32 id = 1;
628
+ optional string geo = 2;
629
+ optional string title = 3;
630
+ optional int32 is_active = 4;
631
+
632
+ // Three fixed slots
633
+ optional FooterApplicationMediaItem apk = 5;
634
+ optional FooterApplicationMediaItem ipa = 6;
635
+ optional FooterApplicationMediaItem pwa = 7;
636
+ }
637
+
638
+ // Partial update of hrefs (icons are uploaded via stream)
639
+ message FooterApplicationsMeta {
640
+ optional string apk_href = 1;
641
+ optional string ipa_href = 2;
642
+ optional string pwa_href = 3;
643
+ }
644
+
645
+ // Create/update request
646
+ message FooterApplicationsItemRequest {
647
+ optional int32 id = 1; // required only for update
648
+ optional string geo = 2;
649
+ optional string title = 3;
650
+ optional int32 is_active = 4; // -1 = "do not change" for update
651
+ optional FooterApplicationsMeta meta = 5; // optional href updates
652
+ }
653
+
654
+ // Stream container: first applications_data, then 0..N files
655
+ message FooterApplicationsRequest {
656
+ oneof payload {
657
+ FooterApplicationsItemRequest applications_data = 1;
658
+ FooterApplicationsFile applications_file = 2;
659
+ }
660
+ }
661
+
662
+ // File for a specific slot; kind is string: "apk" | "ipa" | "pwa"
663
+ message FooterApplicationsFile {
664
+ optional string kind = 1;
665
+ optional File file = 2;
666
+ }
667
+
668
+ // Responses
669
+ message FooterApplicationsResponse {
670
+ FooterApplicationsItem data = 1;
671
+ }
672
+
673
+ message FooterApplicationsItemsResponse {
674
+ repeated FooterApplicationsItem items = 1;
675
+ optional int32 total_items = 2;
676
+ optional int32 total_pages = 3;
677
+ }
678
+
679
+ message FooterApplicationsStatusResponse {
680
+ optional string status = 1; // e.g. "OK"
681
+ }
682
+ // Request to read one item
683
+ message GetFooterApplicationsRequest {
684
+ optional int32 id = 1;
685
+ }
@@ -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_FooterApplicationsItemsResponse(arg) {
118
+ if (!(arg instanceof cms_pb.FooterApplicationsItemsResponse)) {
119
+ throw new Error('Expected argument of type cms.FooterApplicationsItemsResponse');
120
+ }
121
+ return Buffer.from(arg.serializeBinary());
122
+ }
123
+
124
+ function deserialize_cms_FooterApplicationsItemsResponse(buffer_arg) {
125
+ return cms_pb.FooterApplicationsItemsResponse.deserializeBinary(new Uint8Array(buffer_arg));
126
+ }
127
+
128
+ function serialize_cms_FooterApplicationsRequest(arg) {
129
+ if (!(arg instanceof cms_pb.FooterApplicationsRequest)) {
130
+ throw new Error('Expected argument of type cms.FooterApplicationsRequest');
131
+ }
132
+ return Buffer.from(arg.serializeBinary());
133
+ }
134
+
135
+ function deserialize_cms_FooterApplicationsRequest(buffer_arg) {
136
+ return cms_pb.FooterApplicationsRequest.deserializeBinary(new Uint8Array(buffer_arg));
137
+ }
138
+
139
+ function serialize_cms_FooterApplicationsResponse(arg) {
140
+ if (!(arg instanceof cms_pb.FooterApplicationsResponse)) {
141
+ throw new Error('Expected argument of type cms.FooterApplicationsResponse');
142
+ }
143
+ return Buffer.from(arg.serializeBinary());
144
+ }
145
+
146
+ function deserialize_cms_FooterApplicationsResponse(buffer_arg) {
147
+ return cms_pb.FooterApplicationsResponse.deserializeBinary(new Uint8Array(buffer_arg));
148
+ }
149
+
150
+ function serialize_cms_FooterApplicationsStatusResponse(arg) {
151
+ if (!(arg instanceof cms_pb.FooterApplicationsStatusResponse)) {
152
+ throw new Error('Expected argument of type cms.FooterApplicationsStatusResponse');
153
+ }
154
+ return Buffer.from(arg.serializeBinary());
155
+ }
156
+
157
+ function deserialize_cms_FooterApplicationsStatusResponse(buffer_arg) {
158
+ return cms_pb.FooterApplicationsStatusResponse.deserializeBinary(new Uint8Array(buffer_arg));
159
+ }
160
+
117
161
  function serialize_cms_FooterMainTextItemRequest(arg) {
118
162
  if (!(arg instanceof cms_pb.FooterMainTextItemRequest)) {
119
163
  throw new Error('Expected argument of type cms.FooterMainTextItemRequest');
@@ -224,6 +268,50 @@ function deserialize_cms_FooterPartnersStatusResponse(buffer_arg) {
224
268
  return cms_pb.FooterPartnersStatusResponse.deserializeBinary(new Uint8Array(buffer_arg));
225
269
  }
226
270
 
271
+ function serialize_cms_FooterPaymentsItemRequest(arg) {
272
+ if (!(arg instanceof cms_pb.FooterPaymentsItemRequest)) {
273
+ throw new Error('Expected argument of type cms.FooterPaymentsItemRequest');
274
+ }
275
+ return Buffer.from(arg.serializeBinary());
276
+ }
277
+
278
+ function deserialize_cms_FooterPaymentsItemRequest(buffer_arg) {
279
+ return cms_pb.FooterPaymentsItemRequest.deserializeBinary(new Uint8Array(buffer_arg));
280
+ }
281
+
282
+ function serialize_cms_FooterPaymentsItemsResponse(arg) {
283
+ if (!(arg instanceof cms_pb.FooterPaymentsItemsResponse)) {
284
+ throw new Error('Expected argument of type cms.FooterPaymentsItemsResponse');
285
+ }
286
+ return Buffer.from(arg.serializeBinary());
287
+ }
288
+
289
+ function deserialize_cms_FooterPaymentsItemsResponse(buffer_arg) {
290
+ return cms_pb.FooterPaymentsItemsResponse.deserializeBinary(new Uint8Array(buffer_arg));
291
+ }
292
+
293
+ function serialize_cms_FooterPaymentsResponse(arg) {
294
+ if (!(arg instanceof cms_pb.FooterPaymentsResponse)) {
295
+ throw new Error('Expected argument of type cms.FooterPaymentsResponse');
296
+ }
297
+ return Buffer.from(arg.serializeBinary());
298
+ }
299
+
300
+ function deserialize_cms_FooterPaymentsResponse(buffer_arg) {
301
+ return cms_pb.FooterPaymentsResponse.deserializeBinary(new Uint8Array(buffer_arg));
302
+ }
303
+
304
+ function serialize_cms_FooterPaymentsStatusResponse(arg) {
305
+ if (!(arg instanceof cms_pb.FooterPaymentsStatusResponse)) {
306
+ throw new Error('Expected argument of type cms.FooterPaymentsStatusResponse');
307
+ }
308
+ return Buffer.from(arg.serializeBinary());
309
+ }
310
+
311
+ function deserialize_cms_FooterPaymentsStatusResponse(buffer_arg) {
312
+ return cms_pb.FooterPaymentsStatusResponse.deserializeBinary(new Uint8Array(buffer_arg));
313
+ }
314
+
227
315
  function serialize_cms_GameWidgetRequest(arg) {
228
316
  if (!(arg instanceof cms_pb.GameWidgetRequest)) {
229
317
  throw new Error('Expected argument of type cms.GameWidgetRequest');
@@ -312,6 +400,17 @@ function deserialize_cms_GetFileRequest(buffer_arg) {
312
400
  return cms_pb.GetFileRequest.deserializeBinary(new Uint8Array(buffer_arg));
313
401
  }
314
402
 
403
+ function serialize_cms_GetFooterApplicationsRequest(arg) {
404
+ if (!(arg instanceof cms_pb.GetFooterApplicationsRequest)) {
405
+ throw new Error('Expected argument of type cms.GetFooterApplicationsRequest');
406
+ }
407
+ return Buffer.from(arg.serializeBinary());
408
+ }
409
+
410
+ function deserialize_cms_GetFooterApplicationsRequest(buffer_arg) {
411
+ return cms_pb.GetFooterApplicationsRequest.deserializeBinary(new Uint8Array(buffer_arg));
412
+ }
413
+
315
414
  function serialize_cms_GetFooterMainTextRequest(arg) {
316
415
  if (!(arg instanceof cms_pb.GetFooterMainTextRequest)) {
317
416
  throw new Error('Expected argument of type cms.GetFooterMainTextRequest');
@@ -345,6 +444,17 @@ function deserialize_cms_GetFooterPartnersRequest(buffer_arg) {
345
444
  return cms_pb.GetFooterPartnersRequest.deserializeBinary(new Uint8Array(buffer_arg));
346
445
  }
347
446
 
447
+ function serialize_cms_GetFooterPaymentsRequest(arg) {
448
+ if (!(arg instanceof cms_pb.GetFooterPaymentsRequest)) {
449
+ throw new Error('Expected argument of type cms.GetFooterPaymentsRequest');
450
+ }
451
+ return Buffer.from(arg.serializeBinary());
452
+ }
453
+
454
+ function deserialize_cms_GetFooterPaymentsRequest(buffer_arg) {
455
+ return cms_pb.GetFooterPaymentsRequest.deserializeBinary(new Uint8Array(buffer_arg));
456
+ }
457
+
348
458
  function serialize_cms_GetGameWidgetRequest(arg) {
349
459
  if (!(arg instanceof cms_pb.GetGameWidgetRequest)) {
350
460
  throw new Error('Expected argument of type cms.GetGameWidgetRequest');
@@ -1256,6 +1366,140 @@ createSingleFooterMainText: {
1256
1366
  responseSerialize: serialize_cms_FooterMainTextTranslationResponse,
1257
1367
  responseDeserialize: deserialize_cms_FooterMainTextTranslationResponse,
1258
1368
  },
1369
+ // Footer: Payments
1370
+ createSingleFooterPayments: {
1371
+ path: '/cms.CMS/createSingleFooterPayments',
1372
+ requestStream: false,
1373
+ responseStream: false,
1374
+ requestType: cms_pb.FooterPaymentsItemRequest,
1375
+ responseType: cms_pb.FooterPaymentsResponse,
1376
+ requestSerialize: serialize_cms_FooterPaymentsItemRequest,
1377
+ requestDeserialize: deserialize_cms_FooterPaymentsItemRequest,
1378
+ responseSerialize: serialize_cms_FooterPaymentsResponse,
1379
+ responseDeserialize: deserialize_cms_FooterPaymentsResponse,
1380
+ },
1381
+ readSingleFooterPayments: {
1382
+ path: '/cms.CMS/readSingleFooterPayments',
1383
+ requestStream: false,
1384
+ responseStream: false,
1385
+ requestType: cms_pb.GetFooterPaymentsRequest,
1386
+ responseType: cms_pb.FooterPaymentsResponse,
1387
+ requestSerialize: serialize_cms_GetFooterPaymentsRequest,
1388
+ requestDeserialize: deserialize_cms_GetFooterPaymentsRequest,
1389
+ responseSerialize: serialize_cms_FooterPaymentsResponse,
1390
+ responseDeserialize: deserialize_cms_FooterPaymentsResponse,
1391
+ },
1392
+ updateSingleFooterPayments: {
1393
+ path: '/cms.CMS/updateSingleFooterPayments',
1394
+ requestStream: false,
1395
+ responseStream: false,
1396
+ requestType: cms_pb.FooterPaymentsItemRequest,
1397
+ responseType: cms_pb.FooterPaymentsResponse,
1398
+ requestSerialize: serialize_cms_FooterPaymentsItemRequest,
1399
+ requestDeserialize: deserialize_cms_FooterPaymentsItemRequest,
1400
+ responseSerialize: serialize_cms_FooterPaymentsResponse,
1401
+ responseDeserialize: deserialize_cms_FooterPaymentsResponse,
1402
+ },
1403
+ deleteSingleFooterPayments: {
1404
+ path: '/cms.CMS/deleteSingleFooterPayments',
1405
+ requestStream: false,
1406
+ responseStream: false,
1407
+ requestType: cms_pb.GetFooterPaymentsRequest,
1408
+ responseType: cms_pb.FooterPaymentsStatusResponse,
1409
+ requestSerialize: serialize_cms_GetFooterPaymentsRequest,
1410
+ requestDeserialize: deserialize_cms_GetFooterPaymentsRequest,
1411
+ responseSerialize: serialize_cms_FooterPaymentsStatusResponse,
1412
+ responseDeserialize: deserialize_cms_FooterPaymentsStatusResponse,
1413
+ },
1414
+ readListFooterPayments: {
1415
+ path: '/cms.CMS/readListFooterPayments',
1416
+ requestStream: false,
1417
+ responseStream: false,
1418
+ requestType: cms_pb.PaginationRequest,
1419
+ responseType: cms_pb.FooterPaymentsItemsResponse,
1420
+ requestSerialize: serialize_cms_PaginationRequest,
1421
+ requestDeserialize: deserialize_cms_PaginationRequest,
1422
+ responseSerialize: serialize_cms_FooterPaymentsItemsResponse,
1423
+ responseDeserialize: deserialize_cms_FooterPaymentsItemsResponse,
1424
+ },
1425
+ updateFooterPaymentsInBunch: {
1426
+ path: '/cms.CMS/updateFooterPaymentsInBunch',
1427
+ requestStream: false,
1428
+ responseStream: false,
1429
+ requestType: cms_pb.ItemsBunchRequest,
1430
+ responseType: cms_pb.FooterPaymentsStatusResponse,
1431
+ requestSerialize: serialize_cms_ItemsBunchRequest,
1432
+ requestDeserialize: deserialize_cms_ItemsBunchRequest,
1433
+ responseSerialize: serialize_cms_FooterPaymentsStatusResponse,
1434
+ responseDeserialize: deserialize_cms_FooterPaymentsStatusResponse,
1435
+ },
1436
+ // Footer: Applications
1437
+ createSingleFooterApplications: {
1438
+ path: '/cms.CMS/createSingleFooterApplications',
1439
+ requestStream: true,
1440
+ responseStream: false,
1441
+ requestType: cms_pb.FooterApplicationsRequest,
1442
+ responseType: cms_pb.FooterApplicationsResponse,
1443
+ requestSerialize: serialize_cms_FooterApplicationsRequest,
1444
+ requestDeserialize: deserialize_cms_FooterApplicationsRequest,
1445
+ responseSerialize: serialize_cms_FooterApplicationsResponse,
1446
+ responseDeserialize: deserialize_cms_FooterApplicationsResponse,
1447
+ },
1448
+ readSingleFooterApplications: {
1449
+ path: '/cms.CMS/readSingleFooterApplications',
1450
+ requestStream: false,
1451
+ responseStream: false,
1452
+ requestType: cms_pb.GetFooterApplicationsRequest,
1453
+ responseType: cms_pb.FooterApplicationsResponse,
1454
+ requestSerialize: serialize_cms_GetFooterApplicationsRequest,
1455
+ requestDeserialize: deserialize_cms_GetFooterApplicationsRequest,
1456
+ responseSerialize: serialize_cms_FooterApplicationsResponse,
1457
+ responseDeserialize: deserialize_cms_FooterApplicationsResponse,
1458
+ },
1459
+ updateSingleFooterApplications: {
1460
+ path: '/cms.CMS/updateSingleFooterApplications',
1461
+ requestStream: true,
1462
+ responseStream: false,
1463
+ requestType: cms_pb.FooterApplicationsRequest,
1464
+ responseType: cms_pb.FooterApplicationsResponse,
1465
+ requestSerialize: serialize_cms_FooterApplicationsRequest,
1466
+ requestDeserialize: deserialize_cms_FooterApplicationsRequest,
1467
+ responseSerialize: serialize_cms_FooterApplicationsResponse,
1468
+ responseDeserialize: deserialize_cms_FooterApplicationsResponse,
1469
+ },
1470
+ deleteSingleFooterApplications: {
1471
+ path: '/cms.CMS/deleteSingleFooterApplications',
1472
+ requestStream: false,
1473
+ responseStream: false,
1474
+ requestType: cms_pb.GetFooterApplicationsRequest,
1475
+ responseType: cms_pb.FooterApplicationsStatusResponse,
1476
+ requestSerialize: serialize_cms_GetFooterApplicationsRequest,
1477
+ requestDeserialize: deserialize_cms_GetFooterApplicationsRequest,
1478
+ responseSerialize: serialize_cms_FooterApplicationsStatusResponse,
1479
+ responseDeserialize: deserialize_cms_FooterApplicationsStatusResponse,
1480
+ },
1481
+ readListFooterApplications: {
1482
+ path: '/cms.CMS/readListFooterApplications',
1483
+ requestStream: false,
1484
+ responseStream: false,
1485
+ requestType: cms_pb.PaginationRequest,
1486
+ responseType: cms_pb.FooterApplicationsItemsResponse,
1487
+ requestSerialize: serialize_cms_PaginationRequest,
1488
+ requestDeserialize: deserialize_cms_PaginationRequest,
1489
+ responseSerialize: serialize_cms_FooterApplicationsItemsResponse,
1490
+ responseDeserialize: deserialize_cms_FooterApplicationsItemsResponse,
1491
+ },
1492
+ updateFooterApplicationsInBunch: {
1493
+ path: '/cms.CMS/updateFooterApplicationsInBunch',
1494
+ requestStream: false,
1495
+ responseStream: false,
1496
+ requestType: cms_pb.ItemsBunchRequest,
1497
+ responseType: cms_pb.FooterApplicationsStatusResponse,
1498
+ requestSerialize: serialize_cms_ItemsBunchRequest,
1499
+ requestDeserialize: deserialize_cms_ItemsBunchRequest,
1500
+ responseSerialize: serialize_cms_FooterApplicationsStatusResponse,
1501
+ responseDeserialize: deserialize_cms_FooterApplicationsStatusResponse,
1502
+ },
1259
1503
  // Game Widgets
1260
1504
  createSingleGameWidget: {
1261
1505
  path: '/cms.CMS/createSingleGameWidget',