Initialize credit earning ledger arrays
This commit is contained in:
@@ -66,8 +66,14 @@ public sealed class CreditStore
|
|||||||
value => value.UserId == userId,
|
value => value.UserId == userId,
|
||||||
Builders<UserCreditAccount>.Update
|
Builders<UserCreditAccount>.Update
|
||||||
.SetOnInsert(value => value.UserId, userId)
|
.SetOnInsert(value => value.UserId, userId)
|
||||||
|
.SetOnInsert(value => value.Credits, 0)
|
||||||
|
.SetOnInsert(value => value.RecentEarnings, [])
|
||||||
.SetOnInsert(value => value.UpdatedUtc, now),
|
.SetOnInsert(value => value.UpdatedUtc, now),
|
||||||
new UpdateOptions { IsUpsert = true });
|
new UpdateOptions { IsUpsert = true });
|
||||||
|
await _accounts.UpdateOneAsync(
|
||||||
|
Builders<UserCreditAccount>.Filter.Eq(value => value.UserId, userId) &
|
||||||
|
Builders<UserCreditAccount>.Filter.Exists(nameof(UserCreditAccount.RecentEarnings), false),
|
||||||
|
Builders<UserCreditAccount>.Update.Set(value => value.RecentEarnings, []));
|
||||||
var cutoff = now - CreditEconomy.EarningWindow;
|
var cutoff = now - CreditEconomy.EarningWindow;
|
||||||
await _accounts.UpdateOneAsync(
|
await _accounts.UpdateOneAsync(
|
||||||
value => value.UserId == userId,
|
value => value.UserId == userId,
|
||||||
|
|||||||
Reference in New Issue
Block a user