* feat: web push notifications feature * Revert yarn.lock changes * added new env variables requirement in .env.example * moved useNotifications hook in packages/lib/hooks * fix: bug * use i18n * chore: move to new file * chore: add yarn.lock * Update .env.example Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com> * chore: add instruction for brave browser * fix: tooltip * chore: use enum * chore * small update --------- Co-authored-by: Peer Richelsen <peeroke@gmail.com> Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Co-authored-by: Udit Takkar <udit222001@gmail.com> Co-authored-by: Peer Richelsen <peer@cal.com> Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com> Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Co-authored-by: unknown <adhabal2002@gmail.com> Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
37 lines
997 B
TypeScript
37 lines
997 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, input }: AddSecondaryEmailOptions) => {
|
|
const { user } = ctx;
|
|
const { subscription } = input;
|
|
|
|
// 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,
|
|
subscription,
|
|
},
|
|
});
|
|
|
|
if (subscriptionToDelete) {
|
|
await prisma.notificationsSubscriptions.delete({
|
|
where: {
|
|
id: subscriptionToDelete.id,
|
|
},
|
|
});
|
|
}
|
|
|
|
return {
|
|
message: "Subscription removed successfully",
|
|
};
|
|
};
|