Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

97
Visualizações
Cómo crear (optimizar) el servicio en Backend (ExpressJS) con secuela

Intenté crear una API para la tienda de Internet usando ExpressJS y hacer una secuencia. Tengo usuarios, cesta y dispositivos. Para conectar la cesta y los dispositivos elegidos por el usuario, se utiliza la tabla intermedia BasketDevice.

Modelos:

 export const Models = {

 User: sequelize.define('user',
 {
 id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
 email: { type: DataTypes.STRING, unique: true },
 password: { type: DataTypes.STRING },
 role: { type: DataTypes.STRING, defaultValue: 'USER' },
 isActivated: { type: DataTypes.BOOLEAN, defaultValue: false},
 activationLink: { type: DataTypes.STRING, unique: true }
 }
 ),
 Basket: sequelize.define('basket',
 {
 id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
 }
 ),
 BasketDevice: sequelize.define('basketDevice',
 {
 id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, 
 }
 ),
 Device: sequelize.define('device',
 {
 id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
 name: { type: DataTypes.STRING, allowNull: false, unique: true },
 price: { type: DataTypes.INTEGER, allowNull: false },
 img: { type: DataTypes.STRING, allowNull: false },
 rating: { type: DataTypes.INTEGER, defaultValue: 0 },
 }
}

Asociaciones entre tablas:

 Models.User.hasOne(Models.Basket)
Models.Basket.belongsTo(Models.User)

Models.Basket.hasMany(Models.BasketDevice, {as: 'devices'})
Models.BasketDevice.belongsTo(Models.Basket)

Models.Device.hasMany(Models.BasketDevice)
Models.BasketDevice.belongsTo(Models.Device)

Intenté dar como respuesta la cesta incluye el dispositivo de la cesta

Servicio de canasta:

 class BasketService {
 async getBasket(token: string) {
 const userData = await TokenService.verifyRefreshToken(token) as any
 const basket = await Models.Basket.findOne({
 where: { userId: userData.id },
 include: [{model: Models.BasketDevice, as: 'devices'}]
 })

 return basket
 }
}

No sé cómo crear la función getBasket que agrega dispositivos al carrito y cuenta un dispositivo ¿Cuál es la forma óptima de agregar dispositivos al carrito?

almost 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda