2023-03-17 17:42:31 +00:00
|
|
|
import { validateEmptyFields } from "@/utils/validate-empty-fields";
|
|
|
|
|
|
|
|
import type { TariffMessage } from "@/types/messages/tariff-message.type";
|
|
|
|
import type { ObjectWithRequiredFields } from "@/types/object-with-required-fields";
|
|
|
|
|
|
|
|
export const validateTariff = (tariff?: TariffMessage): [ObjectWithRequiredFields<TariffMessage>, Error | null] => {
|
2023-08-22 08:14:53 +00:00
|
|
|
const [validatedTariff, errorEmpty] = validateEmptyFields(tariff ?? {}, ["isCustom", "name", "privileges"], false);
|
2023-03-17 17:42:31 +00:00
|
|
|
|
|
|
|
if (errorEmpty) {
|
|
|
|
return [validatedTariff, errorEmpty];
|
|
|
|
}
|
|
|
|
|
2023-06-11 11:30:46 +00:00
|
|
|
if (validatedTariff.price && isNaN(Number(validatedTariff.price))) {
|
2023-03-17 17:42:31 +00:00
|
|
|
return [validatedTariff, new Error("invalid 'price' value")];
|
|
|
|
}
|
|
|
|
|
|
|
|
return [validatedTariff, null];
|
|
|
|
};
|