From 1bfcc1abdc84937e355408bab213ac43acd235d2 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 13 Jan 2024 23:45:20 +0100 Subject: [PATCH] google auth callback --- src/controllers/calendarController.ts | 28 +++++++++++++++++++++++++++ src/routes/calendarRoutes.ts | 8 +++++--- src/validator/validator.ts | 4 ++-- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/controllers/calendarController.ts b/src/controllers/calendarController.ts index 464dfcc..3b165ff 100644 --- a/src/controllers/calendarController.ts +++ b/src/controllers/calendarController.ts @@ -1 +1,29 @@ import { Request, Response } from "express"; +import logger from "../logger/logger"; + +export async function GoogleAuthCallback(req: Request, res: Response) { + try { + const { code } = req.query; + + if (!code) { + return res.status(400).send({ err: "invalid request" }); + } + + logger.debug("Google auth callback with code: %s", code); + + // get access token from google + + // get user info from google + + // check if user exists in db + + // if user exists, create session + + // if user doesn't exist, create user and session + + // redirect to home page + res.redirect("https://localhost:50127/"); + } catch (error) { + res.status(500).send({ err: "invalid request" }); + } +} diff --git a/src/routes/calendarRoutes.ts b/src/routes/calendarRoutes.ts index 0817610..bd2e2ee 100644 --- a/src/routes/calendarRoutes.ts +++ b/src/routes/calendarRoutes.ts @@ -1,8 +1,8 @@ import express from "express"; +import passport from "passport"; const router = express.Router(); import * as calendarController from "../controllers/calendarController"; -import passport from "passport"; router.get( "/auth/google", @@ -14,14 +14,16 @@ router.get( }) ); +router.get("/auth/google/callback", calendarController.GoogleAuthCallback); +/* router.get( "/auth/google/callback", passport.authenticate("google", { failureRedirect: "/login" }), function (req, res) { // Successful authentication, redirect home. console.log("req.user", req.user); - res.redirect("https://localhost:50127/s"); + res.redirect("https://localhost:50127/"); } -); +); */ export default router; diff --git a/src/validator/validator.ts b/src/validator/validator.ts index f5833c4..a389009 100644 --- a/src/validator/validator.ts +++ b/src/validator/validator.ts @@ -93,7 +93,7 @@ export function isStoreServiceActivityDescriptionValid( } export function isStoreServiceActivityPriceValid( - storeServiceActivityPrice: any + storeServiceActivityPrice: number ) { return ( storeServiceActivityPrice >= STORE_SERVICE_ACTIVITY_PRICE_MIN && @@ -102,7 +102,7 @@ export function isStoreServiceActivityPriceValid( } export function isStoreServiceActivityDurationValid( - storeServiceActivityDuration: any + storeServiceActivityDuration: number ) { return ( storeServiceActivityDuration >= STORE_SERVICE_ACTIVITY_DURATION_MIN &&