From 8f8bbbf09d28ec7a5be740b4470a06375071e6e6 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 17 Feb 2024 21:51:37 +0100 Subject: [PATCH] delete employee from service activity --- src/controllers/usersController.ts | 7 ++ src/routes/calendarRoutes.ts | 107 ++++++++++++++--------------- 2 files changed, 59 insertions(+), 55 deletions(-) diff --git a/src/controllers/usersController.ts b/src/controllers/usersController.ts index e1901c8..a7a7509 100644 --- a/src/controllers/usersController.ts +++ b/src/controllers/usersController.ts @@ -26,6 +26,7 @@ import { terminPlanerRequest, terminPlanerRequestChangeFutureBookingDays, } from "../utils/terminPlaner"; +import StoreServiceActivityUsers from "../models/storeServiceActivityUsers"; export async function AddEmployee(req: Request, res: Response) { try { @@ -481,6 +482,12 @@ export async function DeleteEmployee(req: Request, res: Response) { }, }); + await StoreServiceActivityUsers.destroy({ + where: { + user_id: userId, + }, + }); + storeLogger.info(store.store_id, "Deleted employee with user id:", userId); res.status(200).send({ msg: "success" }); diff --git a/src/routes/calendarRoutes.ts b/src/routes/calendarRoutes.ts index bb80873..72debc6 100644 --- a/src/routes/calendarRoutes.ts +++ b/src/routes/calendarRoutes.ts @@ -32,75 +32,72 @@ router.get( passport.authenticate("google", { failureRedirect: PASSPORT_FAILURE_REDIRECT_URL, }), - function (req, res) { - // Successful authentication, redirect home - const sessionId = req.cookies["session"]; + async function (req, res) { + try { + // Successful authentication, redirect home + const sessionId = req.cookies["session"]; - if (!sessionId) { - logger.error("session cookie not found"); - res.redirect(PASSPORT_FAILURE_REDIRECT_URL); - return; - } + if (!sessionId) { + throw new Error("session id not found"); + } - const accessToken = (req.user as Request & { accessToken?: string }) - .accessToken; - const refreshToken = (req.user as Request & { refreshToken?: string }) - .refreshToken; - const sub = (req.user as Request & { profile?: any }).profile._json.sub; // google user id + const accessToken = (req.user as Request & { accessToken?: string }) + .accessToken; + const refreshToken = (req.user as Request & { refreshToken?: string }) + .refreshToken; + const sub = (req.user as Request & { profile?: any }).profile._json.sub; // google user id - const googleAccountName = (req.user as Request & { profile?: any }).profile - ._json.name; - const googleAccountPicture = (req.user as Request & { profile?: any }) - .profile._json.picture; + const googleAccountName = (req.user as Request & { profile?: any }) + .profile._json.name; + const googleAccountPicture = (req.user as Request & { profile?: any }) + .profile._json.picture; - Session.findOne({ - where: { - session_id: sessionId, - }, - }) - .then(async (userSession) => { - if (!userSession) { - logger.error("user session not found"); - res.redirect(PASSPORT_FAILURE_REDIRECT_URL); - return; - } + const userSession = await Session.findOne({ + where: { + session_id: sessionId, + }, + }); + if (!userSession) { + throw new Error("user session not found"); + } + + try { terminPlanerRequest("/api/v1/addGoogleAccount", "POST", { userId: userSession.user_id, accessToken: accessToken, refreshToken: refreshToken, sub: sub, }); - - User.findOne({ - where: { - user_id: userSession.user_id, - }, - }) - .then((user) => { - if (!user) { - logger.error("user not found"); - return; - } - - user.google_account_name = googleAccountName; - user.google_account_picture = googleAccountPicture; - - user.save().catch((err) => logger.error(err)); - }) - .catch((err) => { - logger.error(err); - res.redirect(PASSPORT_FAILURE_REDIRECT_URL); - }); - - res.redirect(PASSPORT_SUCCESS_REDIRECT_URL); - }) - .catch((err) => { + } catch (err) { logger.error(err); - res.redirect(PASSPORT_FAILURE_REDIRECT_URL); + } + + const user = await User.findOne({ + where: { + user_id: userSession.user_id, + }, }); - // /api/v1/addGoogleAccount + if (!user) { + throw new Error("user not found"); + } + + if (!user) { + logger.error("user not found"); + return; + } + + user.google_account_name = googleAccountName; + user.google_account_picture = googleAccountPicture; + + user.save().catch((err) => logger.error(err)); + + res.redirect(PASSPORT_SUCCESS_REDIRECT_URL); + } catch (err) { + logger.error(err); + res.redirect(PASSPORT_FAILURE_REDIRECT_URL); + } } );