Merge branch 'dev' into 'staging'

feat: optional tariff price

See merge request pena-services/hub_admin_backend_service!39
This commit is contained in:
Kirill 2023-06-11 11:33:46 +00:00
commit bd7c6e2e21
4 changed files with 5 additions and 9 deletions

@ -4,17 +4,13 @@ import type { TariffMessage } from "@/types/messages/tariff-message.type";
import type { ObjectWithRequiredFields } from "@/types/object-with-required-fields"; import type { ObjectWithRequiredFields } from "@/types/object-with-required-fields";
export const validateTariff = (tariff?: TariffMessage): [ObjectWithRequiredFields<TariffMessage>, Error | null] => { export const validateTariff = (tariff?: TariffMessage): [ObjectWithRequiredFields<TariffMessage>, Error | null] => {
const [validatedTariff, errorEmpty] = validateEmptyFields( const [validatedTariff, errorEmpty] = validateEmptyFields(tariff ?? {}, ["isCustom", "name", "privilegies"], false);
tariff ?? {},
["isCustom", "name", "price", "privilegies"],
false
);
if (errorEmpty) { if (errorEmpty) {
return [validatedTariff, errorEmpty]; return [validatedTariff, errorEmpty];
} }
if (isNaN(Number(validatedTariff.price))) { if (validatedTariff.price && isNaN(Number(validatedTariff.price))) {
return [validatedTariff, new Error("invalid 'price' value")]; return [validatedTariff, new Error("invalid 'price' value")];
} }

@ -12,7 +12,7 @@ const schema: SchemaDefinition<Tariff> = {
}, },
price: { price: {
type: Number, type: Number,
required: true, required: false,
}, },
isCustom: { isCustom: {
type: Boolean, type: Boolean,

@ -29,7 +29,7 @@ export const getTariffsQuerystring: SwaggerMessage = {
export const tariffBody: SwaggerMessage = { export const tariffBody: SwaggerMessage = {
type: "object", type: "object",
description: "Тариф", description: "Тариф",
required: ["name", "price", "isCustom", "privilegies"], required: ["name", "isCustom", "privilegies"],
properties: { properties: {
name: { type: "string" }, name: { type: "string" },
price: { type: "number" }, price: { type: "number" },

@ -3,7 +3,7 @@ import type { Eloquent } from "./eloquent.type";
export type Tariff = Eloquent & { export type Tariff = Eloquent & {
name: string; name: string;
price: number; price?: number;
isCustom: boolean; isCustom: boolean;
privilegies: Array<Omit<Privilege, keyof Eloquent>>; privilegies: Array<Omit<Privilege, keyof Eloquent>>;
}; };