Skip to content

Commit 21557c9

Browse files
committed
fixed migration script 6 when event is missing an organizer-space entry
1 parent 64f4c63 commit 21557c9

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

cloud/functions/src/functions/firestore/migrations/006-createOrganizerSpaceRatings.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,29 @@ import {getSecretTokenRef} from "../firestore-utils";
44
import {TalkAttendeeFeedback} from "../../../../../../shared/talk-feedbacks.firestore";
55
import {firestore} from "firebase-admin";
66
import DocumentReference = firestore.DocumentReference;
7+
import {v4 as uuidv4} from "uuid";
8+
import {
9+
ConferenceOrganizerSpace
10+
} from "../../../../../../shared/conference-organizer-space.firestore";
711

812
export async function createOrganizerSpaceRatings(): Promise<"OK"|"Error"> {
913
const existingEvents = await db.collection("events").listDocuments()
1014

1115
await Promise.all(existingEvents.map(async event => {
16+
const organizerSpaceDocRefs = await db.collection(`/events/${event.id}/organizer-space`).listDocuments()
17+
if(organizerSpaceDocRefs.length === 0) {
18+
const organizerSecretToken = uuidv4();
19+
const organizerSpaceContent: ConferenceOrganizerSpace = {
20+
organizerSecretToken,
21+
talkFeedbackViewerTokens: []
22+
}
23+
24+
await Promise.all([
25+
db.collection(`/events/${event.id}/organizer-space`).doc(organizerSecretToken).set(organizerSpaceContent),
26+
db.collection(`/events/${event.id}/organizer-space`).doc(organizerSecretToken).collection('ratings').doc('self').create({}),
27+
])
28+
}
29+
1230
const organizerSpaceRef = await getSecretTokenRef(`/events/${event.id}/organizer-space`)
1331

1432
const talkRefs = await db.collection(`/events/${event.id}/talks`).listDocuments()

0 commit comments

Comments
 (0)