import { SwSubscriptions } from "../../../../models/index.js"; import define from "../../define.js"; export const meta = { tags: [ "account" ], requireCredential: true, description: "Unregister from receiving push notifications." }; export const paramDef = { type: "object", properties: { endpoint: { type: "string" }, sendReadMessage: { type: "boolean" } }, required: [ "endpoint" ] }; export default define(meta, paramDef, async (ps, me)=>{ const swSubscription = await SwSubscriptions.findOneBy({ userId: me.id, endpoint: ps.endpoint }); if (swSubscription === null) { throw new Error("No such registration"); } if (ps.sendReadMessage !== undefined) { swSubscription.sendReadMessage = ps.sendReadMessage; } await SwSubscriptions.update(swSubscription.id, { sendReadMessage: swSubscription.sendReadMessage }); return { userId: swSubscription.userId, endpoint: swSubscription.endpoint, sendReadMessage: swSubscription.sendReadMessage }; });