streamflix-api / src /shared /keys /auth.keys.ts
Akshar2325
✨ feat(admin): introduce super admin models and authentication
f3abb0d
Raw
History Blame
1.36 kB
import { JwtVerifyOptions } from '@nestjs/jwt';
import type { StringValue } from 'ms';
export enum TOKEN_TYPE {
REFRESH = 'REFRESH',
ACCESS = 'ACCESS',
}
export enum TOKEN_USER_TYPE {
USER = 'USER',
SUPER_ADMIN = 'SUPER_ADMIN',
}
export const jwtAuthConstants = {
accessTokenSecret: process.env.JWT_ACCESS_SECRET || 'default-access-secret',
refreshTokenSecret:
process.env.JWT_REFRESH_SECRET || 'default-refresh-secret',
accessTokenExpiresIn: (process.env.JWT_ACCESS_EXPIRES_IN ||
'24h') as StringValue,
refreshTokenExpiresIn: (process.env.JWT_REFRESH_EXPIRES_IN ||
'7d') as StringValue,
};
export const refreshTokenSignSettings = {
secret: jwtAuthConstants.refreshTokenSecret,
expiresIn: jwtAuthConstants.refreshTokenExpiresIn,
};
export const accessTokenSignSettings = {
secret: jwtAuthConstants.accessTokenSecret,
expiresIn: jwtAuthConstants.accessTokenExpiresIn,
};
export const accessTokenVerifySettings: JwtVerifyOptions = {
secret: jwtAuthConstants.accessTokenSecret,
};
export const refreshTokenVerifySettings: JwtVerifyOptions = {
secret: jwtAuthConstants.refreshTokenSecret,
};
export const AuthMessages = {
ACCESS_TOKEN_VALID: 'Access token is already valid.',
REFRESH_TOKEN_INVALID: 'Refresh token is expired.',
LOGIN_SUCCESS: 'Login successful',
LOGOUT_SUCCESS: 'Logout successful',
};