Files
2024-02-15 17:01:50 +00:00

69 lines
1.9 KiB
TypeScript

import forEach from 'lodash/forEach';
import set from 'lodash/set';
import {t} from 'sentry/locale';
import type {CustomRepo} from 'sentry/types/debugFiles';
import {CustomRepoType} from 'sentry/types/debugFiles';
export const customRepoTypeLabel = {
[CustomRepoType.APP_STORE_CONNECT]: 'App Store Connect',
[CustomRepoType.HTTP]: 'SymbolServer (HTTP)',
[CustomRepoType.S3]: 'Amazon S3',
[CustomRepoType.GCS]: 'Google Cloud Storage',
};
export const dropDownItems = [
{
value: CustomRepoType.S3,
label: customRepoTypeLabel[CustomRepoType.S3],
searchKey: t('aws amazon s3 bucket'),
},
{
value: CustomRepoType.GCS,
label: customRepoTypeLabel[CustomRepoType.GCS],
searchKey: t('gcs google cloud storage bucket'),
},
{
value: CustomRepoType.HTTP,
label: customRepoTypeLabel[CustomRepoType.HTTP],
searchKey: t('http symbol server ssqp symstore symsrv'),
},
{
value: CustomRepoType.APP_STORE_CONNECT,
label: customRepoTypeLabel[CustomRepoType.APP_STORE_CONNECT],
searchKey: t('apple store connect itunes ios'),
},
];
export function getRequestMessages(
updatedRepositoriesQuantity: number,
repositoriesQuantity: number
) {
if (updatedRepositoriesQuantity > repositoriesQuantity) {
return {
successMessage: t('Successfully added custom repository'),
errorMessage: t('An error occurred while adding a new custom repository'),
};
}
if (updatedRepositoriesQuantity < repositoriesQuantity) {
return {
successMessage: t('Successfully removed custom repository'),
errorMessage: t('An error occurred while removing the custom repository'),
};
}
return {
successMessage: t('Successfully updated custom repository'),
errorMessage: t('An error occurred while updating the custom repository'),
};
}
export function expandKeys(obj: CustomRepo) {
const result = {};
forEach(obj, (value, key) => {
set(result, key.split('.'), value);
});
return result;
}