Files
AnimeTV-Backend/backup/modules/userSession/services/createUserSession.service.ts
Rafi Arrafif 8532d7e104 🚚 create backup folder
create backup folder for archive the old modules
2025-07-18 23:20:15 +07:00

28 lines
1.0 KiB
TypeScript

import { createUserSessionServiceParams } from "../userSession.types";
import { createUserSessionRepo } from "../repositories/insertUserSessionToDB.repository";
import { storeUserSessionToCacheRepo } from "../repositories/storeUserSessionToCache.repository";
import { ErrorForwarder } from "../../../helpers/error/instances/forwarder";
export const createUserSessionService = async (
data: createUserSessionServiceParams
) => {
const sessionLifetime = Number(process.env.SESSION_EXPIRE!);
try {
const newUserSession = await createUserSessionRepo({
userId: data.userId,
isAuthenticated: true,
deviceType: data.userHeaderInformation.deviceType,
deviceOs: data.userHeaderInformation.deviceOS,
deviceIp: data.userHeaderInformation.ip,
validUntil: new Date(new Date().getTime() + sessionLifetime * 1000),
});
const timeExpires = Number(process.env.SESSION_EXPIRE!);
await storeUserSessionToCacheRepo(newUserSession, timeExpires);
return newUserSession;
} catch (error) {
ErrorForwarder(error);
}
};