diff --git a/src/Clerk/clerk.service.ts b/src/Clerk/clerk.service.ts index 9a8be43..732cd8f 100644 --- a/src/Clerk/clerk.service.ts +++ b/src/Clerk/clerk.service.ts @@ -2,11 +2,14 @@ import { Injectable, Logger } from '@nestjs/common' import { PrismaService } from '../Prisma/prisma.service' import { clerkClient, WebhookEventType } from '@clerk/express' - +import { RedisService } from '../Redis/redis.service' export interface ClerkResponse {} @Injectable() export class ClerkService { - constructor(private readonly prisma: PrismaService) {} + constructor( + private readonly prisma: PrismaService, + private readonly redis: RedisService, + ) {} webhook(body: any) { // get the event type const eventType = body.type @@ -117,19 +120,25 @@ export class ClerkService { // to do: get session info } - eventSessionRevoked(data: any) { + async eventSessionRevoked(data: any) { Logger.log(data, 'ClerkService') + // invalidate session from redis + await this.redis.del(`session:${data.session_id}`) } - eventSessionRemoved(data: any) { + async eventSessionRemoved(data: any) { Logger.log(data, 'ClerkService') + // invalidate session from redis + await this.redis.del(`session:${data.session_id}`) } - eventSessionEnded(data: any) { + async eventSessionEnded(data: any) { Logger.log(data, 'ClerkService') + // invalidate session from redis + await this.redis.del(`session:${data.session_id}`) } - eventEmailCreated(data: any) { + async eventEmailCreated(data: any) { Logger.log(data, 'ClerkService') } }