Files
outline/server/presenters/notification.ts
2024-05-24 05:29:00 -07:00

31 lines
1007 B
TypeScript

import { Notification } from "@server/models";
import { APIContext } from "@server/types";
import presentUser from "./user";
import { presentComment, presentDocument } from ".";
export default async function presentNotification(
ctx: APIContext | undefined,
notification: Notification
) {
return {
id: notification.id,
viewedAt: notification.viewedAt,
archivedAt: notification.archivedAt,
createdAt: notification.createdAt,
event: notification.event,
userId: notification.userId,
actorId: notification.actorId,
actor: notification.actor ? presentUser(notification.actor) : undefined,
commentId: notification.commentId,
comment: notification.comment
? presentComment(notification.comment)
: undefined,
documentId: notification.documentId,
document: notification.document
? await presentDocument(ctx, notification.document)
: undefined,
revisionId: notification.revisionId,
collectionId: notification.collectionId,
};
}