Skip to content

Commit ca9278a

Browse files
1 parent 80bcbc8 commit ca9278a

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed

static/gsApp/views/amCheckout/types.tsx

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,8 @@ export type CheckoutAPIData = Omit<BaseCheckoutData, 'selectedProducts'> & {
3636
paymentIntent?: string;
3737
previewToken?: string;
3838
referrer?: string;
39-
// TODO(data categories): BIL-965
40-
reservedAttachments?: number;
41-
reservedErrors?: number;
42-
reservedMonitorSeats?: number;
43-
reservedProfileDuration?: number;
44-
reservedReplays?: number;
45-
reservedSpans?: number;
46-
reservedTransactions?: number;
47-
reservedUptime?: number;
4839
seer?: boolean; // TODO: in future, we should just use selectedProducts
49-
};
40+
} & Partial<Record<`reserved${Capitalize<DataCategory>}`, number>>;
5041

5142
export type StepProps = {
5243
activePlan: Plan;

static/gsApp/views/amCheckout/utils.tsx

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {t} from 'sentry/locale';
1212
import {DataCategory} from 'sentry/types/core';
1313
import type {Organization} from 'sentry/types/organization';
1414
import {browserHistory} from 'sentry/utils/browserHistory';
15+
import {toTitleCase} from 'sentry/utils/string/toTitleCase';
1516
import normalizeUrl from 'sentry/utils/url/normalizeUrl';
1617

1718
import {
@@ -510,20 +511,14 @@ export function getCheckoutAPIData({
510511
}: APIDataProps) {
511512
const formatReservedData = (value: number | null | undefined) => value ?? undefined;
512513

513-
const reservedData = {
514-
// TODO(data categories): BIL-965
515-
reservedErrors: formatReservedData(formData.reserved.errors),
516-
reservedTransactions: formatReservedData(formData.reserved.transactions),
517-
reservedAttachments: formatReservedData(formData.reserved.attachments),
518-
reservedReplays: formatReservedData(formData.reserved.replays),
519-
reservedMonitorSeats: formatReservedData(formData.reserved.monitorSeats),
520-
reservedProfileDuration: formatReservedData(formData.reserved.profileDuration),
521-
reservedSpans: formatReservedData(formData.reserved.spans),
522-
reservedUptime: formatReservedData(formData.reserved.uptime),
523-
} satisfies Partial<
524-
// Enforce plural spelling against the enums in DataCategory
525-
Record<`reserved${Capitalize<DataCategory>}`, number | undefined>
526-
>;
514+
const reservedData = Object.fromEntries(
515+
Object.entries(formData.reserved).map(([category, value]) => [
516+
`reserved${toTitleCase(category, {
517+
allowInnerUpperCase: true,
518+
})}`,
519+
formatReservedData(value),
520+
])
521+
) satisfies Partial<Record<`reserved${Capitalize<DataCategory>}`, number>>;
527522

528523
const onDemandMaxSpend = shouldUpdateOnDemand
529524
? (formData.onDemandMaxSpend ?? 0)

0 commit comments

Comments
 (0)