mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
83 lines
1.9 KiB
TypeScript
83 lines
1.9 KiB
TypeScript
import {t} from 'sentry/locale';
|
|
import type RequestError from 'sentry/utils/requestError/requestError';
|
|
|
|
type TrustedRelaysResponseError = {
|
|
message: string;
|
|
type:
|
|
| 'unknown'
|
|
| 'bad-structure'
|
|
| 'missing-name'
|
|
| 'empty-name'
|
|
| 'missing-key'
|
|
| 'invalid-key'
|
|
| 'duplicated-key';
|
|
};
|
|
|
|
interface TrustedRelaysRequestError extends RequestError {
|
|
responseJSON?: {
|
|
trustedRelays: Array<string>;
|
|
};
|
|
}
|
|
|
|
function createTrustedRelaysResponseError(
|
|
error: TrustedRelaysRequestError
|
|
): TrustedRelaysResponseError {
|
|
const errorMessage = error.responseJSON?.trustedRelays[0];
|
|
|
|
if (!errorMessage) {
|
|
return {
|
|
type: 'unknown',
|
|
message: t('An unknown error occurred while saving Relay public key.'),
|
|
};
|
|
}
|
|
|
|
if (errorMessage === 'Bad structure received for Trusted Relays') {
|
|
return {
|
|
type: 'bad-structure',
|
|
message: t('An invalid structure was sent.'),
|
|
};
|
|
}
|
|
|
|
if (errorMessage === 'Relay key info with missing name in Trusted Relays') {
|
|
return {
|
|
type: 'missing-name',
|
|
message: t('Field Required'),
|
|
};
|
|
}
|
|
|
|
if (errorMessage === 'Relay key info with empty name in Trusted Relays') {
|
|
return {
|
|
type: 'empty-name',
|
|
message: t('Invalid Field'),
|
|
};
|
|
}
|
|
|
|
if (errorMessage.startsWith('Missing public key for Relay key info with name:')) {
|
|
return {
|
|
type: 'missing-key',
|
|
message: t('Field Required'),
|
|
};
|
|
}
|
|
|
|
if (errorMessage.startsWith('Invalid public key for relay key info with name:')) {
|
|
return {
|
|
type: 'invalid-key',
|
|
message: t('Invalid Relay key'),
|
|
};
|
|
}
|
|
|
|
if (errorMessage.startsWith('Duplicated key in Trusted Relays:')) {
|
|
return {
|
|
type: 'duplicated-key',
|
|
message: t('Relay key already taken'),
|
|
};
|
|
}
|
|
|
|
return {
|
|
type: 'unknown',
|
|
message: t('An unknown error occurred while saving Relay public key.'),
|
|
};
|
|
}
|
|
|
|
export default createTrustedRelaysResponseError;
|