updated logger

main
alex 2024-02-17 22:46:23 +01:00
parent 8f8bbbf09d
commit ec879241c1
10 changed files with 82 additions and 69 deletions

View File

@ -38,7 +38,7 @@ export async function GetStoreId(req: Request, res: Response) {
res.status(200).send({ storeId: store.store_id }); res.status(200).send({ storeId: store.store_id });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetStoreId error:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -161,7 +161,7 @@ export async function GetCalendarSettings(req: Request, res: Response) {
userSettings: userSettings, userSettings: userSettings,
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetCalendarSettings error:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -257,7 +257,7 @@ export async function UpdatePersonalCalendarSettings(
res.status(200).send({ msg: "calendar settings updated" }); res.status(200).send({ msg: "calendar settings updated" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UpdatePersonalCalendarSettings error:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -327,7 +327,6 @@ export async function UpdateStoreCalendarSettings(req: Request, res: Response) {
}); });
if (!store) { if (!store) {
logger.debug("Requester is not a store master");
return res.status(401).send({ err: "unauthorized" }); return res.status(401).send({ err: "unauthorized" });
} }
@ -371,7 +370,7 @@ export async function UpdateStoreCalendarSettings(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UpdateStoreCalendarSettings error:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -407,7 +406,6 @@ export async function UnlinkGoogleCalendar(req: Request, res: Response) {
const decodedPassword = decodeBase64(password); const decodedPassword = decodeBase64(password);
if (!isPasswordValid(decodedPassword)) { if (!isPasswordValid(decodedPassword)) {
logger.debug("Password is not valid");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -421,7 +419,6 @@ export async function UnlinkGoogleCalendar(req: Request, res: Response) {
}); });
if (!user) { if (!user) {
logger.debug("User not found");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -430,7 +427,6 @@ export async function UnlinkGoogleCalendar(req: Request, res: Response) {
const match = await matchPassword(decodedPassword, user.password); const match = await matchPassword(decodedPassword, user.password);
if (!match) { if (!match) {
logger.debug("Password is not valid");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -458,7 +454,7 @@ export async function UnlinkGoogleCalendar(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UnlinkGoogleCalendar error:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }

View File

@ -97,7 +97,7 @@ export async function GetPrices(req: Request, res: Response) {
}), }),
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetPrices", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -135,9 +135,11 @@ export async function CreateCheckoutSession(priceId: string, userId: string) {
user_id: userId, user_id: userId,
}); });
logger.info(`CreateCheckoutSession: ${session.id}`);
return session.url; return session.url;
} catch (error) { } catch (error) {
logger.error(error); logger.error("CreateCheckoutSession", error as string);
return ""; return "";
} }
} }
@ -169,7 +171,7 @@ export async function CheckoutSuccess(req: Request, res: Response) {
res.status(200).send({ status: 0 }); res.status(200).send({ status: 0 });
} catch (err) { } catch (err) {
logger.error(err); logger.error("CheckoutSuccess", err as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -222,9 +224,11 @@ export async function CheckoutCanceled(req: Request, res: Response) {
await userPendingPayment.destroy(); await userPendingPayment.destroy();
logger.info(`CheckoutCanceled: ${sessionId}`);
res.status(200).send({ status: 1 }); res.status(200).send({ status: 1 });
} catch (err) { } catch (error) {
logger.error(err); logger.error("CheckoutCanceled", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -247,9 +251,9 @@ export async function StripeWebhook(req: Request, res: Response) {
sig, sig,
process.env.STRIPE_WEBHOOK_ENDPOINT_SECRET as string process.env.STRIPE_WEBHOOK_ENDPOINT_SECRET as string
); );
} catch (err) { } catch (error) {
logger.error("Webhook error", err); logger.error("Webhook error", error as string);
return res.status(400).send(`Webhook Error: ${err}`); return res.status(400).send(`Webhook Error: ${error}`);
} }
if (event.type === "checkout.session.completed") { if (event.type === "checkout.session.completed") {
@ -295,14 +299,14 @@ export async function StripeWebhook(req: Request, res: Response) {
} }
} }
} else if (event.type === "checkout.session.expired") { } else if (event.type === "checkout.session.expired") {
logger.info(`webhook checkout.session.expired: ${event.data}`); logger.info(`webhook checkout.session.expired: ${event.data.object}`);
} else { } else {
logger.warn(`Ignoring unknown event: ${event.type}`); logger.warn(`Ignoring unknown event: ${event.type}`);
} }
res.sendStatus(200); res.sendStatus(200);
} catch (error) { } catch (error) {
logger.error(error); logger.error("StripeWebhook", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -340,7 +344,7 @@ export async function GetBillingPortal(req: Request, res: Response) {
url: session.url, url: session.url,
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetBillingPortal", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }

View File

@ -46,7 +46,7 @@ export async function GetStore(req: Request, res: Response) {
}, },
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetStore", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -113,7 +113,7 @@ export async function UpdateStore(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UpdateStore", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }

View File

@ -23,7 +23,6 @@ export async function GetStoreServices(req: Request, res: Response) {
const { storeId } = req.params; const { storeId } = req.params;
if (!storeId) { if (!storeId) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -52,7 +51,7 @@ export async function GetStoreServices(req: Request, res: Response) {
res.status(200).send({ services, users }); res.status(200).send({ services, users });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetStoreServices", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -62,7 +61,6 @@ export async function CreateStoreService(req: Request, res: Response) {
const { storeId, name } = req.body; const { storeId, name } = req.body;
if (!storeId || !name || !isStoreServiceNameValid(name)) { if (!storeId || !name || !isStoreServiceNameValid(name)) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -100,7 +98,7 @@ export async function CreateStoreService(req: Request, res: Response) {
res.status(200).send({ service }); res.status(200).send({ service });
} catch (error) { } catch (error) {
logger.error(error); logger.error("CreateStoreService", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -110,7 +108,6 @@ export async function UpdateStoreService(req: Request, res: Response) {
const { serviceId, name } = req.body; const { serviceId, name } = req.body;
if (!serviceId || !name || !isStoreServiceNameValid(name)) { if (!serviceId || !name || !isStoreServiceNameValid(name)) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -163,7 +160,7 @@ export async function UpdateStoreService(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UpdateStoreService", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -180,7 +177,6 @@ export async function CreateStoreServiceActivity(req: Request, res: Response) {
!isStoreServiceActivityPriceValid(price) || !isStoreServiceActivityPriceValid(price) ||
!isStoreServiceActivityDurationValid(duration) !isStoreServiceActivityDurationValid(duration)
) { ) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -248,7 +244,7 @@ export async function CreateStoreServiceActivity(req: Request, res: Response) {
res.status(200).send({ activity }); res.status(200).send({ activity });
} catch (error) { } catch (error) {
logger.error(error); logger.error("CreateStoreServiceActivity", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -282,7 +278,7 @@ export async function GetStoreServiceActivities(req: Request, res: Response) {
res.status(200).send({ activities: activities }); res.status(200).send({ activities: activities });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetStoreServiceActivities", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -293,7 +289,6 @@ export async function UpdateStoreServiceActivity(req: Request, res: Response) {
req.body; req.body;
if (!activityId) { if (!activityId) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -418,7 +413,7 @@ export async function UpdateStoreServiceActivity(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UpdateStoreServiceActivity", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -428,7 +423,6 @@ export async function DeleteStoreServiceActivity(req: Request, res: Response) {
const { activityId } = req.params; const { activityId } = req.params;
if (!activityId) { if (!activityId) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -497,7 +491,7 @@ export async function DeleteStoreServiceActivity(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("DeleteStoreServiceActivity", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -507,7 +501,6 @@ export async function DeleteStoreService(req: Request, res: Response) {
const { serviceId } = req.params; const { serviceId } = req.params;
if (!serviceId) { if (!serviceId) {
logger.debug("Invalid request");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
@ -583,7 +576,7 @@ export async function DeleteStoreService(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("DeleteStoreService", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }

View File

@ -179,7 +179,7 @@ export async function SignUp(req: Request, res: Response) {
redirectUrl: checkoutSessionUrl, redirectUrl: checkoutSessionUrl,
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("signup error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -293,7 +293,7 @@ export async function Login(req: Request, res: Response) {
// create session // create session
saveSession(req, res, user.user_id, rememberMe); saveSession(req, res, user.user_id, rememberMe);
} catch (error) { } catch (error) {
logger.error(error); logger.error("login error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -361,7 +361,7 @@ export async function ForgotPassword(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("forgot password error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -380,7 +380,7 @@ export async function Logout(req: Request, res: Response) {
res.status(200).send({ msg: "logout successful" }); res.status(200).send({ msg: "logout successful" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("logout error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -501,7 +501,7 @@ export async function GetUser(req: Request, res: Response) {
res.status(200).send(respData); res.status(200).send(respData);
} catch (error) { } catch (error) {
logger.error(error); logger.error("get user error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -536,7 +536,7 @@ export async function IsEmailAvailable(req: Request, res: Response) {
res.status(200).send({ msg: "email available" }); res.status(200).send({ msg: "email available" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("is email available error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -560,7 +560,7 @@ export async function GetUserProfileSettings(req: Request, res: Response) {
res.status(200).send(user); res.status(200).send(user);
} catch (error) { } catch (error) {
logger.error(error); logger.error("get user profile settings error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -614,7 +614,7 @@ export async function UpdateUserProfileSettings(req: Request, res: Response) {
res.status(200).send({ msg: "user profile settings updated" }); res.status(200).send({ msg: "user profile settings updated" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("update user profile settings error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -685,7 +685,7 @@ export async function UpdateUserProfilePassword(req: Request, res: Response) {
res.status(200).send({ msg: "user password updated" }); res.status(200).send({ msg: "user password updated" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("update user profile password error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -729,7 +729,7 @@ export async function GetUserProfileSessions(req: Request, res: Response) {
currentSession: currentSession, currentSession: currentSession,
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("get user profile sessions error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -759,7 +759,7 @@ export async function DeleteUserProfileSession(req: Request, res: Response) {
res.status(200).send({ msg: "session deleted" }); res.status(200).send({ msg: "session deleted" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("delete user profile session error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -830,7 +830,7 @@ export async function DeleteUserProfile(req: Request, res: Response) {
res.status(200).send({ msg: "user deleted" }); res.status(200).send({ msg: "user deleted" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("delete user profile error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -912,7 +912,7 @@ export async function ExportUserAccount(req: Request, res: Response) {
"User account exported and sent via email" "User account exported and sent via email"
); );
} catch (error) { } catch (error) {
logger.error(error); logger.error("export user account error", error as string);
} }
})(); })();
@ -920,7 +920,7 @@ export async function ExportUserAccount(req: Request, res: Response) {
res.status(200).send({}); res.status(200).send({});
} catch (error) { } catch (error) {
logger.error(error); logger.error("export user account error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -947,7 +947,7 @@ export async function GetExportedUserAccount(req: Request, res: Response) {
logger.info(`User account export downloaded: ${id}`); logger.info(`User account export downloaded: ${id}`);
} catch (error) { } catch (error) {
logger.error(error); logger.error("get exported user account error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -1141,7 +1141,7 @@ export async function VerifyEmail(req: Request, res: Response) {
res.status(400).send({ err: "invalid request" }); res.status(400).send({ err: "invalid request" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("verify email error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -1208,7 +1208,7 @@ export async function UpdateUserProfileEmail(req: Request, res: Response) {
res.status(200).send({ msg: "user email updated" }); res.status(200).send({ msg: "user email updated" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("update user profile email error", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }

View File

@ -209,7 +209,7 @@ export async function AddEmployee(req: Request, res: Response) {
}, },
}); });
logger.error("terminPlanerRequest err on add employee:", err); logger.error("terminPlanerRequest err on add employee:", err as string);
return res.status(500).send({ err: "invalid request" }); return res.status(500).send({ err: "invalid request" });
} }
@ -227,7 +227,7 @@ export async function AddEmployee(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("AddEmployee err:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -239,7 +239,6 @@ export async function GetEmployees(req: Request, res: Response) {
const requesterSession = await getUserSession(req); const requesterSession = await getUserSession(req);
if (!requesterSession) { if (!requesterSession) {
logger.debug("Requester session not found");
return res.status(401).send({ err: "unauthorized" }); return res.status(401).send({ err: "unauthorized" });
} }
@ -257,12 +256,10 @@ export async function GetEmployees(req: Request, res: Response) {
}); });
if (!store) { if (!store) {
logger.debug("Store not found");
return res.status(400).send({ err: "invalid request" }); return res.status(400).send({ err: "invalid request" });
} }
if (store.owner_user_id !== requesterSession.user_id) { if (store.owner_user_id !== requesterSession.user_id) {
logger.debug("Requester is not the store owner");
return res.status(401).send({ err: "unauthorized" }); return res.status(401).send({ err: "unauthorized" });
} }
@ -299,7 +296,7 @@ export async function GetEmployees(req: Request, res: Response) {
employees: filteredEmployees, employees: filteredEmployees,
}); });
} catch (error) { } catch (error) {
logger.error(error); logger.error("GetEmployees err:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -419,7 +416,7 @@ export async function UpdateEmployee(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("UpdateEmployee err:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }
@ -492,7 +489,7 @@ export async function DeleteEmployee(req: Request, res: Response) {
res.status(200).send({ msg: "success" }); res.status(200).send({ msg: "success" });
} catch (error) { } catch (error) {
logger.error(error); logger.error("DeleteEmployee err:", error as string);
res.status(500).send({ err: "invalid request" }); res.status(500).send({ err: "invalid request" });
} }
} }

View File

@ -80,14 +80,14 @@ class MyTransport extends Transport {
} }
} }
const logger = winston.createLogger({ const winlogger = winston.createLogger({
level: "debug", level: "debug",
format: winston.format.json(), format: winston.format.json(),
transports: [new MyTransport()], transports: [new MyTransport()],
}); });
if (process.env.NODE_ENV !== "production") { if (process.env.NODE_ENV !== "production") {
logger.add( winlogger.add(
new winston.transports.Console({ new winston.transports.Console({
format: winston.format.simple(), format: winston.format.simple(),
}) })
@ -110,7 +110,7 @@ class BaseLogger {
} }
private log(level: string, id: string, ...messages: string[]) { private log(level: string, id: string, ...messages: string[]) {
logger.log({ winlogger.log({
level: level, level: level,
logType: `${this.logTypePrefix}-${id}`, logType: `${this.logTypePrefix}-${id}`,
message: messages.join(" "), message: messages.join(" "),
@ -130,7 +130,30 @@ class StoreLogger extends BaseLogger {
} }
} }
class SystemLogger {
info(...messages: string[]) {
this.log("info", ...messages);
}
error(...messages: string[]) {
this.log("error", ...messages);
}
warn(...messages: string[]) {
this.log("warn", ...messages);
}
private log(level: string, ...messages: string[]) {
winlogger.log({
level: level,
logType: process.env.NODE_APP_NAME,
message: messages.join(" "),
});
}
}
export const userLogger = new UserLogger(); export const userLogger = new UserLogger();
export const storeLogger = new StoreLogger(); export const storeLogger = new StoreLogger();
export const logger = new SystemLogger();
export default logger; export default logger;

View File

@ -70,7 +70,7 @@ router.get(
sub: sub, sub: sub,
}); });
} catch (err) { } catch (err) {
logger.error(err); logger.error("termin planer request failed, err:", err as string);
} }
const user = await User.findOne({ const user = await User.findOne({
@ -95,7 +95,7 @@ router.get(
res.redirect(PASSPORT_SUCCESS_REDIRECT_URL); res.redirect(PASSPORT_SUCCESS_REDIRECT_URL);
} catch (err) { } catch (err) {
logger.error(err); logger.error("auth/google/callback failed, err:", err as string);
res.redirect(PASSPORT_FAILURE_REDIRECT_URL); res.redirect(PASSPORT_FAILURE_REDIRECT_URL);
} }
} }

View File

@ -48,7 +48,7 @@ async function verifyCaptcha(token: string, ip?: string): Promise<boolean> {
} }
} catch (error) { } catch (error) {
reject("Error verifying captcha"); reject("Error verifying captcha");
logger.error("Error verifying captcha:", error); logger.error("Error verifying captcha:", error as string);
} }
}); });
} }

View File

@ -33,7 +33,7 @@ export async function isTerminPlanerGoogleCalendarConnected(
return userGoogleToken; return userGoogleToken;
} catch (error) { } catch (error) {
logger.warn("isTerminPlanerGoogleCalendarConnected err:", error); logger.warn("isTerminPlanerGoogleCalendarConnected err:", error as string);
return null; return null;
} }
} }