@downcity/services 0.1.109 → 0.1.114

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.
Files changed (83) hide show
  1. package/README.md +16 -9
  2. package/bin/accounts/helpers.d.ts +18 -0
  3. package/bin/accounts/helpers.d.ts.map +1 -0
  4. package/bin/accounts/helpers.js +35 -0
  5. package/bin/accounts/helpers.js.map +1 -0
  6. package/bin/accounts/index.d.ts +19 -8
  7. package/bin/accounts/index.d.ts.map +1 -1
  8. package/bin/accounts/index.js +74 -55
  9. package/bin/accounts/index.js.map +1 -1
  10. package/bin/accounts/oauth.d.ts +1 -1
  11. package/bin/accounts/oauth.d.ts.map +1 -1
  12. package/bin/accounts/oauth.js +4 -4
  13. package/bin/accounts/oauth.js.map +1 -1
  14. package/bin/accounts/providers/email.d.ts +13 -0
  15. package/bin/accounts/providers/email.d.ts.map +1 -0
  16. package/bin/accounts/providers/email.js +33 -0
  17. package/bin/accounts/providers/email.js.map +1 -0
  18. package/bin/accounts/providers/index.d.ts +10 -0
  19. package/bin/accounts/providers/index.d.ts.map +1 -0
  20. package/bin/accounts/providers/index.js +10 -0
  21. package/bin/accounts/providers/index.js.map +1 -0
  22. package/bin/accounts/providers/oauth.d.ts +26 -0
  23. package/bin/accounts/providers/oauth.d.ts.map +1 -0
  24. package/bin/accounts/providers/oauth.js +75 -0
  25. package/bin/accounts/providers/oauth.js.map +1 -0
  26. package/bin/accounts/types.d.ts +176 -0
  27. package/bin/accounts/types.d.ts.map +1 -0
  28. package/bin/accounts/types.js +9 -0
  29. package/bin/accounts/types.js.map +1 -0
  30. package/bin/balance/credits.d.ts +42 -0
  31. package/bin/balance/credits.d.ts.map +1 -0
  32. package/bin/balance/credits.js +67 -0
  33. package/bin/balance/credits.js.map +1 -0
  34. package/bin/balance/index.d.ts +2 -2
  35. package/bin/balance/index.d.ts.map +1 -1
  36. package/bin/balance/index.js +1 -1
  37. package/bin/balance/index.js.map +1 -1
  38. package/bin/balance/routes.d.ts.map +1 -1
  39. package/bin/balance/routes.js +5 -5
  40. package/bin/balance/routes.js.map +1 -1
  41. package/bin/balance/schema.d.ts +12 -12
  42. package/bin/balance/schema.js +12 -12
  43. package/bin/balance/schema.js.map +1 -1
  44. package/bin/balance/service.d.ts +23 -23
  45. package/bin/balance/service.d.ts.map +1 -1
  46. package/bin/balance/service.js +63 -67
  47. package/bin/balance/service.js.map +1 -1
  48. package/bin/balance/types.d.ts +31 -45
  49. package/bin/balance/types.d.ts.map +1 -1
  50. package/bin/balance/types.js +3 -4
  51. package/bin/balance/types.js.map +1 -1
  52. package/bin/balance/utils.d.ts.map +1 -1
  53. package/bin/balance/utils.js +21 -22
  54. package/bin/balance/utils.js.map +1 -1
  55. package/bin/index.d.ts +5 -3
  56. package/bin/index.d.ts.map +1 -1
  57. package/bin/index.js +3 -2
  58. package/bin/index.js.map +1 -1
  59. package/bin/payment/providers/creem/client.js +5 -5
  60. package/bin/payment/providers/creem/client.js.map +1 -1
  61. package/bin/payment/providers/dodo/client.js +5 -5
  62. package/bin/payment/providers/dodo/client.js.map +1 -1
  63. package/bin/payment/providers/stripe/client.js +3 -3
  64. package/bin/payment/providers/stripe/client.js.map +1 -1
  65. package/bin/payment/providers/waffo/client.js +5 -5
  66. package/bin/payment/providers/waffo/client.js.map +1 -1
  67. package/bin/payment/routes.js +1 -1
  68. package/bin/payment/routes.js.map +1 -1
  69. package/bin/payment/schema.d.ts +2 -2
  70. package/bin/payment/schema.js +1 -1
  71. package/bin/payment/schema.js.map +1 -1
  72. package/bin/payment/service.d.ts +2 -2
  73. package/bin/payment/types.d.ts +5 -5
  74. package/bin/payment/types.d.ts.map +1 -1
  75. package/bin/types/Amount.d.ts +8 -12
  76. package/bin/types/Amount.d.ts.map +1 -1
  77. package/bin/types/Amount.js +7 -7
  78. package/bin/types/Amount.js.map +1 -1
  79. package/package.json +2 -2
  80. package/bin/balance/amount.d.ts +0 -53
  81. package/bin/balance/amount.d.ts.map +0 -1
  82. package/bin/balance/amount.js +0 -103
  83. package/bin/balance/amount.js.map +0 -1
@@ -11,7 +11,7 @@ import { rawAll, rawFirst, rawRun } from "./raw.js";
11
11
  import { registerBalanceRoutes } from "./routes.js";
12
12
  import { ACCOUNT_TABLE, CHARGE_TABLE, LEDGER_TABLE, REDEEM_CODE_TABLE, TOPUP_TABLE, balanceAccounts, balanceCharges, balanceLedger, balanceRedeemCodes, balanceTopups, } from "./schema.js";
13
13
  import { generateRedeemCode, hashRedeemCode, maskRedeemCode, mergeMetaJSON, normalizeLimit, normalizeRedeemCode, normalizeRedeemCodeStatus, normalizeText, normalizeUserId, parseAccountRow, parseChargeRow, parseLedgerRow, parseMetaJSON, parseRedeemCodeRow, parseTopupRow, randomId, readRequired, stringifyMeta, } from "./utils.js";
14
- import { microcreditsToCredits, microcreditsToUsdCents, readAmountMicrocredits, readNonNegativeAmountMicrocredits, } from "./amount.js";
14
+ import { creditsToUsdCents, readCredits, readNonNegativeCredits, } from "./credits.js";
15
15
  /**
16
16
  * Balance 服务实例。
17
17
  *
@@ -28,17 +28,16 @@ export class BalanceService extends InstallableService {
28
28
  redeem_codes: balanceRedeemCodes,
29
29
  charges: balanceCharges,
30
30
  };
31
- initMicrocredits;
31
+ initCredits;
32
32
  constructor(options = {}) {
33
33
  super();
34
- this.initMicrocredits = readNonNegativeAmountMicrocredits({
35
- amount: options.init ?? 0,
36
- amount_microcredits: options.init_microcredits,
34
+ this.initCredits = readNonNegativeCredits({
35
+ credits: options.init_credits ?? 0,
37
36
  }, "init");
38
37
  this.instruction = [
39
38
  "提供用户级全局余额、余额流水、充值单与 redeem_code 能力。",
40
- "内部账务与管理端的 `balance` / `amount` / `balance_after` 字段均使用 microcredits 整数;用户侧 `/me` 返回 credits 主字段并附带 microcredits。",
41
- `首次自动开户发放 ${this.initMicrocredits} microcredits。`,
39
+ "内部账务与管理端的 `credits` / `credits_delta` / `credits_after` 字段均使用 credits 整数;用户侧 `/me` 返回 credits 主字段并附带 USD 展示。",
40
+ `首次自动开户发放 ${this.initCredits} credits。`,
42
41
  "推荐在业务侧自行计算扣费金额后调用 charge,把具体计费策略放在业务侧,而不是写死在 BalanceService 内部。",
43
42
  "管理端可查询所有账户、流水、充值单、扣费记录与 redeem_code;用户侧可查询自己的余额、历史记录、充值单,并直接兑换 redeem_code。",
44
43
  ].join("\n");
@@ -61,44 +60,44 @@ export class BalanceService extends InstallableService {
61
60
  *
62
61
  * 余额不足时会抛出 `402 insufficient balance`。
63
62
  */
64
- async require(user_id, amount) {
65
- return await this.requireMicrocredits(user_id, readAmountMicrocredits({ amount }));
63
+ async require(user_id, credits) {
64
+ return await this.requireCredits(user_id, readCredits({ credits }));
66
65
  }
67
66
  /**
68
- * 检查用户余额是否足够,入参单位为 microcredits
67
+ * 检查用户余额是否足够,入参单位为 credits
69
68
  */
70
- async requireMicrocredits(user_id, amount_microcredits) {
69
+ async requireCredits(user_id, credits) {
71
70
  const normalizedUserId = normalizeUserId(user_id);
72
- const normalizedAmount = readAmountMicrocredits({ amount_microcredits });
71
+ const normalizedCredits = readCredits({ credits });
73
72
  const account = await this.read(normalizedUserId);
74
- if (account.balance < normalizedAmount) {
75
- throw httpError(402, `insufficient balance: need ${normalizedAmount} microcredits, current ${account.balance} microcredits`);
73
+ if (account.credits < normalizedCredits) {
74
+ throw httpError(402, `insufficient balance: need ${normalizedCredits} credits, current ${account.credits} credits`);
76
75
  }
77
76
  return account;
78
77
  }
79
78
  /**
80
79
  * 给用户加余额,并写入 `add` 流水。
81
80
  */
82
- async add(user_id, amount, extra = {}) {
83
- return await this.addMicrocredits(user_id, readAmountMicrocredits({ amount }), extra);
81
+ async add(user_id, credits, extra = {}) {
82
+ return await this.addCredits(user_id, readCredits({ credits }), extra);
84
83
  }
85
84
  /**
86
- * 给用户加余额,入参单位为 microcredits
85
+ * 给用户加余额,入参单位为 credits
87
86
  */
88
- async addMicrocredits(user_id, amount_microcredits, extra = {}) {
89
- return await this.applyDelta(normalizeUserId(user_id), readAmountMicrocredits({ amount_microcredits }), "add", extra);
87
+ async addCredits(user_id, credits, extra = {}) {
88
+ return await this.applyDelta(normalizeUserId(user_id), readCredits({ credits }), "add", extra);
90
89
  }
91
90
  /**
92
91
  * 给用户扣余额,并写入 `sub` 流水。
93
92
  */
94
- async sub(user_id, amount, extra = {}) {
95
- return await this.subMicrocredits(user_id, readAmountMicrocredits({ amount }), extra);
93
+ async sub(user_id, credits, extra = {}) {
94
+ return await this.subCredits(user_id, readCredits({ credits }), extra);
96
95
  }
97
96
  /**
98
- * 给用户扣余额,入参单位为 microcredits
97
+ * 给用户扣余额,入参单位为 credits
99
98
  */
100
- async subMicrocredits(user_id, amount_microcredits, extra = {}) {
101
- return await this.applyDelta(normalizeUserId(user_id), -readAmountMicrocredits({ amount_microcredits }), "sub", extra);
99
+ async subCredits(user_id, credits, extra = {}) {
100
+ return await this.applyDelta(normalizeUserId(user_id), -readCredits({ credits }), "sub", extra);
102
101
  }
103
102
  /**
104
103
  * 执行一笔通用扣费,并写入扣费记录与余额流水。
@@ -110,15 +109,13 @@ export class BalanceService extends InstallableService {
110
109
  */
111
110
  async charge(input) {
112
111
  const user_id = normalizeUserId(input.user_id);
113
- const amount_microcredits = readAmountMicrocredits({
114
- amount_microcredits: input.amount_microcredits,
115
- }, "amount");
112
+ const credits = readCredits(input);
116
113
  const charge_id = `chg_${randomId()}`;
117
114
  const note = normalizeText(input.note) || "charge";
118
115
  const ref = normalizeText(input.ref) || charge_id;
119
116
  const metadata = input.metadata ?? input.meta;
120
117
  const now = new Date().toISOString();
121
- await this.applyDelta(user_id, -amount_microcredits, "charge", {
118
+ await this.applyDelta(user_id, -credits, "charge", {
122
119
  note,
123
120
  ref,
124
121
  meta: {
@@ -129,8 +126,7 @@ export class BalanceService extends InstallableService {
129
126
  const charge = {
130
127
  charge_id,
131
128
  user_id,
132
- amount: microcreditsToCredits(amount_microcredits),
133
- amount_microcredits,
129
+ credits,
134
130
  status: "settled",
135
131
  note,
136
132
  ref,
@@ -138,12 +134,12 @@ export class BalanceService extends InstallableService {
138
134
  created_at: now,
139
135
  };
140
136
  await rawRun(this.resolveRaw(), [
141
- `INSERT INTO ${CHARGE_TABLE} (charge_id, user_id, amount_microcredits, status, note, ref, metadata_json, created_at)`,
137
+ `INSERT INTO ${CHARGE_TABLE} (charge_id, user_id, credits, status, note, ref, metadata_json, created_at)`,
142
138
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
143
139
  ].join(" "), [
144
140
  charge.charge_id,
145
141
  charge.user_id,
146
- charge.amount_microcredits,
142
+ charge.credits,
147
143
  charge.status,
148
144
  charge.note,
149
145
  charge.ref,
@@ -176,15 +172,15 @@ export class BalanceService extends InstallableService {
176
172
  *
177
173
  * 这一步不会直接入账,只会生成 `pending` 充值单。
178
174
  */
179
- async createTopup(user_id, amount, extra = {}) {
175
+ async createTopup(user_id, credits, extra = {}) {
180
176
  const normalizedUserId = normalizeUserId(user_id);
181
- const normalizedAmount = readAmountMicrocredits({ amount });
177
+ const normalizedCredits = readCredits({ credits });
182
178
  const now = new Date().toISOString();
183
179
  const topup = {
184
180
  topup_id: `topup_${randomId()}`,
185
181
  user_id: normalizedUserId,
186
- amount: normalizedAmount,
187
- amount_usd_cents: microcreditsToUsdCents(normalizedAmount),
182
+ credits: normalizedCredits,
183
+ usd_cents: creditsToUsdCents(normalizedCredits),
188
184
  status: "pending",
189
185
  note: normalizeText(extra.note),
190
186
  ref: normalizeText(extra.ref),
@@ -194,12 +190,12 @@ export class BalanceService extends InstallableService {
194
190
  };
195
191
  await this.ensureAccount(normalizedUserId);
196
192
  await rawRun(this.resolveRaw(), [
197
- `INSERT INTO ${TOPUP_TABLE} (topup_id, user_id, amount, status, note, ref, metadata_json, created_at, updated_at)`,
193
+ `INSERT INTO ${TOPUP_TABLE} (topup_id, user_id, credits, status, note, ref, metadata_json, created_at, updated_at)`,
198
194
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
199
195
  ].join(" "), [
200
196
  topup.topup_id,
201
197
  topup.user_id,
202
- topup.amount,
198
+ topup.credits,
203
199
  topup.status,
204
200
  topup.note,
205
201
  topup.ref,
@@ -234,7 +230,7 @@ export class BalanceService extends InstallableService {
234
230
  if (changed === 0) {
235
231
  throw httpError(409, "topup is no longer pending");
236
232
  }
237
- await this.applyDelta(current.user_id, current.amount, "topup", {
233
+ await this.applyDelta(current.user_id, current.credits, "topup", {
238
234
  note: normalizeText(extra.note) || current.note || "topup",
239
235
  ref: normalizeText(extra.ref) || topup_id,
240
236
  meta: {
@@ -275,7 +271,7 @@ export class BalanceService extends InstallableService {
275
271
  * 创建一个新的 redeem_code。
276
272
  */
277
273
  async createRedeemCode(input) {
278
- const amount = readAmountMicrocredits(input, "amount");
274
+ const credits = readCredits(input);
279
275
  const now = new Date().toISOString();
280
276
  const code = input.code ? normalizeRedeemCode(input.code) : generateRedeemCode();
281
277
  const codeHash = await hashRedeemCode(code);
@@ -284,7 +280,7 @@ export class BalanceService extends InstallableService {
284
280
  }
285
281
  const redeemCode = {
286
282
  redeem_code_id: `rc_${randomId()}`,
287
- amount,
283
+ credits,
288
284
  status: "active",
289
285
  code_mask: maskRedeemCode(code),
290
286
  note: normalizeText(input.note),
@@ -296,13 +292,13 @@ export class BalanceService extends InstallableService {
296
292
  updated_at: now,
297
293
  };
298
294
  await rawRun(this.resolveRaw(), [
299
- `INSERT INTO ${REDEEM_CODE_TABLE} (redeem_code_id, code_hash, code_mask, amount, status, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at)`,
295
+ `INSERT INTO ${REDEEM_CODE_TABLE} (redeem_code_id, code_hash, code_mask, credits, status, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at)`,
300
296
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
301
297
  ].join(" "), [
302
298
  redeemCode.redeem_code_id,
303
299
  codeHash,
304
300
  redeemCode.code_mask,
305
- redeemCode.amount,
301
+ redeemCode.credits,
306
302
  redeemCode.status,
307
303
  redeemCode.note,
308
304
  redeemCode.ref,
@@ -351,7 +347,7 @@ export class BalanceService extends InstallableService {
351
347
  const latest = await this.readRedeemCodeRequired(current.redeem_code_id);
352
348
  throw httpError(409, `redeem_code is already ${latest.status}`);
353
349
  }
354
- const account = await this.applyDelta(normalizedUserId, current.amount, "redeem", {
350
+ const account = await this.applyDelta(normalizedUserId, current.credits, "redeem", {
355
351
  note: normalizeText(extra.note) || current.note || "redeem_code",
356
352
  ref: normalizeText(extra.ref) || current.redeem_code_id,
357
353
  meta: {
@@ -397,7 +393,7 @@ export class BalanceService extends InstallableService {
397
393
  */
398
394
  async listUsers(limit) {
399
395
  const rows = await rawAll(this.resolveRaw(), [
400
- `SELECT user_id, balance, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
396
+ `SELECT user_id, credits, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
401
397
  "ORDER BY updated_at DESC",
402
398
  "LIMIT ?",
403
399
  ].join(" "), [normalizeLimit(limit)]);
@@ -415,7 +411,7 @@ export class BalanceService extends InstallableService {
415
411
  })()
416
412
  : "";
417
413
  const rows = await rawAll(this.resolveRaw(), [
418
- `SELECT entry_id, user_id, kind, amount, balance_after, note, ref, metadata_json, created_at FROM ${LEDGER_TABLE}`,
414
+ `SELECT entry_id, user_id, kind, credits_delta, credits_after, note, ref, metadata_json, created_at FROM ${LEDGER_TABLE}`,
419
415
  where,
420
416
  "ORDER BY created_at DESC, rowid DESC",
421
417
  "LIMIT ?",
@@ -434,7 +430,7 @@ export class BalanceService extends InstallableService {
434
430
  })()
435
431
  : "";
436
432
  const rows = await rawAll(this.resolveRaw(), [
437
- `SELECT topup_id, user_id, amount, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
433
+ `SELECT topup_id, user_id, credits, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
438
434
  where,
439
435
  "ORDER BY created_at DESC",
440
436
  "LIMIT ?",
@@ -458,7 +454,7 @@ export class BalanceService extends InstallableService {
458
454
  }
459
455
  const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
460
456
  const rows = await rawAll(this.resolveRaw(), [
461
- `SELECT redeem_code_id, amount, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
457
+ `SELECT redeem_code_id, credits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
462
458
  where,
463
459
  "ORDER BY created_at DESC",
464
460
  "LIMIT ?",
@@ -477,7 +473,7 @@ export class BalanceService extends InstallableService {
477
473
  })()
478
474
  : "";
479
475
  const rows = await rawAll(this.resolveRaw(), [
480
- `SELECT charge_id, user_id, amount_microcredits, status, note, ref, metadata_json, created_at FROM ${CHARGE_TABLE}`,
476
+ `SELECT charge_id, user_id, credits, status, note, ref, metadata_json, created_at FROM ${CHARGE_TABLE}`,
481
477
  where,
482
478
  "ORDER BY created_at DESC, rowid DESC",
483
479
  "LIMIT ?",
@@ -499,7 +495,7 @@ export class BalanceService extends InstallableService {
499
495
  if (delta > 0) {
500
496
  await rawRun(this.resolveRaw(), [
501
497
  `UPDATE ${ACCOUNT_TABLE}`,
502
- "SET balance = balance + ?, updated_at = ?",
498
+ "SET credits = credits + ?, updated_at = ?",
503
499
  "WHERE user_id = ?",
504
500
  ].join(" "), [delta, now, user_id]);
505
501
  }
@@ -507,12 +503,12 @@ export class BalanceService extends InstallableService {
507
503
  const spend = Math.abs(delta);
508
504
  const changed = await rawRun(this.resolveRaw(), [
509
505
  `UPDATE ${ACCOUNT_TABLE}`,
510
- "SET balance = balance - ?, updated_at = ?",
511
- "WHERE user_id = ? AND balance >= ?",
506
+ "SET credits = credits - ?, updated_at = ?",
507
+ "WHERE user_id = ? AND credits >= ?",
512
508
  ].join(" "), [spend, now, user_id, spend]);
513
509
  if (changed === 0) {
514
510
  const current = await this.readAccountRequired(user_id);
515
- throw httpError(402, `insufficient balance: need ${spend} microcredits, current ${current.balance} microcredits`);
511
+ throw httpError(402, `insufficient balance: need ${spend} credits, current ${current.credits} credits`);
516
512
  }
517
513
  }
518
514
  const account = await this.readAccountRequired(user_id);
@@ -520,8 +516,8 @@ export class BalanceService extends InstallableService {
520
516
  entry_id: `bal_${randomId()}`,
521
517
  user_id,
522
518
  kind,
523
- amount: delta,
524
- balance_after: account.balance,
519
+ credits_delta: delta,
520
+ credits_after: account.credits,
525
521
  note: normalizeText(extra.note),
526
522
  ref: normalizeText(extra.ref),
527
523
  metadata_json: stringifyMeta(extra.meta),
@@ -535,16 +531,16 @@ export class BalanceService extends InstallableService {
535
531
  async ensureAccount(user_id) {
536
532
  const now = new Date().toISOString();
537
533
  const inserted = await rawRun(this.resolveRaw(), [
538
- `INSERT OR IGNORE INTO ${ACCOUNT_TABLE} (user_id, balance, created_at, updated_at)`,
534
+ `INSERT OR IGNORE INTO ${ACCOUNT_TABLE} (user_id, credits, created_at, updated_at)`,
539
535
  "VALUES (?, ?, ?, ?)",
540
- ].join(" "), [user_id, this.initMicrocredits, now, now]);
541
- if (inserted > 0 && this.initMicrocredits > 0) {
536
+ ].join(" "), [user_id, this.initCredits, now, now]);
537
+ if (inserted > 0 && this.initCredits > 0) {
542
538
  await this.insertLedger({
543
539
  entry_id: `bal_${randomId()}`,
544
540
  user_id,
545
541
  kind: "init",
546
- amount: this.initMicrocredits,
547
- balance_after: this.initMicrocredits,
542
+ credits_delta: this.initCredits,
543
+ credits_after: this.initCredits,
548
544
  note: "initial balance",
549
545
  ref: "",
550
546
  metadata_json: "{}",
@@ -557,7 +553,7 @@ export class BalanceService extends InstallableService {
557
553
  */
558
554
  async readAccountRequired(user_id) {
559
555
  const row = await rawFirst(this.resolveRaw(), [
560
- `SELECT user_id, balance, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
556
+ `SELECT user_id, credits, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
561
557
  "WHERE user_id = ?",
562
558
  ].join(" "), [user_id]);
563
559
  if (!row) {
@@ -570,7 +566,7 @@ export class BalanceService extends InstallableService {
570
566
  */
571
567
  async readTopupRequired(topup_id) {
572
568
  const row = await rawFirst(this.resolveRaw(), [
573
- `SELECT topup_id, user_id, amount, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
569
+ `SELECT topup_id, user_id, credits, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
574
570
  "WHERE topup_id = ?",
575
571
  ].join(" "), [readRequired(topup_id, "topup_id")]);
576
572
  if (!row) {
@@ -583,7 +579,7 @@ export class BalanceService extends InstallableService {
583
579
  */
584
580
  async readRedeemCodeRequired(redeem_code_id) {
585
581
  const row = await rawFirst(this.resolveRaw(), [
586
- `SELECT redeem_code_id, amount, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
582
+ `SELECT redeem_code_id, credits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
587
583
  "WHERE redeem_code_id = ?",
588
584
  ].join(" "), [readRequired(redeem_code_id, "redeem_code_id")]);
589
585
  if (!row) {
@@ -596,7 +592,7 @@ export class BalanceService extends InstallableService {
596
592
  */
597
593
  async readRedeemCodeByHash(codeHash) {
598
594
  const row = await rawFirst(this.resolveRaw(), [
599
- `SELECT redeem_code_id, code_hash, amount, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
595
+ `SELECT redeem_code_id, code_hash, credits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
600
596
  "WHERE code_hash = ?",
601
597
  ].join(" "), [readRequired(codeHash, "code_hash")]);
602
598
  return row
@@ -611,14 +607,14 @@ export class BalanceService extends InstallableService {
611
607
  */
612
608
  async insertLedger(entry) {
613
609
  await rawRun(this.resolveRaw(), [
614
- `INSERT INTO ${LEDGER_TABLE} (entry_id, user_id, kind, amount, balance_after, note, ref, metadata_json, created_at)`,
610
+ `INSERT INTO ${LEDGER_TABLE} (entry_id, user_id, kind, credits_delta, credits_after, note, ref, metadata_json, created_at)`,
615
611
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
616
612
  ].join(" "), [
617
613
  entry.entry_id,
618
614
  entry.user_id,
619
615
  entry.kind,
620
- entry.amount,
621
- entry.balance_after,
616
+ entry.credits_delta,
617
+ entry.credits_after,
622
618
  entry.note,
623
619
  entry.ref,
624
620
  entry.metadata_json,
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,kBAAkB,EAClB,SAAS,GAEV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AAmBrB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,iBAAiB,EACjB,WAAW,EACX,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAStB;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAC3C,EAAE,GAAG,SAAS,CAAC;IACf,IAAI,GAAG,SAAS,CAAC;IACjB,OAAO,GAAG,OAAO,CAAC;IAClB,MAAM,GAAG;QAChB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,kBAAkB;QAChC,OAAO,EAAE,cAAc;KACxB,CAAC;IAEe,WAAW,CAAS;IAErC,YAAY,UAAiC,EAAE;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC;YACxC,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,CAAC;SACnC,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,CAAC,WAAW,GAAG;YACjB,qCAAqC;YACrC,8GAA8G;YAC9G,YAAY,IAAI,CAAC,WAAW,WAAW;YACvC,iEAAiE;YACjE,6EAA6E;SAC9E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO,CAAC,GAA0B;QAChC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC3C,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAe;QAC5C,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,OAAe;QACnD,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;YACxC,MAAM,SAAS,CAAC,GAAG,EAAE,8BAA8B,iBAAiB,qBAAqB,OAAO,CAAC,OAAO,UAAU,CAAC,CAAC;QACtH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,QAAsB,EAAE;QAClE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe,EAAE,QAAsB,EAAE;QACzE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,QAAsB,EAAE;QAClE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe,EAAE,QAAsB,EAAE;QACzE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,QAAQ,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;QACnD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE;YACjD,IAAI;YACJ,GAAG;YACH,IAAI,EAAE;gBACJ,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACnB,SAAS;aACV;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAkB;YAC5B,SAAS;YACT,OAAO;YACP,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,IAAI;YACJ,GAAG;YACH,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9B,eAAe,YAAY,8EAA8E;YACzG,iCAAiC;SAClC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,GAAG;YACV,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,UAAU;SAClB,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAuB;QACpD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC;YAC5B,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;YACjC,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,OAA2B,EAAE,QAAsB,EAAE;QACtF,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAiB;YAC1B,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAAE;YAC/B,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;YAC/C,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/B,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7B,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9B,eAAe,WAAW,yFAAyF;YACnH,oCAAoC;SACrC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,MAAM;YACZ,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,GAAG;YACT,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,UAAU;SACjB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,QAAsB,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,GAAG,EAAE,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9C,UAAU,WAAW,EAAE;YACvB,sEAAsE;YACtE,mCAAmC;SACpC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,MAAM;YACN,GAAG;YACH,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;YACzC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;YACvC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC;YAChD,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;YAC/D,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO;YAC1D,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ;YACzC,IAAI,EAAE;gBACJ,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,QAAQ;aACT;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,QAAsB,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,GAAG,EAAE,oBAAoB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9C,UAAU,WAAW,EAAE;YACvB,sEAAsE;YACtE,mCAAmC;SACpC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,UAAU;YACV,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;YACzC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;YACvC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC;YAChD,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAmC;QACxD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,MAAM,SAAS,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,UAAU,GAAsB;YACpC,cAAc,EAAE,MAAM,QAAQ,EAAE,EAAE;YAClC,OAAO;YACP,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/B,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7B,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,mBAAmB,EAAE,EAAE;YACvB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9B,eAAe,iBAAiB,8IAA8I;YAC9K,6CAA6C;SAC9C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,UAAU,CAAC,cAAc;YACzB,QAAQ;YACR,UAAU,CAAC,SAAS;YACpB,UAAU,CAAC,OAAO;YAClB,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,aAAa;YACxB,UAAU,CAAC,mBAAmB;YAC9B,UAAU,CAAC,WAAW;YACtB,UAAU,CAAC,UAAU;YACrB,UAAU,CAAC,UAAU;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,UAAU;YACb,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,IAAa,EAAE,QAAsB,EAAE;QACvE,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,GAAG,EAAE,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9C,UAAU,iBAAiB,EAAE;YAC7B,gHAAgH;YAChH,yCAAyC;SAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,UAAU;YACV,gBAAgB;YAChB,GAAG;YACH,GAAG;YACH,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;YACzC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;YACvC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC;YAChD,OAAO,CAAC,cAAc;YACtB,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACzE,MAAM,SAAS,CAAC,GAAG,EAAE,0BAA0B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE;YACjF,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,IAAI,aAAa;YAChE,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,cAAc;YACvD,IAAI,EAAE;gBACJ,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACzC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO;YACP,WAAW,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC;SACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,cAAsB,EAAE,QAAsB,EAAE;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,GAAG,EAAE,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9C,UAAU,iBAAiB,EAAE;YAC7B,sEAAsE;YACtE,yCAAyC;SAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,UAAU;YACV,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI;YACzC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;YACvC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC;YAChD,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAuB;QACrC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAiB,IAAI,CAAC,UAAU,EAAE,EAAE;YAC3D,wDAAwD,aAAa,EAAE;YACvE,0BAA0B;YAC1B,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAA6B,EAAE;QAC/C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;YACzB,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,OAAO,mBAAmB,CAAC;YAC7B,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,IAAI,GAAG,MAAM,MAAM,CAAqB,IAAI,CAAC,UAAU,EAAE,EAAE;YAC/D,2GAA2G,YAAY,EAAE;YACzH,KAAK;YACL,sCAAsC;YACtC,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,QAA2B,EAAE;QAC5C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;YACzB,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,OAAO,mBAAmB,CAAC;YAC7B,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,IAAI,GAAG,MAAM,MAAM,CAAe,IAAI,CAAC,UAAU,EAAE,EAAE;YACzD,oGAAoG,WAAW,EAAE;YACjH,KAAK;YACL,0BAA0B;YAC1B,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgC,EAAE;QACtD,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAoB,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9D,8IAA8I,iBAAiB,EAAE;YACjK,KAAK;YACL,0BAA0B;YAC1B,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAA4B,EAAE;QAC9C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;YACzB,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5C,OAAO,mBAAmB,CAAC;YAC7B,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,IAAI,GAAG,MAAM,MAAM,CAAgB,IAAI,CAAC,UAAU,EAAE,EAAE;YAC1D,yFAAyF,YAAY,EAAE;YACvG,KAAK;YACL,sCAAsC;YACtC,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CACtB,OAAe,EACf,KAAa,EACb,IAAuB,EACvB,KAAmB;QAEnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;gBAC9B,UAAU,aAAa,EAAE;gBACzB,2CAA2C;gBAC3C,mBAAmB;aACpB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;gBAC9C,UAAU,aAAa,EAAE;gBACzB,2CAA2C;gBAC3C,oCAAoC;aACrC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAE3C,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,SAAS,CAAC,GAAG,EAAE,8BAA8B,KAAK,qBAAqB,OAAO,CAAC,OAAO,UAAU,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,YAAY,CAAC;YACtB,QAAQ,EAAE,OAAO,QAAQ,EAAE,EAAE;YAC7B,OAAO;YACP,IAAI;YACJ,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,OAAO;YAC9B,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/B,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7B,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,OAAe;QACzC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC/C,yBAAyB,aAAa,6CAA6C;YACnF,qBAAqB;SACtB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAEpD,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,YAAY,CAAC;gBACtB,QAAQ,EAAE,OAAO,QAAQ,EAAE,EAAE;gBAC7B,OAAO;gBACP,IAAI,EAAE,MAAM;gBACZ,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,EAAE;gBACP,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC/C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAiB,IAAI,CAAC,UAAU,EAAE,EAAE;YAC5D,wDAAwD,aAAa,EAAE;YACvE,mBAAmB;SACpB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC9C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAe,IAAI,CAAC,UAAU,EAAE,EAAE;YAC1D,oGAAoG,WAAW,EAAE;YACjH,oBAAoB;SACrB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,cAAsB;QACzD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAoB,IAAI,CAAC,UAAU,EAAE,EAAE;YAC/D,8IAA8I,iBAAiB,EAAE;YACjK,0BAA0B;SAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,0BAA0B,cAAc,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAsB,IAAI,CAAC,UAAU,EAAE,EAAE;YACjE,yJAAyJ,iBAAiB,EAAE;YAC5K,qBAAqB;SACtB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,GAAG;YACR,CAAC,CAAC;gBACE,GAAG,kBAAkB,CAAC,GAAG,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;aACjC;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,KAAyB;QAClD,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC9B,eAAe,YAAY,gGAAgG;YAC3H,oCAAoC;SACrC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACX,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,GAAG;YACT,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -2,10 +2,9 @@
2
2
  * Balance 服务对外类型定义。
3
3
  *
4
4
  * 关键说明(中文)
5
- * - 存储与计算使用 microcredits,1 credit = 1_000_000 microcredits
6
- * - 管理端与内部账务字段使用普通业务名:`balance` / `amount` / `balance_after`
7
- * - 这些账务字段的数值单位是 microcredits;说明只放在文档里,不放字段名里
8
- * - 用户侧 `/v1/balance/me` 以 credits 作为主展示单位,并附带 microcredits 与换算信息
5
+ * - credits 是唯一账务单位,1 USD = 1_000_000 credits
6
+ * - `credits` / `credits_delta` / `credits_after` 的数值单位均为 credits 整数
7
+ * - 用户侧 `/v1/balance/me` 以 `credits` 作为主字段,并附带 USD 展示信息
9
8
  * - `redeem_code` 是一次性兑换码,用于直接给用户充值
10
9
  * - 充值单 `topup` 与 `redeem_code` 是两条不同语义的充值链路
11
10
  */
@@ -15,16 +14,9 @@
15
14
  export interface BalanceServiceOptions {
16
15
  /**
17
16
  * 首次自动开户时要发放的初始余额,单位为 credits。
18
- *
19
- * 默认值为 `0`。允许最多 6 位小数,内部会转成 microcredits。
20
- */
21
- init?: number;
22
- /**
23
- * 首次自动开户时要发放的初始余额,单位为 microcredits。
24
- *
25
- * 设置后优先级高于 `init`。
17
+ * 默认值为 `0`。
26
18
  */
27
- init_microcredits?: number;
19
+ init_credits?: number;
28
20
  }
29
21
  /**
30
22
  * 余额附加信息。
@@ -72,9 +64,9 @@ export interface BalanceAccount extends Record<string, unknown> {
72
64
  */
73
65
  user_id: string;
74
66
  /**
75
- * 当前可用余额,单位为 microcredits
67
+ * 当前可用余额,单位为 credits
76
68
  */
77
- balance: number;
69
+ credits: number;
78
70
  /**
79
71
  * 账户创建时间。
80
72
  */
@@ -85,17 +77,17 @@ export interface BalanceAccount extends Record<string, unknown> {
85
77
  updated_at: string;
86
78
  }
87
79
  /**
88
- * credits 换算说明。
80
+ * credits 与 USD 换算说明。
89
81
  */
90
82
  export interface BalanceCreditsConversion extends Record<string, unknown> {
91
83
  /**
92
- * 一个 credit 对应多少 microcredits
84
+ * 1 USD 对应多少 credits
93
85
  */
94
- microcredits_per_credit: number;
86
+ credits_per_usd: number;
95
87
  /**
96
- * credits 最多保留的小数位数。
88
+ * USD 展示最多保留的小数位数。
97
89
  */
98
- credit_decimals: number;
90
+ usd_decimals: number;
99
91
  }
100
92
  /**
101
93
  * 用户侧余额展示对象。
@@ -108,21 +100,21 @@ export interface BalanceUserBalance extends Record<string, unknown> {
108
100
  /**
109
101
  * 当前余额,单位为 credits。
110
102
  */
111
- balance: number;
103
+ credits: number;
112
104
  /**
113
105
  * 主余额字段的单位。
114
106
  */
115
107
  unit: "credits";
116
108
  /**
117
- * 对应的原始 microcredits 整数。
109
+ * 当前余额换算后的 USD 数字。
118
110
  */
119
- microcredits: number;
111
+ usd: number;
120
112
  /**
121
- * credits 与 microcredits 的换算说明。
113
+ * credits 与 USD 的换算说明。
122
114
  */
123
115
  conversion: BalanceCreditsConversion;
124
116
  /**
125
- * 适合直接展示给用户的 credits 文本。
117
+ * 适合直接展示给用户的 USD 文本。
126
118
  */
127
119
  display: string;
128
120
  /**
@@ -151,17 +143,17 @@ export interface BalanceLedgerEntry extends Record<string, unknown> {
151
143
  */
152
144
  kind: BalanceLedgerKind;
153
145
  /**
154
- * 本次变动金额,单位为 microcredits
146
+ * 本次变动的 credits
155
147
  *
156
148
  * 约定:
157
149
  * - 加款为正数
158
150
  * - 扣款为负数
159
151
  */
160
- amount: number;
152
+ credits_delta: number;
161
153
  /**
162
- * 本次变动后的余额快照,单位为 microcredits
154
+ * 本次变动后的余额快照,单位为 credits
163
155
  */
164
- balance_after: number;
156
+ credits_after: number;
165
157
  /**
166
158
  * 流水说明。
167
159
  */
@@ -192,13 +184,13 @@ export interface BalanceTopup extends Record<string, unknown> {
192
184
  */
193
185
  user_id: string;
194
186
  /**
195
- * 充值金额,单位为 microcredits
187
+ * 充值额度,单位为 credits
196
188
  */
197
- amount: number;
189
+ credits: number;
198
190
  /**
199
191
  * 充值金额,单位为 USD cents。
200
192
  */
201
- amount_usd_cents: number;
193
+ usd_cents: number;
202
194
  /**
203
195
  * 当前状态。
204
196
  */
@@ -233,9 +225,9 @@ export interface BalanceRedeemCode extends Record<string, unknown> {
233
225
  */
234
226
  redeem_code_id: string;
235
227
  /**
236
- * 充值金额,单位为 microcredits
228
+ * 充值额度,单位为 credits
237
229
  */
238
- amount: number;
230
+ credits: number;
239
231
  /**
240
232
  * 当前状态。
241
233
  */
@@ -283,10 +275,8 @@ export interface BalanceRedeemCode extends Record<string, unknown> {
283
275
  export interface BalanceCreateRedeemCodeInput extends BalanceExtra {
284
276
  /**
285
277
  * 兑换成功后要充值到用户账户的额度,单位为 credits。
286
- *
287
- * 服务内部会转换成 microcredits 存储。
288
278
  */
289
- amount: number;
279
+ credits: number;
290
280
  /**
291
281
  * 可选自定义兑换码明文。
292
282
  *
@@ -327,9 +317,9 @@ export interface BalanceChargeInput extends BalanceExtra {
327
317
  */
328
318
  user_id: string;
329
319
  /**
330
- * 扣费金额,单位为 microcredits
320
+ * 扣费额度,单位为 credits
331
321
  */
332
- amount_microcredits: number;
322
+ credits: number;
333
323
  /**
334
324
  * 结构化扣费审计信息。
335
325
  *
@@ -351,13 +341,9 @@ export interface BalanceCharge extends Record<string, unknown> {
351
341
  */
352
342
  user_id: string;
353
343
  /**
354
- * 扣费金额,单位为 credits。
355
- */
356
- amount: number;
357
- /**
358
- * 扣费金额,单位为 microcredits。
344
+ * 扣费额度,单位为 credits。
359
345
  */
360
- amount_microcredits: number;
346
+ credits: number;
361
347
  /**
362
348
  * 扣费状态。
363
349
  */