Browse Source

Refactor requests and responses (#1507)

pull/1514/head
Thomas Kaul 2 years ago
committed by GitHub
parent
commit
2a605f850d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      apps/api/src/app/auth/auth.controller.ts
  2. 40
      apps/api/src/app/frontend.middleware.ts
  3. 10
      apps/api/src/app/subscription/subscription.controller.ts

12
apps/api/src/app/auth/auth.controller.ts

@ -16,6 +16,7 @@ import {
Version Version
} from '@nestjs/common'; } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport'; import { AuthGuard } from '@nestjs/passport';
import { Request, Response } from 'express';
import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { AuthService } from './auth.service'; import { AuthService } from './auth.service';
@ -58,18 +59,21 @@ export class AuthController {
@Get('google/callback') @Get('google/callback')
@UseGuards(AuthGuard('google')) @UseGuards(AuthGuard('google'))
@Version(VERSION_NEUTRAL) @Version(VERSION_NEUTRAL)
public googleLoginCallback(@Req() req, @Res() res) { public googleLoginCallback(
@Req() request: Request,
@Res() response: Response
) {
// Handles the Google OAuth2 callback // Handles the Google OAuth2 callback
const jwt: string = req.user.jwt; const jwt: string = (<any>request.user).jwt;
if (jwt) { if (jwt) {
res.redirect( response.redirect(
`${this.configurationService.get( `${this.configurationService.get(
'ROOT_URL' 'ROOT_URL'
)}/${DEFAULT_LANGUAGE_CODE}/auth/${jwt}` )}/${DEFAULT_LANGUAGE_CODE}/auth/${jwt}`
); );
} else { } else {
res.redirect( response.redirect(
`${this.configurationService.get( `${this.configurationService.get(
'ROOT_URL' 'ROOT_URL'
)}/${DEFAULT_LANGUAGE_CODE}/auth` )}/${DEFAULT_LANGUAGE_CODE}/auth`

40
apps/api/src/app/frontend.middleware.ts

@ -50,66 +50,66 @@ export class FrontendMiddleware implements NestMiddleware {
} catch {} } catch {}
} }
public use(req: Request, res: Response, next: NextFunction) { public use(request: Request, response: Response, next: NextFunction) {
let featureGraphicPath = 'assets/cover.png'; let featureGraphicPath = 'assets/cover.png';
if (req.path.startsWith('/en/blog/2022/08/500-stars-on-github')) { if (request.path.startsWith('/en/blog/2022/08/500-stars-on-github')) {
featureGraphicPath = 'assets/images/blog/500-stars-on-github.jpg'; featureGraphicPath = 'assets/images/blog/500-stars-on-github.jpg';
} else if (req.path.startsWith('/en/blog/2022/10/hacktoberfest-2022')) { } else if (request.path.startsWith('/en/blog/2022/10/hacktoberfest-2022')) {
featureGraphicPath = 'assets/images/blog/hacktoberfest-2022.png'; featureGraphicPath = 'assets/images/blog/hacktoberfest-2022.png';
} else if (req.path.startsWith('/en/blog/2022/11/black-friday-2022')) { } else if (request.path.startsWith('/en/blog/2022/11/black-friday-2022')) {
featureGraphicPath = 'assets/images/blog/black-friday-2022.jpg'; featureGraphicPath = 'assets/images/blog/black-friday-2022.jpg';
} }
if ( if (
req.path.startsWith('/api/') || request.path.startsWith('/api/') ||
this.isFileRequest(req.url) || this.isFileRequest(request.url) ||
!this.isProduction !this.isProduction
) { ) {
// Skip // Skip
next(); next();
} else if (req.path === '/de' || req.path.startsWith('/de/')) { } else if (request.path === '/de' || request.path.startsWith('/de/')) {
res.send( response.send(
this.interpolate(this.indexHtmlDe, { this.interpolate(this.indexHtmlDe, {
featureGraphicPath, featureGraphicPath,
languageCode: 'de', languageCode: 'de',
path: req.path, path: request.path,
rootUrl: this.configurationService.get('ROOT_URL') rootUrl: this.configurationService.get('ROOT_URL')
}) })
); );
} else if (req.path === '/es' || req.path.startsWith('/es/')) { } else if (request.path === '/es' || request.path.startsWith('/es/')) {
res.send( response.send(
this.interpolate(this.indexHtmlEs, { this.interpolate(this.indexHtmlEs, {
featureGraphicPath, featureGraphicPath,
languageCode: 'es', languageCode: 'es',
path: req.path, path: request.path,
rootUrl: this.configurationService.get('ROOT_URL') rootUrl: this.configurationService.get('ROOT_URL')
}) })
); );
} else if (req.path === '/it' || req.path.startsWith('/it/')) { } else if (request.path === '/it' || request.path.startsWith('/it/')) {
res.send( response.send(
this.interpolate(this.indexHtmlIt, { this.interpolate(this.indexHtmlIt, {
featureGraphicPath, featureGraphicPath,
languageCode: 'it', languageCode: 'it',
path: req.path, path: request.path,
rootUrl: this.configurationService.get('ROOT_URL') rootUrl: this.configurationService.get('ROOT_URL')
}) })
); );
} else if (req.path === '/nl' || req.path.startsWith('/nl/')) { } else if (request.path === '/nl' || request.path.startsWith('/nl/')) {
res.send( response.send(
this.interpolate(this.indexHtmlNl, { this.interpolate(this.indexHtmlNl, {
featureGraphicPath, featureGraphicPath,
languageCode: 'nl', languageCode: 'nl',
path: req.path, path: request.path,
rootUrl: this.configurationService.get('ROOT_URL') rootUrl: this.configurationService.get('ROOT_URL')
}) })
); );
} else { } else {
res.send( response.send(
this.interpolate(this.indexHtmlEn, { this.interpolate(this.indexHtmlEn, {
featureGraphicPath, featureGraphicPath,
languageCode: DEFAULT_LANGUAGE_CODE, languageCode: DEFAULT_LANGUAGE_CODE,
path: req.path, path: request.path,
rootUrl: this.configurationService.get('ROOT_URL') rootUrl: this.configurationService.get('ROOT_URL')
}) })
); );

10
apps/api/src/app/subscription/subscription.controller.ts

@ -21,6 +21,7 @@ import {
} from '@nestjs/common'; } from '@nestjs/common';
import { REQUEST } from '@nestjs/core'; import { REQUEST } from '@nestjs/core';
import { AuthGuard } from '@nestjs/passport'; import { AuthGuard } from '@nestjs/passport';
import { Request, Response } from 'express';
import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { StatusCodes, getReasonPhrase } from 'http-status-codes';
import { SubscriptionService } from './subscription.service'; import { SubscriptionService } from './subscription.service';
@ -86,9 +87,12 @@ export class SubscriptionController {
} }
@Get('stripe/callback') @Get('stripe/callback')
public async stripeCallback(@Req() req, @Res() res) { public async stripeCallback(
@Req() request: Request,
@Res() response: Response
) {
const userId = await this.subscriptionService.createSubscriptionViaStripe( const userId = await this.subscriptionService.createSubscriptionViaStripe(
req.query.checkoutSessionId <string>request.query.checkoutSessionId
); );
Logger.log( Logger.log(
@ -96,7 +100,7 @@ export class SubscriptionController {
'SubscriptionController' 'SubscriptionController'
); );
res.redirect( response.redirect(
`${this.configurationService.get( `${this.configurationService.get(
'ROOT_URL' 'ROOT_URL'
)}/${DEFAULT_LANGUAGE_CODE}/account` )}/${DEFAULT_LANGUAGE_CODE}/account`

Loading…
Cancel
Save