mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-15 09:11:57 +10:00
fix bugs
This commit is contained in:
@ -19,7 +19,7 @@ import { LocalStrategy } from './strategy/local.strategy';
|
||||
imports: [ConfigModule],
|
||||
inject: [ConfigService],
|
||||
useFactory: async (configService: ConfigService) => ({
|
||||
secret: configService.get<string>('auth.jwtSecret'),
|
||||
secret: configService.get('auth.jwtSecret'),
|
||||
signOptions: {
|
||||
expiresIn: `${configService.get<number>('auth.jwtExpiryTime')}s`,
|
||||
},
|
||||
|
||||
@ -106,15 +106,15 @@ export class AuthService {
|
||||
|
||||
getUserFromAccessToken(accessToken: string) {
|
||||
const payload: User = this.jwtService.verify(accessToken, {
|
||||
secret: this.configService.get<string>('auth.jwtSecret'),
|
||||
secret: this.configService.get('auth.jwtSecret'),
|
||||
});
|
||||
|
||||
return this.usersService.findById(payload.id);
|
||||
}
|
||||
|
||||
async authenticateWithGoogle(credential: string) {
|
||||
const clientID = this.configService.get<string>('google.clientID');
|
||||
const clientSecret = this.configService.get<string>('google.clientSecret');
|
||||
const clientID = this.configService.get('google.clientID');
|
||||
const clientSecret = this.configService.get('google.clientSecret');
|
||||
|
||||
const OAuthClient = new OAuth2Client(clientID, clientSecret);
|
||||
const client = await OAuthClient.verifyIdToken({ idToken: credential });
|
||||
|
||||
@ -11,7 +11,7 @@ export class JwtStrategy extends PassportStrategy(Strategy) {
|
||||
constructor(configService: ConfigService, private readonly usersService: UsersService) {
|
||||
super({
|
||||
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
|
||||
secretOrKey: configService.get<string>('auth.jwtSecret'),
|
||||
secretOrKey: configService.get('auth.jwtSecret'),
|
||||
ignoreExpiration: false,
|
||||
});
|
||||
}
|
||||
|
||||
@ -12,15 +12,15 @@ import { User } from '@/users/entities/user.entity';
|
||||
inject: [ConfigService],
|
||||
useFactory: async (configService: ConfigService) => ({
|
||||
type: 'postgres',
|
||||
host: configService.get<string>('postgres.host'),
|
||||
host: configService.get('postgres.host'),
|
||||
port: configService.get<number>('postgres.port'),
|
||||
username: configService.get<string>('postgres.username'),
|
||||
password: configService.get<string>('postgres.password'),
|
||||
database: configService.get<string>('postgres.database'),
|
||||
username: configService.get('postgres.username'),
|
||||
password: configService.get('postgres.password'),
|
||||
database: configService.get('postgres.database'),
|
||||
poolSize: 22,
|
||||
synchronize: true,
|
||||
entities: [User, Resume],
|
||||
ssl: configService.get<string>('postgres.certificate') && {
|
||||
ssl: configService.get('postgres.certificate') && {
|
||||
ca: Buffer.from(configService.get<string>('postgres.certificate'), 'base64').toString('ascii'),
|
||||
},
|
||||
}),
|
||||
|
||||
@ -12,7 +12,7 @@ export class FontsService {
|
||||
constructor(private configService: ConfigService, private httpService: HttpService) {}
|
||||
|
||||
async getAll(): Promise<Font[]> {
|
||||
const apiKey = this.configService.get<string>('google.apiKey');
|
||||
const apiKey = this.configService.get('google.apiKey');
|
||||
const url = 'https://www.googleapis.com/webfonts/v1/webfonts?key=' + apiKey;
|
||||
|
||||
let data = [];
|
||||
|
||||
@ -12,14 +12,14 @@ export class MailService {
|
||||
|
||||
constructor(private configService: ConfigService) {
|
||||
this.transporter = createTransport({
|
||||
host: this.configService.get<string>('mail.host'),
|
||||
host: this.configService.get('mail.host'),
|
||||
port: this.configService.get<number>('mail.port'),
|
||||
pool: true,
|
||||
secure: false,
|
||||
tls: { ciphers: 'SSLv3' },
|
||||
auth: {
|
||||
user: this.configService.get<string>('mail.username'),
|
||||
pass: this.configService.get<string>('mail.password'),
|
||||
user: this.configService.get('mail.username'),
|
||||
pass: this.configService.get('mail.password'),
|
||||
},
|
||||
});
|
||||
}
|
||||
@ -35,13 +35,13 @@ export class MailService {
|
||||
}
|
||||
|
||||
async sendForgotPasswordEmail(user: User, resetToken: string): Promise<void> {
|
||||
const appUrl = this.configService.get<string>('app.url');
|
||||
const appUrl = this.configService.get('app.url');
|
||||
const url = `${appUrl}?modal=auth.reset&resetToken=${resetToken}`;
|
||||
|
||||
const sendMailDto: SendMailDto = {
|
||||
from: {
|
||||
name: this.configService.get<string>('mail.from.name'),
|
||||
email: this.configService.get<string>('mail.from.email'),
|
||||
name: this.configService.get('mail.from.name'),
|
||||
email: this.configService.get('mail.from.email'),
|
||||
},
|
||||
to: {
|
||||
name: user.name,
|
||||
|
||||
@ -10,7 +10,7 @@ const bootstrap = async () => {
|
||||
const app = await NestFactory.create<NestExpressApplication>(AppModule);
|
||||
const configService = app.get(ConfigService);
|
||||
|
||||
const appUrl = configService.get<string>('app.url');
|
||||
const appUrl = configService.get('app.url');
|
||||
|
||||
// Middleware
|
||||
app.enableCors({ origin: [appUrl], credentials: true });
|
||||
|
||||
@ -24,7 +24,7 @@ export class PrinterService implements OnModuleInit, OnModuleDestroy {
|
||||
}
|
||||
|
||||
async printAsPdf(username: string, slug: string, lastUpdated: string): Promise<string> {
|
||||
const serverUrl = this.configService.get<string>('app.serverUrl');
|
||||
const serverUrl = this.configService.get('app.serverUrl');
|
||||
|
||||
const directory = join(__dirname, '..', 'assets/exports');
|
||||
const filename = `RxResume_PDFExport_${username}_${slug}_${lastUpdated}.pdf`;
|
||||
@ -47,8 +47,8 @@ export class PrinterService implements OnModuleInit, OnModuleDestroy {
|
||||
);
|
||||
});
|
||||
|
||||
const url = this.configService.get<string>('app.url');
|
||||
const secretKey = this.configService.get<string>('app.secretKey');
|
||||
const url = this.configService.get('app.url');
|
||||
const secretKey = this.configService.get('app.secretKey');
|
||||
const pdfDeletionTime = this.configService.get<number>('cache.pdfDeletionTime');
|
||||
|
||||
const page = await this.browser.newPage();
|
||||
|
||||
@ -34,15 +34,15 @@ export class ResumeService {
|
||||
private configService: ConfigService,
|
||||
private usersService: UsersService
|
||||
) {
|
||||
this.s3Enabled = !isEmpty(configService.get<string>('storage.bucket'));
|
||||
this.s3Enabled = !isEmpty(configService.get('storage.bucket'));
|
||||
|
||||
if (this.s3Enabled) {
|
||||
this.s3Client = new S3({
|
||||
endpoint: configService.get<string>('storage.endpoint'),
|
||||
region: configService.get<string>('storage.region'),
|
||||
endpoint: configService.get('storage.endpoint'),
|
||||
region: configService.get('storage.region'),
|
||||
credentials: {
|
||||
accessKeyId: configService.get<string>('storage.accessKey'),
|
||||
secretAccessKey: configService.get<string>('storage.secretKey'),
|
||||
accessKeyId: configService.get('storage.accessKey'),
|
||||
secretAccessKey: configService.get('storage.secretKey'),
|
||||
},
|
||||
});
|
||||
}
|
||||
@ -141,7 +141,7 @@ export class ResumeService {
|
||||
|
||||
const isPrivate = !resume.public;
|
||||
const isOwner = resume.user.id === userId;
|
||||
const isInternal = secretKey === this.configService.get<string>('app.secretKey');
|
||||
const isInternal = secretKey === this.configService.get('app.secretKey');
|
||||
|
||||
if (!isInternal && isPrivate && !isOwner) {
|
||||
throw new HttpException('The resume you are looking does not exist, or maybe never did?', HttpStatus.NOT_FOUND);
|
||||
@ -159,7 +159,7 @@ export class ResumeService {
|
||||
|
||||
const isPrivate = !resume.public;
|
||||
const isOwner = resume.user.id === userId;
|
||||
const isInternal = secretKey === this.configService.get<string>('app.secretKey');
|
||||
const isInternal = secretKey === this.configService.get('app.secretKey');
|
||||
|
||||
if (!isInternal && isPrivate && !isOwner) {
|
||||
throw new HttpException('The resume you are looking does not exist, or maybe never did?', HttpStatus.NOT_FOUND);
|
||||
@ -247,7 +247,7 @@ export class ResumeService {
|
||||
let updatedResume = null;
|
||||
|
||||
if (this.s3Enabled) {
|
||||
const urlPrefix = this.configService.get<string>('storage.urlPrefix');
|
||||
const urlPrefix = this.configService.get('storage.urlPrefix');
|
||||
const key = `uploads/${userId}/${id}/${filename}`;
|
||||
const publicUrl = urlPrefix + key;
|
||||
await this.s3Client.send(
|
||||
@ -255,13 +255,13 @@ export class ResumeService {
|
||||
Key: key,
|
||||
Body: file.buffer,
|
||||
ACL: 'public-read',
|
||||
Bucket: this.configService.get<string>('storage.bucket'),
|
||||
Bucket: this.configService.get('storage.bucket'),
|
||||
})
|
||||
);
|
||||
updatedResume = set(resume, 'basics.photo.url', publicUrl);
|
||||
} else {
|
||||
const path = `${__dirname}/../assets/uploads/${userId}/${id}/`;
|
||||
const serverUrl = this.configService.get<string>('app.serverUrl');
|
||||
const serverUrl = this.configService.get('app.serverUrl');
|
||||
|
||||
try {
|
||||
await fs.mkdir(path, { recursive: true });
|
||||
@ -286,16 +286,16 @@ export class ResumeService {
|
||||
if (!publicUrl || publicUrl === '') return;
|
||||
|
||||
if (this.s3Enabled) {
|
||||
const urlPrefix = this.configService.get<string>('storage.urlPrefix');
|
||||
const urlPrefix = this.configService.get('storage.urlPrefix');
|
||||
const key = publicUrl.replace(urlPrefix, '');
|
||||
await this.s3Client.send(
|
||||
new DeleteObjectCommand({
|
||||
Key: key,
|
||||
Bucket: this.configService.get<string>('storage.bucket'),
|
||||
Bucket: this.configService.get('storage.bucket'),
|
||||
})
|
||||
);
|
||||
} else {
|
||||
const serverUrl = this.configService.get<string>('app.serverUrl');
|
||||
const serverUrl = this.configService.get('app.serverUrl');
|
||||
const filePath = __dirname + '/..' + resume.basics.photo.url.replace(serverUrl, '');
|
||||
|
||||
const isValidFile = (await fs.stat(filePath)).isFile();
|
||||
|
||||
Reference in New Issue
Block a user