Files
calendar/packages/trpc/server/routers/loggedInViewer/removeNotificationsSubscription.handler.ts
T
Udit TakkarandGitHub 860d173f0a feat: instant meeting browser notifcations (#16480)
* feat: instant meeting browser notifcations

* chore: support multiple notifications

* chore: save progress

* fix: add test notification and move file

* fix: type err

* chore: feedback improvements

* chore: undo DENY
2024-09-11 18:02:14 +04:00

35 lines
936 B
TypeScript

import prisma from "@calcom/prisma";
import type { TrpcSessionUser } from "@calcom/trpc/server/trpc";
import type { TRemoveNotificationsSubscriptionInputSchema } from "./removeNotificationsSubscription.schema";
type AddSecondaryEmailOptions = {
ctx: {
user: NonNullable<TrpcSessionUser>;
};
input: TRemoveNotificationsSubscriptionInputSchema;
};
export const removeNotificationsSubscriptionHandler = async ({ ctx }: AddSecondaryEmailOptions) => {
const { user } = ctx;
// We just use findFirst because there will only be single unique subscription for a user
const subscriptionToDelete = await prisma.notificationsSubscriptions.findFirst({
where: {
userId: user.id,
},
});
if (subscriptionToDelete) {
await prisma.notificationsSubscriptions.delete({
where: {
id: subscriptionToDelete.id,
},
});
}
return {
message: "Subscription removed successfully",
};
};