default values for env and critic check for values

This commit is contained in:
Julian Krauser 2024-08-25 18:07:34 +02:00
parent b3d1c2d729
commit d889f92643
8 changed files with 92 additions and 27 deletions

View file

@ -1,10 +1,11 @@
import jwt from "jsonwebtoken";
import { JWTData } from "../type/jwtTypes";
import { JWT_SECRET, JWT_EXPIRATION } from "../env.defaults";
export abstract class JWTHelper {
static validate(token: string): Promise<string | jwt.JwtPayload> {
return new Promise<string | jwt.JwtPayload>((resolve, reject) => {
jwt.verify(token, process.env.JWT_SECRET, (err, decoded) => {
jwt.verify(token, JWT_SECRET, (err, decoded) => {
if (err) reject(err.message);
else resolve(decoded);
});
@ -15,9 +16,9 @@ export abstract class JWTHelper {
return new Promise<string>((resolve, reject) => {
jwt.sign(
data,
process.env.JWT_SECRET,
JWT_SECRET,
{
expiresIn: process.env.JWT_EXPIRATION,
expiresIn: JWT_EXPIRATION,
},
(err, token) => {
if (err) reject(err.message);

View file

@ -1,16 +1,17 @@
import { Transporter, createTransport, TransportOptions } from "nodemailer";
import { CLUB_NAME, MAIL_HOST, MAIL_PASSWORD, MAIL_PORT, MAIL_SECURE, MAIL_USERNAME } from "../env.defaults";
export default class MailHelper {
private readonly transporter: Transporter;
constructor() {
this.transporter = createTransport({
host: process.env.MAIL_HOST,
port: Number(process.env.MAIL_PORT),
secure: (process.env.MAIL_SECURE as "true" | "false") == "true",
host: MAIL_HOST,
port: MAIL_PORT,
secure: (MAIL_SECURE as "true" | "false") == "true",
auth: {
user: process.env.MAIL_USERNAME,
pass: process.env.MAIL_PASSWORD,
user: MAIL_USERNAME,
pass: MAIL_PASSWORD,
},
} as TransportOptions);
}
@ -26,7 +27,7 @@ export default class MailHelper {
return new Promise((resolve, reject) => {
this.transporter
.sendMail({
from: `"${process.env.CLUB_NAME}" <${process.env.MAIL_USERNAME}>`,
from: `"${CLUB_NAME}" <${MAIL_USERNAME}>`,
to: target,
subject,
text: content,

View file

@ -1,11 +1,14 @@
import crypto from "crypto";
export abstract class StringHelper {
static random(len: number, charSet?: string): string {
charSet = charSet || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var randomString = "";
for (var i = 0; i < len; i++) {
var randomPoz = Math.floor(Math.random() * charSet.length);
randomString += charSet.substring(randomPoz, randomPoz + 1);
}
return randomString;
// charSet = charSet || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
// var randomString = "";
// for (var i = 0; i < len; i++) {
// var randomPoz = Math.floor(Math.random() * charSet.length);
// randomString += charSet.substring(randomPoz, randomPoz + 1);
// }
// return randomString;
return crypto.randomBytes(len).toString("base64");
}
}