import { getOptions } from 'utils';
export const ZONE_TYPE_ENUM = {
primary: 'PRIMARY',
secondary: 'SECONDARY',
};
export const ZONE_TYPES = {
[ZONE_TYPE_ENUM.primary]: t('Primary'),
[ZONE_TYPE_ENUM.secondary]: t('Secondary'),
};
export const zoneTypeOptions = getOptions(ZONE_TYPES);
export const zoneNameRegex = /^.+\.$/;
export const zoneNameMessage = t('The zone name should end with "."');
export const validateZoneName = (rule, value) => {
if (!value) {
return Promise.resolve();
}
if (!zoneNameRegex.test(value)) {
return Promise.reject(zoneNameMessage);
}
const labels = value.trim().split('.');
if (labels.length <= 1) {
return Promise.reject(
new Error(t('More than one label is required, such as: "example.org."'))
);
}
return Promise.resolve();
};
export const ZONE_STATUS = {
ACTIVE: t('Active'),
PENDING: t('Pending'),
ERROR: t('Error'),
};