.
This commit is contained in:
parent
8700c232b4
commit
1a8b3ce6a7
@ -30,7 +30,8 @@ export class IdentityController extends ExpressController {
|
|||||||
|
|
||||||
async executeImpl() {
|
async executeImpl() {
|
||||||
try {
|
try {
|
||||||
const user = <AuthUser>this.req.user;
|
const req = this.req as AuthenticatedRequest;
|
||||||
|
const user = <AuthUser>req.user;
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
const errorMessage = "Unexpected missing user data";
|
const errorMessage = "Unexpected missing user data";
|
||||||
|
|||||||
@ -32,7 +32,8 @@ export class LoginController extends ExpressController {
|
|||||||
|
|
||||||
async executeImpl() {
|
async executeImpl() {
|
||||||
try {
|
try {
|
||||||
const user = <AuthUser>this.req.user;
|
const req = this.req as AuthenticatedRequest;
|
||||||
|
const user = <AuthUser>req.user;
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
const errorMessage = "Unexpected missing user data";
|
const errorMessage = "Unexpected missing user data";
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { AuthUser } from "@/contexts/auth/domain";
|
import { AuthUser } from "@/contexts/auth/domain";
|
||||||
import { composeMiddleware, generateExpressError } from "@/contexts/common/infrastructure/express";
|
import { composeMiddleware, generateExpressError } from "@/contexts/common/infrastructure/express";
|
||||||
import { ensureIdIsValid } from "@shared/contexts";
|
import { ensureIdIsValid } from "@shared/contexts";
|
||||||
import * as express from "express";
|
import Express, * as express from "express";
|
||||||
import httpStatus from "http-status";
|
import httpStatus from "http-status";
|
||||||
import passport from "passport";
|
import passport from "passport";
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ export const checkUser = composeMiddleware([
|
|||||||
passport.authenticate("local-jwt", {
|
passport.authenticate("local-jwt", {
|
||||||
session: false,
|
session: false,
|
||||||
}),
|
}),
|
||||||
(req: express.Request, res: express.Response, next: express.NextFunction) => {
|
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||||
if (req.isAuthenticated()) {
|
if (req.isAuthenticated()) {
|
||||||
return next();
|
return next();
|
||||||
}
|
}
|
||||||
@ -23,7 +23,7 @@ export const checkUser = composeMiddleware([
|
|||||||
|
|
||||||
export const checkisAdmin = composeMiddleware([
|
export const checkisAdmin = composeMiddleware([
|
||||||
checkUser,
|
checkUser,
|
||||||
(req: express.Request, res: express.Response, next: express.NextFunction) => {
|
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||||
const _req = req as AuthenticatedRequest;
|
const _req = req as AuthenticatedRequest;
|
||||||
const user = <AuthUser>_req.user;
|
const user = <AuthUser>_req.user;
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ export const checkisAdmin = composeMiddleware([
|
|||||||
|
|
||||||
export const checkAdminOrSelf = composeMiddleware([
|
export const checkAdminOrSelf = composeMiddleware([
|
||||||
checkUser,
|
checkUser,
|
||||||
(req: express.Request, res: express.Response, next: express.NextFunction) => {
|
(req: Express.Request, res: Express.Response, next: Express.NextFunction) => {
|
||||||
const _req = req as AuthenticatedRequest;
|
const _req = req as AuthenticatedRequest;
|
||||||
const user = <AuthUser>_req.user;
|
const user = <AuthUser>_req.user;
|
||||||
|
|
||||||
|
|||||||
@ -12,6 +12,12 @@ import {
|
|||||||
import { IProfileContext } from "../../../Profile.context";
|
import { IProfileContext } from "../../../Profile.context";
|
||||||
import { IUpdateProfilePresenter } from "./presenter";
|
import { IUpdateProfilePresenter } from "./presenter";
|
||||||
|
|
||||||
|
import { Request } from "express";
|
||||||
|
|
||||||
|
interface AuthenticatedRequest extends Request {
|
||||||
|
user?: User;
|
||||||
|
}
|
||||||
|
|
||||||
export class UpdateProfileController extends ExpressController {
|
export class UpdateProfileController extends ExpressController {
|
||||||
private useCase: UpdateProfileUseCase;
|
private useCase: UpdateProfileUseCase;
|
||||||
private presenter: IUpdateProfilePresenter;
|
private presenter: IUpdateProfilePresenter;
|
||||||
@ -33,7 +39,8 @@ export class UpdateProfileController extends ExpressController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async executeImpl() {
|
async executeImpl() {
|
||||||
const user = <User>this.req.user;
|
const req = this.req as AuthenticatedRequest;
|
||||||
|
const user = <User>req.user;
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
const errorMessage = "Unexpected missing Profile data";
|
const errorMessage = "Unexpected missing Profile data";
|
||||||
|
|||||||
@ -1,7 +1,12 @@
|
|||||||
import { checkUser, createLoginController } from "@/contexts/auth";
|
import { checkUser, createLoginController } from "@/contexts/auth";
|
||||||
import * as express from "express";
|
import Express, * as express from "express";
|
||||||
import passport from "passport";
|
import passport from "passport";
|
||||||
|
|
||||||
|
interface AuthenticatedRequest extends Express.Request {
|
||||||
|
logout(options: passport.LogOutOptions, done: (err: any) => void): void;
|
||||||
|
logout(done: (err: any) => void): void;
|
||||||
|
}
|
||||||
|
|
||||||
export const authRouter = (appRouter: express.Router) => {
|
export const authRouter = (appRouter: express.Router) => {
|
||||||
const authRoutes: express.Router = express.Router({ mergeParams: true });
|
const authRoutes: express.Router = express.Router({ mergeParams: true });
|
||||||
|
|
||||||
@ -16,7 +21,7 @@ export const authRouter = (appRouter: express.Router) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
authRoutes.post("/logout", checkUser, (req: express.Request, res: express.Response) => {
|
authRoutes.post("/logout", checkUser, (req: express.Request, res: express.Response) => {
|
||||||
const _req = req as Express.Request;
|
const _req = req as AuthenticatedRequest;
|
||||||
_req.logout(function (err) {
|
_req.logout(function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return res.status(500).json();
|
return res.status(500).json();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user