protobuf-platform 1.2.686 → 1.2.687
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/docs/loyalty-level-up-reward-v1.md +7 -0
- package/package.json +1 -1
- package/user/user.proto +2 -0
- package/user/user_pb.js +49 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Explicit Loyalty completion reward V1
|
|
2
|
+
|
|
3
|
+
A Loyalty level has one optional `total_level_up_currency` beside the existing exact string `total_level_up_amount`. Missing currency cannot create monetary rewards. `LevelItemsResponse.reward_currencies` carries the effective startup-loaded whitelist to BackOffice. Existing field tags and reward types remain unchanged; there is no special current-wallet selector.
|
|
4
|
+
|
|
5
|
+
Payment's `grantLoyaltyLevelUpReward` accepts independent `reward_identity`, `user_id`, exact decimal `amount` and explicit `currency`. Payment owns settlement and returns operation/ledger IDs, settled currency/scale/minor amount and replay status. Multiple future grants can use separate identities without exposing Loyalty database structure in Payment.
|
|
6
|
+
|
|
7
|
+
Release 1.2.686 contains the monetary grant, all additive currency fields and the level-list whitelist. Deploy the Payment receiver before Loyalty producers, then Gateway and BackOffice. Source and database integration do not prove deployed staging acceptance.
|
package/package.json
CHANGED
package/user/user.proto
CHANGED
|
@@ -300,6 +300,8 @@ message RegistrationRequest {
|
|
|
300
300
|
// Gateway IP-derived country; distinct from profile country.
|
|
301
301
|
optional string ip_country = 28;
|
|
302
302
|
optional int32 bonus_id = 29;
|
|
303
|
+
// Explicit signup refusal; absence preserves automatic unique-candidate selection.
|
|
304
|
+
optional bool no_bonus = 30;
|
|
303
305
|
}
|
|
304
306
|
message LoggedInResponse {
|
|
305
307
|
int32 id = 1;
|
package/user/user_pb.js
CHANGED
|
@@ -9350,7 +9350,8 @@ proto.user.RegistrationRequest.toObject = function(includeInstance, msg) {
|
|
|
9350
9350
|
antifraudSession: jspb.Message.getFieldWithDefault(msg, 26, ""),
|
|
9351
9351
|
fraudneticToken: jspb.Message.getFieldWithDefault(msg, 27, ""),
|
|
9352
9352
|
ipCountry: jspb.Message.getFieldWithDefault(msg, 28, ""),
|
|
9353
|
-
bonusId: jspb.Message.getFieldWithDefault(msg, 29, 0)
|
|
9353
|
+
bonusId: jspb.Message.getFieldWithDefault(msg, 29, 0),
|
|
9354
|
+
noBonus: jspb.Message.getBooleanFieldWithDefault(msg, 30, false)
|
|
9354
9355
|
};
|
|
9355
9356
|
|
|
9356
9357
|
if (includeInstance) {
|
|
@@ -9503,6 +9504,10 @@ proto.user.RegistrationRequest.deserializeBinaryFromReader = function(msg, reade
|
|
|
9503
9504
|
var value = /** @type {number} */ (reader.readInt32());
|
|
9504
9505
|
msg.setBonusId(value);
|
|
9505
9506
|
break;
|
|
9507
|
+
case 30:
|
|
9508
|
+
var value = /** @type {boolean} */ (reader.readBool());
|
|
9509
|
+
msg.setNoBonus(value);
|
|
9510
|
+
break;
|
|
9506
9511
|
default:
|
|
9507
9512
|
reader.skipField();
|
|
9508
9513
|
break;
|
|
@@ -9735,6 +9740,13 @@ proto.user.RegistrationRequest.serializeBinaryToWriter = function(message, write
|
|
|
9735
9740
|
f
|
|
9736
9741
|
);
|
|
9737
9742
|
}
|
|
9743
|
+
f = /** @type {boolean} */ (jspb.Message.getField(message, 30));
|
|
9744
|
+
if (f != null) {
|
|
9745
|
+
writer.writeBool(
|
|
9746
|
+
30,
|
|
9747
|
+
f
|
|
9748
|
+
);
|
|
9749
|
+
}
|
|
9738
9750
|
};
|
|
9739
9751
|
|
|
9740
9752
|
|
|
@@ -10728,6 +10740,42 @@ proto.user.RegistrationRequest.prototype.hasBonusId = function() {
|
|
|
10728
10740
|
};
|
|
10729
10741
|
|
|
10730
10742
|
|
|
10743
|
+
/**
|
|
10744
|
+
* optional bool no_bonus = 30;
|
|
10745
|
+
* @return {boolean}
|
|
10746
|
+
*/
|
|
10747
|
+
proto.user.RegistrationRequest.prototype.getNoBonus = function() {
|
|
10748
|
+
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 30, false));
|
|
10749
|
+
};
|
|
10750
|
+
|
|
10751
|
+
|
|
10752
|
+
/**
|
|
10753
|
+
* @param {boolean} value
|
|
10754
|
+
* @return {!proto.user.RegistrationRequest} returns this
|
|
10755
|
+
*/
|
|
10756
|
+
proto.user.RegistrationRequest.prototype.setNoBonus = function(value) {
|
|
10757
|
+
return jspb.Message.setField(this, 30, value);
|
|
10758
|
+
};
|
|
10759
|
+
|
|
10760
|
+
|
|
10761
|
+
/**
|
|
10762
|
+
* Clears the field making it undefined.
|
|
10763
|
+
* @return {!proto.user.RegistrationRequest} returns this
|
|
10764
|
+
*/
|
|
10765
|
+
proto.user.RegistrationRequest.prototype.clearNoBonus = function() {
|
|
10766
|
+
return jspb.Message.setField(this, 30, undefined);
|
|
10767
|
+
};
|
|
10768
|
+
|
|
10769
|
+
|
|
10770
|
+
/**
|
|
10771
|
+
* Returns whether this field is set.
|
|
10772
|
+
* @return {boolean}
|
|
10773
|
+
*/
|
|
10774
|
+
proto.user.RegistrationRequest.prototype.hasNoBonus = function() {
|
|
10775
|
+
return jspb.Message.getField(this, 30) != null;
|
|
10776
|
+
};
|
|
10777
|
+
|
|
10778
|
+
|
|
10731
10779
|
|
|
10732
10780
|
|
|
10733
10781
|
|