|
@@ -6,31 +6,19 @@ import ExternalLink from 'sentry/components/links/externalLink';
|
|
|
import LoadingError from 'sentry/components/loadingError';
|
|
|
import SentryDocumentTitle from 'sentry/components/sentryDocumentTitle';
|
|
|
import {t, tct} from 'sentry/locale';
|
|
|
-import {Organization, Project} from 'sentry/types';
|
|
|
import getRouteStringFromRoutes from 'sentry/utils/getRouteStringFromRoutes';
|
|
|
import {useRoutes} from 'sentry/utils/useRoutes';
|
|
|
-import withOrganization from 'sentry/utils/withOrganization';
|
|
|
-import withProject from 'sentry/utils/withProject';
|
|
|
|
|
|
const ERROR_NAME = 'Permission Denied';
|
|
|
|
|
|
-type Props = {
|
|
|
- organization: Organization;
|
|
|
- project?: Project;
|
|
|
-};
|
|
|
-
|
|
|
-function PermissionDenied(props: Props) {
|
|
|
- const {organization, project} = props;
|
|
|
+function PermissionDenied() {
|
|
|
const routes = useRoutes();
|
|
|
useEffect(() => {
|
|
|
const route = getRouteStringFromRoutes(routes);
|
|
|
- Sentry.withScope(scope => {
|
|
|
- scope.setFingerprint([ERROR_NAME, route]);
|
|
|
- scope.setExtra('route', route);
|
|
|
- scope.setExtra('orgFeatures', (organization && organization.features) || []);
|
|
|
- scope.setExtra('orgAccess', (organization && organization.access) || []);
|
|
|
- scope.setExtra('projectFeatures', (project && project.features) || []);
|
|
|
- Sentry.captureException(new Error(`${ERROR_NAME}${route ? ` : ${route}` : ''}`));
|
|
|
+ Sentry.addBreadcrumb({
|
|
|
+ category: 'auth',
|
|
|
+ message: `${ERROR_NAME}${route ? ` : ${route}` : ''}`,
|
|
|
+ level: 'error',
|
|
|
});
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
}, []);
|
|
@@ -54,4 +42,4 @@ function PermissionDenied(props: Props) {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-export default withOrganization(withProject(PermissionDenied));
|
|
|
+export default PermissionDenied;
|