Este archivo define las asociaciones entre los modelos User y OfertaEmpleo en Matchify. La función defineAssociations establece una relación donde un usuario puede tener muchas ofertas de empleo y cada oferta de empleo pertenece a un único usuario.
import User from './User.js';
import OfertaEmpleo from './OfertaEmpleo.js';
const defineAssociations = () => {
User.hasMany(OfertaEmpleo, { foreignKey: 'userId', as: 'ofertasEmpleo' });
OfertaEmpleo.belongsTo(User, { foreignKey: 'userId', as: 'usuario' });
};
export default defineAssociations;
User.hasMany(OfertaEmpleo, { foreignKey: 'userId', as: 'ofertasEmpleo' }):
User puede tener múltiples instancias de OfertaEmpleo.userId como clave foránea en OfertaEmpleo para relacionarlo con User.ofertasEmpleo permite acceder a todas las ofertas creadas por un usuario a través de este nombre.OfertaEmpleo.belongsTo(User, { foreignKey: 'userId', as: 'usuario' }):
OfertaEmpleo pertenece a un único User.userId como clave foránea en OfertaEmpleo para vincularlo con User.usuario permite acceder al usuario que creó la oferta de empleo.La función defineAssociations debe ser llamada en el punto donde se configuran las asociaciones de los modelos, generalmente al inicio de la aplicación, después de definir todos los modelos y antes de sincronizar con la base de datos.
Este archivo organiza y centraliza la configuración de relaciones entre los modelos, simplificando el mantenimiento y ampliación de asociaciones en Matchify.