unlink google calendar
parent
c855308797
commit
ebaf828882
|
@ -4,6 +4,7 @@ import Store from "../models/store";
|
|||
import { getUserSession } from "../utils/utils";
|
||||
import User from "../models/user";
|
||||
import UserGoogleTokens from "../models/userGoogleTokens";
|
||||
import axios from "axios";
|
||||
|
||||
// this request is needed to get the store id after the user has connected his calendar to redirect him back to the calendar page
|
||||
export async function GetStoreId(req: Request, res: Response) {
|
||||
|
@ -236,3 +237,45 @@ export async function UpdateStoreCalendarSettings(req: Request, res: Response) {
|
|||
res.status(500).send({ err: "invalid request" });
|
||||
}
|
||||
}
|
||||
|
||||
export async function UnlinkGoogleCalendar(req: Request, res: Response) {
|
||||
try {
|
||||
const userSession = await getUserSession(req);
|
||||
|
||||
if (!userSession) {
|
||||
return res.status(401).send({ err: "unauthorized" });
|
||||
}
|
||||
|
||||
// check if the user has the google calendar connected
|
||||
|
||||
const userGoogleToken = await UserGoogleTokens.findOne({
|
||||
where: {
|
||||
user_id: userSession.user_id,
|
||||
},
|
||||
});
|
||||
|
||||
if (!userGoogleToken) {
|
||||
return res.status(401).send({ err: "unauthorized" });
|
||||
}
|
||||
|
||||
axios
|
||||
.post(`${process.env.TERMIN_PLANNER_URL}/removeGoogleAccount` as string, {
|
||||
userId: userSession.user_id,
|
||||
deleteCalendars: false,
|
||||
pass: process.env.TERMIN_PLANNER_AUTHORIZATION_PASSWORD as string,
|
||||
})
|
||||
.then((response) => {
|
||||
logger.info("response %s", response.data);
|
||||
|
||||
res.status(200).send({ msg: "success" });
|
||||
})
|
||||
.catch((err) => {
|
||||
logger.info("err %s", err);
|
||||
|
||||
res.status(500).send({ err: "invalid request" });
|
||||
});
|
||||
} catch (error) {
|
||||
logger.error(error);
|
||||
res.status(500).send({ err: "invalid request" });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,13 +58,16 @@ router.get(
|
|||
logger.info("userSession %s", userSession.user_id);
|
||||
|
||||
axios
|
||||
.post(process.env.TERMIN_PLANNER_URL as string, {
|
||||
userId: userSession.user_id,
|
||||
accessToken: accessToken,
|
||||
refreshToken: refreshToken,
|
||||
sub: sub,
|
||||
pass: process.env.TERMIN_PLANNER_AUTHORIZATION_PASSWORD as string,
|
||||
})
|
||||
.post(
|
||||
`${process.env.TERMIN_PLANNER_URL}/addGoogleAccount` as string,
|
||||
{
|
||||
userId: userSession.user_id,
|
||||
accessToken: accessToken,
|
||||
refreshToken: refreshToken,
|
||||
sub: sub,
|
||||
pass: process.env.TERMIN_PLANNER_AUTHORIZATION_PASSWORD as string,
|
||||
}
|
||||
)
|
||||
.then((response) => {
|
||||
logger.info("response %s", response.data);
|
||||
})
|
||||
|
@ -80,12 +83,6 @@ router.get(
|
|||
});
|
||||
|
||||
// /api/v1/addGoogleAccount
|
||||
|
||||
/*
|
||||
user_id
|
||||
refresh_token
|
||||
pass
|
||||
*/
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -96,5 +93,9 @@ router.post(
|
|||
calendarController.UpdatePersonalCalendarSettings
|
||||
);
|
||||
router.post("/settings/store", calendarController.UpdateStoreCalendarSettings);
|
||||
router.post(
|
||||
"/settings/personal/unlink",
|
||||
calendarController.UnlinkGoogleCalendar
|
||||
);
|
||||
|
||||
export default router;
|
||||
|
|
|
@ -27,11 +27,9 @@ export const STORE_SERVICE_ACTIVITY_DESCRIPTION_MAX_LENGTH = 1024;
|
|||
export const STORE_SERVICE_ACTIVITY_PRICE_MIN = 0;
|
||||
export const STORE_SERVICE_ACTIVITY_PRICE_MAX = 10000000;
|
||||
|
||||
export const STORE_SERVICE_ACTIVITY_DURATION_HOURS_MAX = 23;
|
||||
export const STORE_SERVICE_ACTIVITY_DURATION_MINUTES_MAX = 60;
|
||||
export const STORE_SERVICE_ACTIVITY_DURATION_MINUTES_MAX = 24 * 60; // 1440 minutes = 24 hours
|
||||
export const STORE_SERVICE_ACTIVITY_DURATION_MIN = 0;
|
||||
export const STORE_SERVICE_ACTIVITY_DURATION_MAX =
|
||||
STORE_SERVICE_ACTIVITY_DURATION_HOURS_MAX * 60 +
|
||||
STORE_SERVICE_ACTIVITY_DURATION_MINUTES_MAX;
|
||||
|
||||
export const CALENDAR_MAX_FUTURE_BOOKING_DAYS = 14;
|
||||
|
|
Loading…
Reference in New Issue