Compare commits

..

1 Commits

Author SHA1 Message Date
67ee1d147b ensure that leaderboard-displayName pair is unique
Some checks failed
Build / build (22) (push) Waiting to run
Build / build (20) (push) Has been cancelled
Build / build (18) (push) Has been cancelled
Build / build (20) (pull_request) Successful in 46s
Build / build (18) (pull_request) Successful in 1m15s
Build / build (22) (pull_request) Successful in 1m23s
2025-03-24 14:31:43 +01:00

View File

@ -13,6 +13,7 @@ const leaderboardEntrySchema = new Schema<ILeaderboardEntryDatabase>(
);
leaderboardEntrySchema.index({ leaderboard: 1 });
leaderboardEntrySchema.index({ leaderboard: 1, displayName: 1 }, { unique: true });
leaderboardEntrySchema.index({ expiry: 1 }, { expireAfterSeconds: 0 }); // With this, MongoDB will automatically delete expired entries.
export const Leaderboard = model<ILeaderboardEntryDatabase>("Leaderboard", leaderboardEntrySchema);