diff --git a/server/models/Document.js b/server/models/Document.js index 7bcb61d9..bf2c2052 100644 --- a/server/models/Document.js +++ b/server/models/Document.js @@ -141,8 +141,8 @@ Document.associate = models => { { include: [ { model: models.Collection, as: 'collection' }, - { model: models.User, as: 'createdBy' }, - { model: models.User, as: 'updatedBy' }, + { model: models.User, as: 'createdBy', paranoid: false }, + { model: models.User, as: 'updatedBy', paranoid: false }, ], where: { publishedAt: { @@ -156,8 +156,8 @@ Document.associate = models => { Document.addScope('withUnpublished', { include: [ { model: models.Collection, as: 'collection' }, - { model: models.User, as: 'createdBy' }, - { model: models.User, as: 'updatedBy' }, + { model: models.User, as: 'createdBy', paranoid: false }, + { model: models.User, as: 'updatedBy', paranoid: false }, ], }); Document.addScope('withViews', userId => ({ diff --git a/server/models/User.js b/server/models/User.js index ec5416d6..0b720be5 100644 --- a/server/models/User.js +++ b/server/models/User.js @@ -25,7 +25,7 @@ const User = sequelize.define( slackData: DataTypes.JSONB, jwtSecret: encryptedFields.vault('jwtSecret'), lastActiveAt: DataTypes.DATE, - lastActiveIp: DataTypes.STRING, + lastActiveIp: { type: DataTypes.STRING, allowNull: true }, lastSignedInAt: DataTypes.DATE, lastSignedInIp: DataTypes.STRING, suspendedAt: DataTypes.DATE, @@ -92,12 +92,18 @@ const setRandomJwtSecret = model => { model.jwtSecret = crypto.randomBytes(64).toString('hex'); }; -const removeIdentifyingInfo = model => { +const removeIdentifyingInfo = async model => { model.email = ''; - model.username = ''; + model.name = 'Unknown'; + model.avatarUrl = ''; + model.serviceId = ''; + model.username = null; model.slackData = null; - model.serviceId = null; - model.isAdmin = false; + model.lastActiveIp = null; + + // this shouldn't be needed once this issue is resolved: + // https://github.com/sequelize/sequelize/issues/9318 + await model.save({ hooks: false }); }; const checkLastAdmin = async model => {