protobuf-platform 1.2.574 → 1.2.575

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/bonus/bonus.proto CHANGED
@@ -100,6 +100,14 @@ message BonusActivationRulesRequest {
100
100
  optional float cancellation_amount = 7;
101
101
  optional string promo_code = 8;
102
102
  }
103
+ // Write-side reward payload for a single semantic reward type (e.g. "freebet", "comboboost").
104
+ message BonusRewardWriteItem {
105
+ string type = 1;
106
+ optional string config = 2;
107
+ }
108
+
109
+ // Legacy scalar/config fields (1–10) remain for backward compatibility.
110
+ // New reward types must use `rewards`; do not add per-type top-level fields (e.g. combo_boost_config).
103
111
  message BonusRewardsRequest {
104
112
  int32 bonus_id = 1;
105
113
  string currency = 2;
@@ -111,6 +119,8 @@ message BonusRewardsRequest {
111
119
  optional float ranking = 8;
112
120
  optional string free_spins_config = 9;
113
121
  optional string free_bet_config = 10;
122
+ // Extensible write path for new reward types; currency is inherited from this request.
123
+ repeated BonusRewardWriteItem rewards = 11;
114
124
  }
115
125
  message BonusBetRangesRequest {
116
126
  int32 bonus_id = 1;
package/bonus/bonus_pb.js CHANGED
@@ -40,6 +40,7 @@ goog.exportSymbol('proto.bonus.BonusRequest', null, global);
40
40
  goog.exportSymbol('proto.bonus.BonusRequest.RequestCase', null, global);
41
41
  goog.exportSymbol('proto.bonus.BonusResponse', null, global);
42
42
  goog.exportSymbol('proto.bonus.BonusReward', null, global);
43
+ goog.exportSymbol('proto.bonus.BonusRewardWriteItem', null, global);
43
44
  goog.exportSymbol('proto.bonus.BonusRewardsRequest', null, global);
44
45
  goog.exportSymbol('proto.bonus.BonusSnapshotItem', null, global);
45
46
  goog.exportSymbol('proto.bonus.BonusSnapshotItemsResponse', null, global);
@@ -289,9 +290,30 @@ if (goog.DEBUG && !COMPILED) {
289
290
  * @extends {jspb.Message}
290
291
  * @constructor
291
292
  */
292
- proto.bonus.BonusRewardsRequest = function(opt_data) {
293
+ proto.bonus.BonusRewardWriteItem = function(opt_data) {
293
294
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
294
295
  };
296
+ goog.inherits(proto.bonus.BonusRewardWriteItem, jspb.Message);
297
+ if (goog.DEBUG && !COMPILED) {
298
+ /**
299
+ * @public
300
+ * @override
301
+ */
302
+ proto.bonus.BonusRewardWriteItem.displayName = 'proto.bonus.BonusRewardWriteItem';
303
+ }
304
+ /**
305
+ * Generated by JsPbCodeGenerator.
306
+ * @param {Array=} opt_data Optional initial data array, typically from a
307
+ * server response, or constructed directly in Javascript. The array is used
308
+ * in place and becomes part of the constructed object. It is not cloned.
309
+ * If no data is provided, the constructed object will be empty, but still
310
+ * valid.
311
+ * @extends {jspb.Message}
312
+ * @constructor
313
+ */
314
+ proto.bonus.BonusRewardsRequest = function(opt_data) {
315
+ jspb.Message.initialize(this, opt_data, 0, -1, proto.bonus.BonusRewardsRequest.repeatedFields_, null);
316
+ };
295
317
  goog.inherits(proto.bonus.BonusRewardsRequest, jspb.Message);
296
318
  if (goog.DEBUG && !COMPILED) {
297
319
  /**
@@ -3833,6 +3855,191 @@ proto.bonus.BonusActivationRulesRequest.prototype.hasPromoCode = function() {
3833
3855
 
3834
3856
 
3835
3857
 
3858
+ if (jspb.Message.GENERATE_TO_OBJECT) {
3859
+ /**
3860
+ * Creates an object representation of this proto.
3861
+ * Field names that are reserved in JavaScript and will be renamed to pb_name.
3862
+ * Optional fields that are not set will be set to undefined.
3863
+ * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
3864
+ * For the list of reserved names please see:
3865
+ * net/proto2/compiler/js/internal/generator.cc#kKeyword.
3866
+ * @param {boolean=} opt_includeInstance Deprecated. whether to include the
3867
+ * JSPB instance for transitional soy proto support:
3868
+ * http://goto/soy-param-migration
3869
+ * @return {!Object}
3870
+ */
3871
+ proto.bonus.BonusRewardWriteItem.prototype.toObject = function(opt_includeInstance) {
3872
+ return proto.bonus.BonusRewardWriteItem.toObject(opt_includeInstance, this);
3873
+ };
3874
+
3875
+
3876
+ /**
3877
+ * Static version of the {@see toObject} method.
3878
+ * @param {boolean|undefined} includeInstance Deprecated. Whether to include
3879
+ * the JSPB instance for transitional soy proto support:
3880
+ * http://goto/soy-param-migration
3881
+ * @param {!proto.bonus.BonusRewardWriteItem} msg The msg instance to transform.
3882
+ * @return {!Object}
3883
+ * @suppress {unusedLocalVariables} f is only used for nested messages
3884
+ */
3885
+ proto.bonus.BonusRewardWriteItem.toObject = function(includeInstance, msg) {
3886
+ var f, obj = {
3887
+ type: jspb.Message.getFieldWithDefault(msg, 1, ""),
3888
+ config: jspb.Message.getFieldWithDefault(msg, 2, "")
3889
+ };
3890
+
3891
+ if (includeInstance) {
3892
+ obj.$jspbMessageInstance = msg;
3893
+ }
3894
+ return obj;
3895
+ };
3896
+ }
3897
+
3898
+
3899
+ /**
3900
+ * Deserializes binary data (in protobuf wire format).
3901
+ * @param {jspb.ByteSource} bytes The bytes to deserialize.
3902
+ * @return {!proto.bonus.BonusRewardWriteItem}
3903
+ */
3904
+ proto.bonus.BonusRewardWriteItem.deserializeBinary = function(bytes) {
3905
+ var reader = new jspb.BinaryReader(bytes);
3906
+ var msg = new proto.bonus.BonusRewardWriteItem;
3907
+ return proto.bonus.BonusRewardWriteItem.deserializeBinaryFromReader(msg, reader);
3908
+ };
3909
+
3910
+
3911
+ /**
3912
+ * Deserializes binary data (in protobuf wire format) from the
3913
+ * given reader into the given message object.
3914
+ * @param {!proto.bonus.BonusRewardWriteItem} msg The message object to deserialize into.
3915
+ * @param {!jspb.BinaryReader} reader The BinaryReader to use.
3916
+ * @return {!proto.bonus.BonusRewardWriteItem}
3917
+ */
3918
+ proto.bonus.BonusRewardWriteItem.deserializeBinaryFromReader = function(msg, reader) {
3919
+ while (reader.nextField()) {
3920
+ if (reader.isEndGroup()) {
3921
+ break;
3922
+ }
3923
+ var field = reader.getFieldNumber();
3924
+ switch (field) {
3925
+ case 1:
3926
+ var value = /** @type {string} */ (reader.readString());
3927
+ msg.setType(value);
3928
+ break;
3929
+ case 2:
3930
+ var value = /** @type {string} */ (reader.readString());
3931
+ msg.setConfig(value);
3932
+ break;
3933
+ default:
3934
+ reader.skipField();
3935
+ break;
3936
+ }
3937
+ }
3938
+ return msg;
3939
+ };
3940
+
3941
+
3942
+ /**
3943
+ * Serializes the message to binary data (in protobuf wire format).
3944
+ * @return {!Uint8Array}
3945
+ */
3946
+ proto.bonus.BonusRewardWriteItem.prototype.serializeBinary = function() {
3947
+ var writer = new jspb.BinaryWriter();
3948
+ proto.bonus.BonusRewardWriteItem.serializeBinaryToWriter(this, writer);
3949
+ return writer.getResultBuffer();
3950
+ };
3951
+
3952
+
3953
+ /**
3954
+ * Serializes the given message to binary data (in protobuf wire
3955
+ * format), writing to the given BinaryWriter.
3956
+ * @param {!proto.bonus.BonusRewardWriteItem} message
3957
+ * @param {!jspb.BinaryWriter} writer
3958
+ * @suppress {unusedLocalVariables} f is only used for nested messages
3959
+ */
3960
+ proto.bonus.BonusRewardWriteItem.serializeBinaryToWriter = function(message, writer) {
3961
+ var f = undefined;
3962
+ f = message.getType();
3963
+ if (f.length > 0) {
3964
+ writer.writeString(
3965
+ 1,
3966
+ f
3967
+ );
3968
+ }
3969
+ f = /** @type {string} */ (jspb.Message.getField(message, 2));
3970
+ if (f != null) {
3971
+ writer.writeString(
3972
+ 2,
3973
+ f
3974
+ );
3975
+ }
3976
+ };
3977
+
3978
+
3979
+ /**
3980
+ * optional string type = 1;
3981
+ * @return {string}
3982
+ */
3983
+ proto.bonus.BonusRewardWriteItem.prototype.getType = function() {
3984
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
3985
+ };
3986
+
3987
+
3988
+ /**
3989
+ * @param {string} value
3990
+ * @return {!proto.bonus.BonusRewardWriteItem} returns this
3991
+ */
3992
+ proto.bonus.BonusRewardWriteItem.prototype.setType = function(value) {
3993
+ return jspb.Message.setProto3StringField(this, 1, value);
3994
+ };
3995
+
3996
+
3997
+ /**
3998
+ * optional string config = 2;
3999
+ * @return {string}
4000
+ */
4001
+ proto.bonus.BonusRewardWriteItem.prototype.getConfig = function() {
4002
+ return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
4003
+ };
4004
+
4005
+
4006
+ /**
4007
+ * @param {string} value
4008
+ * @return {!proto.bonus.BonusRewardWriteItem} returns this
4009
+ */
4010
+ proto.bonus.BonusRewardWriteItem.prototype.setConfig = function(value) {
4011
+ return jspb.Message.setField(this, 2, value);
4012
+ };
4013
+
4014
+
4015
+ /**
4016
+ * Clears the field making it undefined.
4017
+ * @return {!proto.bonus.BonusRewardWriteItem} returns this
4018
+ */
4019
+ proto.bonus.BonusRewardWriteItem.prototype.clearConfig = function() {
4020
+ return jspb.Message.setField(this, 2, undefined);
4021
+ };
4022
+
4023
+
4024
+ /**
4025
+ * Returns whether this field is set.
4026
+ * @return {boolean}
4027
+ */
4028
+ proto.bonus.BonusRewardWriteItem.prototype.hasConfig = function() {
4029
+ return jspb.Message.getField(this, 2) != null;
4030
+ };
4031
+
4032
+
4033
+
4034
+ /**
4035
+ * List of repeated fields within this message type.
4036
+ * @private {!Array<number>}
4037
+ * @const
4038
+ */
4039
+ proto.bonus.BonusRewardsRequest.repeatedFields_ = [11];
4040
+
4041
+
4042
+
3836
4043
  if (jspb.Message.GENERATE_TO_OBJECT) {
3837
4044
  /**
3838
4045
  * Creates an object representation of this proto.
@@ -3871,7 +4078,9 @@ proto.bonus.BonusRewardsRequest.toObject = function(includeInstance, msg) {
3871
4078
  loyalty: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),
3872
4079
  ranking: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),
3873
4080
  freeSpinsConfig: jspb.Message.getFieldWithDefault(msg, 9, ""),
3874
- freeBetConfig: jspb.Message.getFieldWithDefault(msg, 10, "")
4081
+ freeBetConfig: jspb.Message.getFieldWithDefault(msg, 10, ""),
4082
+ rewardsList: jspb.Message.toObjectList(msg.getRewardsList(),
4083
+ proto.bonus.BonusRewardWriteItem.toObject, includeInstance)
3875
4084
  };
3876
4085
 
3877
4086
  if (includeInstance) {
@@ -3948,6 +4157,11 @@ proto.bonus.BonusRewardsRequest.deserializeBinaryFromReader = function(msg, read
3948
4157
  var value = /** @type {string} */ (reader.readString());
3949
4158
  msg.setFreeBetConfig(value);
3950
4159
  break;
4160
+ case 11:
4161
+ var value = new proto.bonus.BonusRewardWriteItem;
4162
+ reader.readMessage(value,proto.bonus.BonusRewardWriteItem.deserializeBinaryFromReader);
4163
+ msg.addRewards(value);
4164
+ break;
3951
4165
  default:
3952
4166
  reader.skipField();
3953
4167
  break;
@@ -4047,6 +4261,14 @@ proto.bonus.BonusRewardsRequest.serializeBinaryToWriter = function(message, writ
4047
4261
  f
4048
4262
  );
4049
4263
  }
4264
+ f = message.getRewardsList();
4265
+ if (f.length > 0) {
4266
+ writer.writeRepeatedMessage(
4267
+ 11,
4268
+ f,
4269
+ proto.bonus.BonusRewardWriteItem.serializeBinaryToWriter
4270
+ );
4271
+ }
4050
4272
  };
4051
4273
 
4052
4274
 
@@ -4374,6 +4596,44 @@ proto.bonus.BonusRewardsRequest.prototype.hasFreeBetConfig = function() {
4374
4596
  };
4375
4597
 
4376
4598
 
4599
+ /**
4600
+ * repeated BonusRewardWriteItem rewards = 11;
4601
+ * @return {!Array<!proto.bonus.BonusRewardWriteItem>}
4602
+ */
4603
+ proto.bonus.BonusRewardsRequest.prototype.getRewardsList = function() {
4604
+ return /** @type{!Array<!proto.bonus.BonusRewardWriteItem>} */ (
4605
+ jspb.Message.getRepeatedWrapperField(this, proto.bonus.BonusRewardWriteItem, 11));
4606
+ };
4607
+
4608
+
4609
+ /**
4610
+ * @param {!Array<!proto.bonus.BonusRewardWriteItem>} value
4611
+ * @return {!proto.bonus.BonusRewardsRequest} returns this
4612
+ */
4613
+ proto.bonus.BonusRewardsRequest.prototype.setRewardsList = function(value) {
4614
+ return jspb.Message.setRepeatedWrapperField(this, 11, value);
4615
+ };
4616
+
4617
+
4618
+ /**
4619
+ * @param {!proto.bonus.BonusRewardWriteItem=} opt_value
4620
+ * @param {number=} opt_index
4621
+ * @return {!proto.bonus.BonusRewardWriteItem}
4622
+ */
4623
+ proto.bonus.BonusRewardsRequest.prototype.addRewards = function(opt_value, opt_index) {
4624
+ return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.bonus.BonusRewardWriteItem, opt_index);
4625
+ };
4626
+
4627
+
4628
+ /**
4629
+ * Clears the list making it empty but non-null.
4630
+ * @return {!proto.bonus.BonusRewardsRequest} returns this
4631
+ */
4632
+ proto.bonus.BonusRewardsRequest.prototype.clearRewardsList = function() {
4633
+ return this.setRewardsList([]);
4634
+ };
4635
+
4636
+
4377
4637
 
4378
4638
 
4379
4639
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobuf-platform",
3
- "version": "1.2.574",
3
+ "version": "1.2.575",
4
4
  "description": "Protobuf structures",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/sport/sport.proto CHANGED
@@ -18,9 +18,18 @@ service Sport {
18
18
  // Sport meta
19
19
  rpc getSportCategoriesByIds(SportCategoriesIds) returns (SportCategoriesResponse);
20
20
  rpc getSportTypesByIds(SportTypesIds) returns (SportTypesResponse);
21
+ // Deprecated: use getSportsbookRewardTemplates with SPORTSBOOK_REWARD_TYPE_FREEBET.
21
22
  // BetBy free bets via Slotegrator: BO template list and mass issue for activation.
22
23
  rpc getBetbyFreebetTemplates(GetBetbyFreebetTemplatesRequest) returns (GetBetbyFreebetTemplatesResponse);
24
+ // Deprecated: use issueSportsbookRewards with SPORTSBOOK_REWARD_TYPE_FREEBET.
23
25
  rpc issueBetbyFreebets(IssueBetbyFreebetsRequest) returns (IssueBetbyFreebetsResponse);
26
+
27
+ // Generic sportsbook reward template discovery (provider-agnostic).
28
+ rpc getSportsbookRewardTemplates(GetSportsbookRewardTemplatesRequest)
29
+ returns (GetSportsbookRewardTemplatesResponse);
30
+ // Generic sportsbook reward batch issuance (provider-agnostic).
31
+ rpc issueSportsbookRewards(IssueSportsbookRewardsRequest)
32
+ returns (IssueSportsbookRewardsResponse);
24
33
  }
25
34
 
26
35
  message PingRequest { string ping = 1; }
@@ -167,22 +176,33 @@ message SportTypesResponse {
167
176
  repeated SportTypeItem items = 1;
168
177
  }
169
178
 
179
+ // Semantic sportsbook reward type; provider mapping is resolved from service configuration.
180
+ enum SportsbookRewardType {
181
+ SPORTSBOOK_REWARD_TYPE_UNSPECIFIED = 0;
182
+ SPORTSBOOK_REWARD_TYPE_FREEBET = 1;
183
+ SPORTSBOOK_REWARD_TYPE_COMBOBOOST = 2;
184
+ }
185
+
186
+ // Deprecated: use GetSportsbookRewardTemplatesRequest.
170
187
  // BetBy free bet templates (MVP): optional pagination aligned with provider API; `data` is JSON string.
171
188
  message GetBetbyFreebetTemplatesRequest {
172
189
  optional int32 page = 1;
173
190
  optional int32 per_page = 2;
174
191
  }
175
192
 
193
+ // Deprecated: use GetSportsbookRewardTemplatesResponse.
176
194
  message GetBetbyFreebetTemplatesResponse {
177
195
  string data = 1;
178
196
  }
179
197
 
198
+ // Deprecated: use SportsbookRewardIssueTarget.
180
199
  message FreebetIssueItem {
181
200
  repeated string player_ids = 1;
182
201
  double amount = 2;
183
202
  string currency = 3;
184
203
  }
185
204
 
205
+ // Deprecated: use IssueSportsbookRewardsRequest.
186
206
  // Mass issue for bonus-driven activation; `data` in response is JSON string (MVP).
187
207
  message IssueBetbyFreebetsRequest {
188
208
  string sportsbook_uuid = 1;
@@ -190,6 +210,53 @@ message IssueBetbyFreebetsRequest {
190
210
  repeated FreebetIssueItem items = 3;
191
211
  }
192
212
 
213
+ // Deprecated: use IssueSportsbookRewardsResponse.
193
214
  message IssueBetbyFreebetsResponse {
194
215
  string data = 1;
216
+ }
217
+
218
+ message GetSportsbookRewardTemplatesRequest {
219
+ SportsbookRewardType reward_type = 1;
220
+ optional int32 page = 2;
221
+ optional int32 per_page = 3;
222
+ }
223
+
224
+ message SportsbookRewardTemplateItem {
225
+ string template_id = 1;
226
+ string label = 2;
227
+ SportsbookRewardType reward_type = 3;
228
+ }
229
+
230
+ message GetSportsbookRewardTemplatesResponse {
231
+ repeated SportsbookRewardTemplateItem items = 1;
232
+ optional int32 page = 2;
233
+ optional int32 per_page = 3;
234
+ optional int32 total_items = 4;
235
+ optional int32 total_pages = 5;
236
+ }
237
+
238
+ message SportsbookRewardIssueTarget {
239
+ string player_id = 1;
240
+ optional string amount = 2;
241
+ optional string currency = 3;
242
+ optional string operation_id = 4;
243
+ }
244
+
245
+ message IssueSportsbookRewardsRequest {
246
+ SportsbookRewardType reward_type = 1;
247
+ string template_id = 2;
248
+ repeated SportsbookRewardIssueTarget targets = 3;
249
+ optional string operation_id = 4;
250
+ }
251
+
252
+ message SportsbookRewardIssueResult {
253
+ string player_id = 1;
254
+ bool success = 2;
255
+ optional string provider_reward_id = 3;
256
+ optional string error_code = 4;
257
+ optional string error_message = 5;
258
+ }
259
+
260
+ message IssueSportsbookRewardsResponse {
261
+ repeated SportsbookRewardIssueResult results = 1;
195
262
  }
@@ -26,6 +26,28 @@ function deserialize_sport_GetBetbyFreebetTemplatesResponse(buffer_arg) {
26
26
  return sport_pb.GetBetbyFreebetTemplatesResponse.deserializeBinary(new Uint8Array(buffer_arg));
27
27
  }
28
28
 
29
+ function serialize_sport_GetSportsbookRewardTemplatesRequest(arg) {
30
+ if (!(arg instanceof sport_pb.GetSportsbookRewardTemplatesRequest)) {
31
+ throw new Error('Expected argument of type sport.GetSportsbookRewardTemplatesRequest');
32
+ }
33
+ return Buffer.from(arg.serializeBinary());
34
+ }
35
+
36
+ function deserialize_sport_GetSportsbookRewardTemplatesRequest(buffer_arg) {
37
+ return sport_pb.GetSportsbookRewardTemplatesRequest.deserializeBinary(new Uint8Array(buffer_arg));
38
+ }
39
+
40
+ function serialize_sport_GetSportsbookRewardTemplatesResponse(arg) {
41
+ if (!(arg instanceof sport_pb.GetSportsbookRewardTemplatesResponse)) {
42
+ throw new Error('Expected argument of type sport.GetSportsbookRewardTemplatesResponse');
43
+ }
44
+ return Buffer.from(arg.serializeBinary());
45
+ }
46
+
47
+ function deserialize_sport_GetSportsbookRewardTemplatesResponse(buffer_arg) {
48
+ return sport_pb.GetSportsbookRewardTemplatesResponse.deserializeBinary(new Uint8Array(buffer_arg));
49
+ }
50
+
29
51
  function serialize_sport_IssueBetbyFreebetsRequest(arg) {
30
52
  if (!(arg instanceof sport_pb.IssueBetbyFreebetsRequest)) {
31
53
  throw new Error('Expected argument of type sport.IssueBetbyFreebetsRequest');
@@ -48,6 +70,28 @@ function deserialize_sport_IssueBetbyFreebetsResponse(buffer_arg) {
48
70
  return sport_pb.IssueBetbyFreebetsResponse.deserializeBinary(new Uint8Array(buffer_arg));
49
71
  }
50
72
 
73
+ function serialize_sport_IssueSportsbookRewardsRequest(arg) {
74
+ if (!(arg instanceof sport_pb.IssueSportsbookRewardsRequest)) {
75
+ throw new Error('Expected argument of type sport.IssueSportsbookRewardsRequest');
76
+ }
77
+ return Buffer.from(arg.serializeBinary());
78
+ }
79
+
80
+ function deserialize_sport_IssueSportsbookRewardsRequest(buffer_arg) {
81
+ return sport_pb.IssueSportsbookRewardsRequest.deserializeBinary(new Uint8Array(buffer_arg));
82
+ }
83
+
84
+ function serialize_sport_IssueSportsbookRewardsResponse(arg) {
85
+ if (!(arg instanceof sport_pb.IssueSportsbookRewardsResponse)) {
86
+ throw new Error('Expected argument of type sport.IssueSportsbookRewardsResponse');
87
+ }
88
+ return Buffer.from(arg.serializeBinary());
89
+ }
90
+
91
+ function deserialize_sport_IssueSportsbookRewardsResponse(buffer_arg) {
92
+ return sport_pb.IssueSportsbookRewardsResponse.deserializeBinary(new Uint8Array(buffer_arg));
93
+ }
94
+
51
95
  function serialize_sport_LaunchBetbyRequest(arg) {
52
96
  if (!(arg instanceof sport_pb.LaunchBetbyRequest)) {
53
97
  throw new Error('Expected argument of type sport.LaunchBetbyRequest');
@@ -330,7 +374,8 @@ getSportCategoriesByIds: {
330
374
  responseSerialize: serialize_sport_SportTypesResponse,
331
375
  responseDeserialize: deserialize_sport_SportTypesResponse,
332
376
  },
333
- // BetBy free bets via Slotegrator: BO template list and mass issue for activation.
377
+ // Deprecated: use getSportsbookRewardTemplates with SPORTSBOOK_REWARD_TYPE_FREEBET.
378
+ // BetBy free bets via Slotegrator: BO template list and mass issue for activation.
334
379
  getBetbyFreebetTemplates: {
335
380
  path: '/sport.Sport/getBetbyFreebetTemplates',
336
381
  requestStream: false,
@@ -342,7 +387,8 @@ getBetbyFreebetTemplates: {
342
387
  responseSerialize: serialize_sport_GetBetbyFreebetTemplatesResponse,
343
388
  responseDeserialize: deserialize_sport_GetBetbyFreebetTemplatesResponse,
344
389
  },
345
- issueBetbyFreebets: {
390
+ // Deprecated: use issueSportsbookRewards with SPORTSBOOK_REWARD_TYPE_FREEBET.
391
+ issueBetbyFreebets: {
346
392
  path: '/sport.Sport/issueBetbyFreebets',
347
393
  requestStream: false,
348
394
  responseStream: false,
@@ -353,6 +399,30 @@ getBetbyFreebetTemplates: {
353
399
  responseSerialize: serialize_sport_IssueBetbyFreebetsResponse,
354
400
  responseDeserialize: deserialize_sport_IssueBetbyFreebetsResponse,
355
401
  },
402
+ // Generic sportsbook reward template discovery (provider-agnostic).
403
+ getSportsbookRewardTemplates: {
404
+ path: '/sport.Sport/getSportsbookRewardTemplates',
405
+ requestStream: false,
406
+ responseStream: false,
407
+ requestType: sport_pb.GetSportsbookRewardTemplatesRequest,
408
+ responseType: sport_pb.GetSportsbookRewardTemplatesResponse,
409
+ requestSerialize: serialize_sport_GetSportsbookRewardTemplatesRequest,
410
+ requestDeserialize: deserialize_sport_GetSportsbookRewardTemplatesRequest,
411
+ responseSerialize: serialize_sport_GetSportsbookRewardTemplatesResponse,
412
+ responseDeserialize: deserialize_sport_GetSportsbookRewardTemplatesResponse,
413
+ },
414
+ // Generic sportsbook reward batch issuance (provider-agnostic).
415
+ issueSportsbookRewards: {
416
+ path: '/sport.Sport/issueSportsbookRewards',
417
+ requestStream: false,
418
+ responseStream: false,
419
+ requestType: sport_pb.IssueSportsbookRewardsRequest,
420
+ responseType: sport_pb.IssueSportsbookRewardsResponse,
421
+ requestSerialize: serialize_sport_IssueSportsbookRewardsRequest,
422
+ requestDeserialize: deserialize_sport_IssueSportsbookRewardsRequest,
423
+ responseSerialize: serialize_sport_IssueSportsbookRewardsResponse,
424
+ responseDeserialize: deserialize_sport_IssueSportsbookRewardsResponse,
425
+ },
356
426
  };
357
427
 
358
428
  exports.SportClient = grpc.makeGenericClientConstructor(SportService, 'Sport');