fix validator in create cpompany schema

This commit is contained in:
richardtekula
2026-01-23 06:28:56 +01:00
parent 4c4c9accae
commit d85f6761cf
3 changed files with 8 additions and 2 deletions

View File

@@ -28,6 +28,7 @@ export const getAllCompanies = async (searchTerm = null, userId = null, userRole
description: companies.description,
address: companies.address,
city: companies.city,
postalCode: companies.postalCode,
country: companies.country,
phone: companies.phone,
email: companies.email,
@@ -81,6 +82,7 @@ export const getCompanyById = async (companyId) => {
description: companies.description,
address: companies.address,
city: companies.city,
postalCode: companies.postalCode,
country: companies.country,
phone: companies.phone,
email: companies.email,
@@ -110,7 +112,7 @@ export const getCompanyById = async (companyId) => {
* Create new company
*/
export const createCompany = async (userId, data) => {
const { name, description, address, city, country, phone, email, website, status } = data;
const { name, description, address, city, postalCode, country, phone, email, website, status } = data;
// Check if company with same name already exists
const [existing] = await db
@@ -130,6 +132,7 @@ export const createCompany = async (userId, data) => {
description: description || null,
address: address || null,
city: city || null,
postalCode: postalCode || null,
country: country || null,
phone: phone || null,
email: email || null,
@@ -156,7 +159,7 @@ export const createCompany = async (userId, data) => {
export const updateCompany = async (companyId, data) => {
const company = await getCompanyById(companyId);
const { name, description, address, city, country, phone, email, website, status } = data;
const { name, description, address, city, postalCode, country, phone, email, website, status } = data;
// If name is being changed, check for duplicates
if (name && name !== company.name) {
@@ -178,6 +181,7 @@ export const updateCompany = async (companyId, data) => {
description: description !== undefined ? description : company.description,
address: address !== undefined ? address : company.address,
city: city !== undefined ? city : company.city,
postalCode: postalCode !== undefined ? postalCode : company.postalCode,
country: country !== undefined ? country : company.country,
phone: phone !== undefined ? phone : company.phone,
email: email !== undefined ? email : company.email,

View File

@@ -11,6 +11,7 @@ export const createCompanySchema = z.object({
description: z.string().max(1000).optional(),
address: z.string().max(255).optional(),
city: z.string().max(100).optional(),
postalCode: z.string().max(20).optional().or(z.literal('')),
country: z.string().max(100).optional(),
phone: z.string().max(50).optional(),
email: z.string().email('Neplatný formát emailu').max(255).optional().or(z.literal('')),
@@ -23,6 +24,7 @@ export const updateCompanySchema = z.object({
description: z.string().max(1000).optional(),
address: z.string().max(255).optional(),
city: z.string().max(100).optional(),
postalCode: z.string().max(20).optional().or(z.literal('').or(z.null())),
country: z.string().max(100).optional(),
phone: z.string().max(50).optional(),
email: z.string().email('Neplatný formát emailu').max(255).optional().or(z.literal('')),