Improve membership flow, play library, and mobile tactics board
This commit is contained in:
+5
-1
@@ -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(); },
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user