unlink google calendar
parent
c855308797
commit
ebaf828882
|
@ -4,6 +4,7 @@ import Store from "../models/store";
|
||||||
import { getUserSession } from "../utils/utils";
|
import { getUserSession } from "../utils/utils";
|
||||||
import User from "../models/user";
|
import User from "../models/user";
|
||||||
import UserGoogleTokens from "../models/userGoogleTokens";
|
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
|
// 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) {
|
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" });
|
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);
|
logger.info("userSession %s", userSession.user_id);
|
||||||
|
|
||||||
axios
|
axios
|
||||||
.post(process.env.TERMIN_PLANNER_URL as string, {
|
.post(
|
||||||
|
`${process.env.TERMIN_PLANNER_URL}/addGoogleAccount` as string,
|
||||||
|
{
|
||||||
userId: userSession.user_id,
|
userId: userSession.user_id,
|
||||||
accessToken: accessToken,
|
accessToken: accessToken,
|
||||||
refreshToken: refreshToken,
|
refreshToken: refreshToken,
|
||||||
sub: sub,
|
sub: sub,
|
||||||
pass: process.env.TERMIN_PLANNER_AUTHORIZATION_PASSWORD as string,
|
pass: process.env.TERMIN_PLANNER_AUTHORIZATION_PASSWORD as string,
|
||||||
})
|
}
|
||||||
|
)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
logger.info("response %s", response.data);
|
logger.info("response %s", response.data);
|
||||||
})
|
})
|
||||||
|
@ -80,12 +83,6 @@ router.get(
|
||||||
});
|
});
|
||||||
|
|
||||||
// /api/v1/addGoogleAccount
|
// /api/v1/addGoogleAccount
|
||||||
|
|
||||||
/*
|
|
||||||
user_id
|
|
||||||
refresh_token
|
|
||||||
pass
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -96,5 +93,9 @@ router.post(
|
||||||
calendarController.UpdatePersonalCalendarSettings
|
calendarController.UpdatePersonalCalendarSettings
|
||||||
);
|
);
|
||||||
router.post("/settings/store", calendarController.UpdateStoreCalendarSettings);
|
router.post("/settings/store", calendarController.UpdateStoreCalendarSettings);
|
||||||
|
router.post(
|
||||||
|
"/settings/personal/unlink",
|
||||||
|
calendarController.UnlinkGoogleCalendar
|
||||||
|
);
|
||||||
|
|
||||||
export default router;
|
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_MIN = 0;
|
||||||
export const STORE_SERVICE_ACTIVITY_PRICE_MAX = 10000000;
|
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 = 24 * 60; // 1440 minutes = 24 hours
|
||||||
export const STORE_SERVICE_ACTIVITY_DURATION_MINUTES_MAX = 60;
|
|
||||||
export const STORE_SERVICE_ACTIVITY_DURATION_MIN = 0;
|
export const STORE_SERVICE_ACTIVITY_DURATION_MIN = 0;
|
||||||
export const STORE_SERVICE_ACTIVITY_DURATION_MAX =
|
export const STORE_SERVICE_ACTIVITY_DURATION_MAX =
|
||||||
STORE_SERVICE_ACTIVITY_DURATION_HOURS_MAX * 60 +
|
|
||||||
STORE_SERVICE_ACTIVITY_DURATION_MINUTES_MAX;
|
STORE_SERVICE_ACTIVITY_DURATION_MINUTES_MAX;
|
||||||
|
|
||||||
export const CALENDAR_MAX_FUTURE_BOOKING_DAYS = 14;
|
export const CALENDAR_MAX_FUTURE_BOOKING_DAYS = 14;
|
||||||
|
|
Loading…
Reference in New Issue