19 lines
731 B
TypeScript
19 lines
731 B
TypeScript
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] => {
|
|
const [validatedTariff, errorEmpty] = validateEmptyFields(tariff ?? {}, ["isCustom", "name", "privileges"], false);
|
|
|
|
if (errorEmpty) {
|
|
return [validatedTariff, errorEmpty];
|
|
}
|
|
|
|
if (validatedTariff.price && isNaN(Number(validatedTariff.price))) {
|
|
return [validatedTariff, new Error("invalid 'price' value")];
|
|
}
|
|
|
|
return [validatedTariff, null];
|
|
};
|