import { SwSubscriptions } from "../../../../models/index.js";
import define from "../../define.js";
export const meta = {
    tags: [
        "account"
    ],
    requireCredential: true,
    description: "Check push notification registration exists.",
    res: {
        type: "object",
        optional: false,
        nullable: true,
        properties: {
            userId: {
                type: "string",
                optional: false,
                nullable: false
            },
            endpoint: {
                type: "string",
                optional: false,
                nullable: false
            },
            sendReadMessage: {
                type: "boolean",
                optional: false,
                nullable: false
            }
        }
    }
};
export const paramDef = {
    type: "object",
    properties: {
        endpoint: {
            type: "string"
        }
    },
    required: [
        "endpoint"
    ]
};
// eslint-disable-next-line import/no-default-export
export default define(meta, paramDef, async (ps, me)=>{
    const subscription = await SwSubscriptions.findOneBy({
        userId: me.id,
        endpoint: ps.endpoint
    });
    if (subscription != null) {
        return {
            userId: subscription.userId,
            endpoint: subscription.endpoint,
            sendReadMessage: subscription.sendReadMessage
        };
    }
    return null;
});
