iceshrimp-legacy/packages/backend/src/server/api/endpoints/notifications/mark-all-as-read.ts
ThatOneCalculator 7c2dabd047
no more eslint
2023-01-12 20:54:33 -08:00

37 lines
818 B
TypeScript

import { publishMainStream } from "@/services/stream.js";
import { pushNotification } from "@/services/push-notification.js";
import { Notifications } from "@/models/index.js";
import define from "../../define.js";
export const meta = {
tags: ["notifications", "account"],
requireCredential: true,
kind: "write:notifications",
} as const;
export const paramDef = {
type: "object",
properties: {},
required: [],
} as const;
export default define(meta, paramDef, async (ps, user) => {
// Update documents
await Notifications.update(
{
notifieeId: user.id,
isRead: false,
},
{
isRead: true,
},
);
// 全ての通知を読みましたよというイベントを発行
publishMainStream(user.id, "readAllNotifications");
pushNotification(user.id, "readAllNotifications", undefined);
});