2f8637048e
Signed-off-by: Micah-Zheng <102610064+Micah-Zheng@users.noreply.github.com>
87 lines
2.7 KiB
TypeScript
Vendored
87 lines
2.7 KiB
TypeScript
Vendored
import { type StatusBadgeProps } from '@/components/status-badge'
|
|
|
|
// ============================================================================
|
|
// API Key Status Configuration
|
|
// label values are i18n keys; use t(config.label) in components (e.g. StatusBadge)
|
|
// ============================================================================
|
|
|
|
export const API_KEY_STATUS = {
|
|
ENABLED: 1,
|
|
DISABLED: 2,
|
|
EXPIRED: 3,
|
|
EXHAUSTED: 4,
|
|
} as const
|
|
|
|
export const API_KEY_STATUSES: Record<
|
|
number,
|
|
Pick<StatusBadgeProps, 'variant' | 'showDot'> & {
|
|
label: string
|
|
value: number
|
|
}
|
|
> = {
|
|
[API_KEY_STATUS.ENABLED]: {
|
|
label: 'Enabled',
|
|
variant: 'success',
|
|
value: API_KEY_STATUS.ENABLED,
|
|
showDot: true,
|
|
},
|
|
[API_KEY_STATUS.DISABLED]: {
|
|
label: 'Disabled',
|
|
variant: 'neutral',
|
|
value: API_KEY_STATUS.DISABLED,
|
|
showDot: true,
|
|
},
|
|
[API_KEY_STATUS.EXPIRED]: {
|
|
label: 'Expired',
|
|
variant: 'warning',
|
|
value: API_KEY_STATUS.EXPIRED,
|
|
showDot: true,
|
|
},
|
|
[API_KEY_STATUS.EXHAUSTED]: {
|
|
label: 'Exhausted',
|
|
variant: 'danger',
|
|
value: API_KEY_STATUS.EXHAUSTED,
|
|
showDot: true,
|
|
},
|
|
} as const
|
|
|
|
export const API_KEY_STATUS_OPTIONS = Object.values(API_KEY_STATUSES).map(
|
|
(config) => ({
|
|
label: config.label,
|
|
value: String(config.value),
|
|
})
|
|
)
|
|
|
|
// ============================================================================
|
|
// Default Values
|
|
// ============================================================================
|
|
|
|
export const DEFAULT_GROUP = '' as const
|
|
|
|
// ============================================================================
|
|
// Error Messages (i18n keys: use t(ERROR_MESSAGES.xxx) when displaying)
|
|
// ============================================================================
|
|
|
|
export const ERROR_MESSAGES = {
|
|
UNEXPECTED: 'An unexpected error occurred',
|
|
LOAD_FAILED: 'Failed to load API keys',
|
|
SEARCH_FAILED: 'Failed to search API keys',
|
|
CREATE_FAILED: 'Failed to create API key',
|
|
UPDATE_FAILED: 'Failed to update API key',
|
|
DELETE_FAILED: 'Failed to delete API key',
|
|
BATCH_DELETE_FAILED: 'Failed to delete API keys',
|
|
STATUS_UPDATE_FAILED: 'Failed to update API key status',
|
|
} as const
|
|
|
|
// ============================================================================
|
|
// Success Messages (i18n keys: use t(SUCCESS_MESSAGES.xxx) when displaying)
|
|
// ============================================================================
|
|
|
|
export const SUCCESS_MESSAGES = {
|
|
API_KEY_CREATED: 'API Key created successfully',
|
|
API_KEY_UPDATED: 'API Key updated successfully',
|
|
API_KEY_DELETED: 'API Key deleted successfully',
|
|
API_KEY_ENABLED: 'API Key enabled successfully',
|
|
API_KEY_DISABLED: 'API Key disabled successfully',
|
|
} as const
|