From 2402f88e0e907877a295350c57d2dd88edff6cd0 Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Mon, 5 Feb 2024 19:11:10 +0000 Subject: Handle visibility in attendee model --- src/lib/activitypub.ts | 4 ++-- src/models/Event.ts | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/activitypub.ts b/src/lib/activitypub.ts index 31c75ce..a06991d 100644 --- a/src/lib/activitypub.ts +++ b/src/lib/activitypub.ts @@ -1,5 +1,5 @@ import { Request, Response } from "express"; -import Event from "../models/Event.js"; +import Event, { IAttendee } from "../models/Event.js"; import { sendDirectMessage } from "../activitypub.js"; import { successfulRSVPResponse } from "./activitypub/templates.js"; @@ -142,7 +142,7 @@ export const handlePollResponse = async (req: Request, res: Response) => { if (!event.attendees?.some((el) => el.id === attributedTo)) { const attendeeName = apActor.preferredUsername || apActor.name || attributedTo; - const newAttendee = { + const newAttendee: Partial = { name: attendeeName, status: "attending", id: attributedTo, diff --git a/src/models/Event.ts b/src/models/Event.ts index 94be087..f67d40b 100644 --- a/src/models/Event.ts +++ b/src/models/Event.ts @@ -9,6 +9,7 @@ export interface IAttendee { number?: number; created?: Date; _id: string; + visibility?: "public" | "private"; } export interface IReply { @@ -105,6 +106,11 @@ const Attendees = new mongoose.Schema({ trim: true, default: 1, }, + visibility: { + type: String, + trim: true, + default: "public", + }, created: Date, }); -- cgit v1.2.3