27 lines
738 B
TypeScript
27 lines
738 B
TypeScript
'use server';
|
|
|
|
import { companySchema } from '@/lib/validations/companySchema';
|
|
|
|
export async function submitCompanyRegistration(formData: FormData) {
|
|
const data = {
|
|
companyName: formData.get('companyName')?.toString() || '',
|
|
contactPerson: formData.get('contactPerson')?.toString() || '',
|
|
email: formData.get('email')?.toString() || '',
|
|
phone: formData.get('phone')?.toString() || '',
|
|
};
|
|
|
|
const result = companySchema.safeParse(data);
|
|
|
|
if (!result.success) {
|
|
const errors = result.error.errors.map((err) => ({
|
|
path: err.path.join('.'),
|
|
message: err.message,
|
|
}));
|
|
|
|
throw new Error(
|
|
'Validation failed: ' +
|
|
errors.map((e) => `${e.path}: ${e.message}`).join(', '),
|
|
);
|
|
}
|
|
}
|