Improve membership flow, play library, and mobile tactics board

This commit is contained in:
2026-09-08 18:55:48 +09:00
parent aa5ce697ad
commit 680cb21c80
15 changed files with 1136 additions and 82 deletions
+5 -1
View File
@@ -15,6 +15,7 @@ export async function createMongoStore(options = {}) {
const sessions = database.collection('sessions');
const teams = database.collection('teams');
const teamMembers = database.collection('team_members');
const joinRequests = database.collection('team_join_requests');
const plays = database.collection('plays');
try {
await Promise.all([
@@ -23,6 +24,9 @@ export async function createMongoStore(options = {}) {
sessions.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 }),
teamMembers.createIndex({ teamId: 1, userId: 1 }, { unique: true }),
teamMembers.createIndex({ userId: 1 }),
joinRequests.createIndex({ teamId: 1, userId: 1 }, { unique: true }),
joinRequests.createIndex({ teamId: 1, status: 1, createdAt: 1 }),
joinRequests.createIndex({ userId: 1, updatedAt: -1 }),
plays.createIndex({ teamId: 1, id: 1 }, { unique: true }),
plays.createIndex({ teamId: 1, updatedAt: -1 }),
]);
@@ -31,7 +35,7 @@ export async function createMongoStore(options = {}) {
throw error;
}
return {
client, database, users, sessions, teams, teamMembers, plays,
client, database, users, sessions, teams, teamMembers, joinRequests, plays,
async close() { if (!options.client) await client.close(); },
};
}