mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import omit from 'lodash/omit';
|
|
|
|
import type EventView from 'sentry/utils/discover/eventView';
|
|
import type {
|
|
DiscoverQueryProps,
|
|
GenericChildrenProps,
|
|
} from 'sentry/utils/discover/genericDiscoverQuery';
|
|
import GenericDiscoverQuery from 'sentry/utils/discover/genericDiscoverQuery';
|
|
|
|
export interface MetricsCompatibilityData {
|
|
compatible_projects?: number[];
|
|
}
|
|
|
|
type QueryProps = Omit<DiscoverQueryProps, 'eventView' | 'api'> & {
|
|
children: (props: GenericChildrenProps<MetricsCompatibilityData>) => React.ReactNode;
|
|
eventView: EventView;
|
|
};
|
|
|
|
function getRequestPayload({
|
|
eventView,
|
|
location,
|
|
}: Pick<DiscoverQueryProps, 'eventView' | 'location'>) {
|
|
return omit(eventView.getEventsAPIPayload(location), [
|
|
'field',
|
|
'sort',
|
|
'per_page',
|
|
'query',
|
|
]);
|
|
}
|
|
|
|
export default function MetricsCompatibilityQuery({children, ...props}: QueryProps) {
|
|
return (
|
|
<GenericDiscoverQuery<MetricsCompatibilityData, {}>
|
|
route="metrics-compatibility-sums"
|
|
getRequestPayload={getRequestPayload}
|
|
{...props}
|
|
>
|
|
{({tableData, ...rest}) => {
|
|
return children({
|
|
tableData,
|
|
...rest,
|
|
});
|
|
}}
|
|
</GenericDiscoverQuery>
|
|
);
|
|
}
|