Uso Sequelize y en mi modelo de usuario tengo un gancho y un prototipo (ver más abajo). En la segunda línea del gancho, trato de hacer referencia al prototipo. Pero esto no funciona. Vuelve
this.getAllUsersInclMemberno es una función
¿Cómo puedo invocar el prototipo desde el interior del gancho?
module.exports = (sequelize) => { User.afterUpdate(async (options) => { // here I try to call upon the prototype for the instance let users = await this.getAllUsersInclMembers(); await Promise.all( await users.forEach(async (user) => { // here we reference to a prototype in another model user.syncToDb(); }) ); }); User.prototype.getAllUsersInclMembers = function { return sequelize.models.Product.findAll({ where: { user_id: this.getDataValue("id") }, }); }; };Actualización: actualicé el gancho al código a continuación, pero aún con el mismo resultado:
User.afterUpdate(async function (user, options) { // here I try to call upon the prototype for the instance let users = await this.getAllUsersInclMembers(); await Promise.all( await users.forEach(async (user) => { // here we reference to a prototype in another model user.syncToDb(); }) ); });lo he resuelto:
User.addHook("afterUpdate", async function (instance, options) { let users = await instance.getAllUsersInclMembers(); await Promise.all( await users.forEach(async (user) => { // here we reference to a prototype in another model user.syncToDb(); }) ); });