ghl-sentry
Version:
58 lines (57 loc) • 1.71 kB
JavaScript
import { captureException, captureMessage, setTags, setUser, } from "@sentry/vue";
export const setSentryMeta = (event) => {
try {
setTags({
locationId: event.locationId,
locale: event.locale,
companyId: event.companyId,
});
if (event?.email && event?.userId) {
setUser({ id: event.userId, email: event.email });
}
else {
setUser({});
}
}
catch (err) {
captureMessage(`Issue while setting sentry meta '${err}', please change to use hyphen '-'.`);
}
};
export const handleFireStoreError = (err, meta) => {
let errMsg;
let error;
if (typeof err === "string") {
errMsg = err;
error = new Error(err);
}
else if (err instanceof Error) {
errMsg = err.message;
error = err;
}
else {
errMsg = "Login Error: Something went wrong with firebase connection";
error = new Error(errMsg);
}
const tags = {
...meta,
err: errMsg,
firebaseError: true,
};
captureException(error, { tags });
};
export const extractErrorMessageFromOrigException = (originalException) => {
let errorMessage = "";
const ogException = originalException ?? "";
if (typeof ogException === "string") {
errorMessage += ogException;
}
else {
if (ogException.name)
errorMessage += ` ${JSON.stringify(ogException.name)}`;
if (ogException.message)
errorMessage += ` ${JSON.stringify(ogException.message)}`;
if (ogException.stack)
errorMessage += ` ${JSON.stringify(ogException.stack)}`;
}
return errorMessage;
};