add invite staff

This commit is contained in:
2024-10-27 16:48:56 +07:00
parent cb6a210308
commit 1a7b5a5fb6
6 changed files with 81 additions and 13 deletions

View File

@@ -1,9 +1,11 @@
import { Module } from '@nestjs/common';
import { CommonGraphqlError } from './graphql/common.graphql.error';
import { Global, Module } from '@nestjs/common';
import { CommonGraphqlError } from './graphql/common.graphql.error';
import { JwtUtils } from './utils/jwt.utils';
@Global()
@Module({
imports: [],
providers: [CommonGraphqlError],
exports: [CommonGraphqlError],
providers: [CommonGraphqlError, JwtUtils],
exports: [CommonGraphqlError, JwtUtils],
})
export class CommonModule {}

View File

@@ -0,0 +1,29 @@
import { sign, verify } from 'jsonwebtoken';
import { Injectable } from '@nestjs/common';
@Injectable()
export class JwtUtils {
signToken(payload: string, expiresIn: string) {
return sign(payload, process.env.JWT_SECRET!, { expiresIn });
}
//eslint-disable-next-line @typescript-eslint/no-explicit-any
signTokenRS256(payload: any, expiresIn: string) {
const privateKey = process.env.JWT_RS256_PRIVATE_KEY!;
return sign(payload, privateKey, {
algorithm: 'RS256',
expiresIn,
});
}
verifyTokenRS256(token: string) {
const publicKey = process.env.JWT_RS256_PUBLIC_KEY!;
return verify(token, publicKey, {
algorithms: ['RS256'],
});
}
verifyToken(token: string) {
return verify(token, process.env.JWT_SECRET!);
}
}