diff --git a/src/modules/userSession/controller/createUserSession.controller.ts b/src/modules/userSession/controller/createUserSession.controller.ts index af25513..e15ba58 100644 --- a/src/modules/userSession/controller/createUserSession.controller.ts +++ b/src/modules/userSession/controller/createUserSession.controller.ts @@ -16,6 +16,7 @@ export const createUserSessionRole = async ( return returnErrorResponse(ctx.set, 400, "User ID is required"); } + // Get user device and browser information const userHeaderData = getUserHeaderInformation(ctx); try { diff --git a/src/modules/userSession/services/createUserSession.service.ts b/src/modules/userSession/services/createUserSession.service.ts index e68aaf8..c2359d3 100644 --- a/src/modules/userSession/services/createUserSession.service.ts +++ b/src/modules/userSession/services/createUserSession.service.ts @@ -1,5 +1,6 @@ import { createUserSessionServiceParams } from "../userSession.types"; import { createUserSessionRepo } from "../userSession.repository"; +import { redis } from "../../../utils/databases/redis/connection"; export const createUserSessionService = async ( data: createUserSessionServiceParams @@ -14,6 +15,14 @@ export const createUserSessionService = async ( deviceIp: data.userHeaderInformation.ip, validUntil: new Date(new Date().getTime() + sessionLifetime * 1000), }); + + await redis.set( + `${process.env.app_name}:users:${data.userId}:sessions:${newUserSession.id}`, + String(newUserSession.validUntil), + "EX", + Number(process.env.SESSION_EXPIRE!) + ); + return newUserSession; } catch (error) { throw error;