protobuf-platform 1.2.619 → 1.2.622

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.
@@ -0,0 +1,76 @@
1
+ # Promotional Big Wins contract
2
+
3
+ Release: `protobuf-platform@1.2.620`.
4
+
5
+ ## Public feed
6
+
7
+ `bet.Bet/getPromotionalBigWins(PaginationRequest) -> WinRatesResponse` is a separate
8
+ simulated promotional feed. Gateway selects this method only when promotional
9
+ mode is explicitly requested. The requesting UI must visibly disclose that the
10
+ cards are simulated promotional examples, not genuine player activity.
11
+
12
+ Only `limit` and `offset` are used. Offset follows the existing Big Wins convention:
13
+ a zero-based page number, with the row start calculated as `offset * limit`.
14
+ The shared request's user/history filters do not apply to this method.
15
+
16
+ `getWinRates`, `getLastWins`, `getTopWinByMultiplier`, `PaginationRequest`,
17
+ `WinRatesResponse`, and `WinRateItem` retain their existing fields and semantics.
18
+ There is no response disclosure flag, player ID, or financial operation in the
19
+ new contract. The public amount retains its existing protobuf `float` type.
20
+ Implementations must account for wire rounding when enforcing generated ranges;
21
+ configuration decimal strings must never be converted to floats for storage.
22
+
23
+ ## Configuration management
24
+
25
+ These methods are internal and must be exposed only through the gateway's
26
+ authenticated, authorized BackOffice path. They manage bet-service configuration,
27
+ never real bets, users, wallets, or ledger entries.
28
+
29
+ | RPC | Request | Response |
30
+ | --- | --- | --- |
31
+ | `readListPromotionalBigWins` | `PaginationRequest` | `PromotionalBigWinItemsResponse` |
32
+ | `setPromotionalBigWin` | `PromotionalBigWinRequest` | `PromotionalBigWinItem` |
33
+ | `deletePromotionalBigWin` | `PromotionalBigWinKey` | `PromotionalBigWinStatusResponse` |
34
+
35
+ The list includes active and inactive configurations and uses the same page-offset
36
+ convention. Set is a full create-or-replace operation keyed by canonical game ID.
37
+ It requires positive `game_id`, positive integer `frequency`, exact non-negative
38
+ decimal `min_win` and `max_win` with `max_win >= min_win`, and explicit `is_active`.
39
+ The optional boolean preserves absent versus explicitly false on the wire; the
40
+ service must reject absence. Setting false disables selection. Delete is
41
+ idempotent: absence is successful.
42
+
43
+ Amounts are in the authoritative runtime BaseCurrency, with the platform currency
44
+ scale and implementation range validation. They do not encode a fixed currency.
45
+ Frequency is a selection weight, not a count or quota. Timestamps in returned
46
+ configuration items are service-generated ISO timestamps.
47
+
48
+ ## Game authority and seed resolution
49
+
50
+ Existing `game.Game/getProviderCatalogBatch` and `getGameCatalogBatch` expose
51
+ canonical IDs, titles, slugs, provider associations, and availability flags.
52
+ `getGamesByIds` provides card metadata. No game contract change is required.
53
+ Runtime validation must consider game/provider availability: the existing poor
54
+ metadata lookup excludes deactivated content but alone does not check all active
55
+ and hidden flags.
56
+
57
+ Seed matching must join provider identity and game title/slug conservatively,
58
+ report missing/ambiguous matches, and store only resolved game IDs. Invalid source
59
+ rows and conflicting duplicate configurations must be reported and skipped rather
60
+ than defaulted or overwritten according to spreadsheet order.
61
+
62
+ ## Compatibility and rollout
63
+
64
+ This release only adds RPCs and messages. Older clients can call existing methods
65
+ on upgraded servers unchanged. New promotional methods are unavailable on older
66
+ bet servers; gateway must never fall back to genuine wins for a promotional request.
67
+
68
+ Publish the prepared package manually, then verify registry resolution and update
69
+ bet/gateway package locks before their implementation. Deploy the bet migration
70
+ and server support before enabling the gateway selector. The game service must
71
+ already expose the existing catalog and metadata methods. Frontend disclosure
72
+ must be present before promotional mode is exposed to users.
73
+
74
+ On rollback, disable promotional routing before rolling back bet support. Keep
75
+ configuration data unless a separately reviewed migration rollback is intended.
76
+ Package publication alone neither deploys the feature nor runs a migration/seed.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobuf-platform",
3
- "version": "1.2.619",
3
+ "version": "1.2.622",
4
4
  "description": "Protobuf structures",
5
5
  "main": "index.js",
6
6
  "scripts": {