Este archivo define los controladores relacionados con la gestión de empresas en Matchify, utilizando el servicio companyService.js para realizar las operaciones necesarias. Los controladores manejan las solicitudes HTTP y las respuestas correspondientes.

import { registerCompanyWithUser, getCompanyByIdService } from '../services/companyService.js';

export const registerCompany = async (req, res) => {
    const {
        username, email, password, telefono,
        companyName, direccion, descripcion, sitioWeb, industriaId
    } = req.body;

    const userData = { username, email, password, telefono };
    const companyData = { nombre: companyName, direccion, telefono, email, descripcion, sitioWeb, industriaId };

    try {
        const { empresa, user } = await registerCompanyWithUser(companyData, userData);
        return res.status(201).json({ success: true, empresa, user });
    } catch (error) {
        return res.status(400).json({ success: false, message: error.message });
    }
};

export const getCompanyById = async (req, res) => {
    const { empresaId } = req.params;

    try {
        const empresa = await getCompanyByIdService(empresaId);
        if (!empresa) {
            return res.status(404).json({ success: false, message: 'Empresa no encontrada' });
        }
        return res.status(200).json({ success: true, empresa });
    } catch (error) {
        return res.status(500).json({ success: false, message: `Error al obtener la empresa: ${error.message}` });
    }
};

Explicación de cada función

  1. registerCompany(req, res):
  2. getCompanyById(req, res):