diff --git a/services/web/test/acceptance/src/helpers/User.mjs b/services/web/test/acceptance/src/helpers/User.mjs index f9010d69fd..75159ecad6 100644 --- a/services/web/test/acceptance/src/helpers/User.mjs +++ b/services/web/test/acceptance/src/helpers/User.mjs @@ -266,6 +266,8 @@ class User { db.userAuditLogEntries .find({ userId: new ObjectId(this._id) }) + // Explicitly sort in ascending chronological order + .sort({ timestamp: 1 }) .toArray((error, auditLog) => { if (error) { return callback(error) diff --git a/tools/migrations/20251117093546_add_timestamp_to_userAuditLogEntries.mjs b/tools/migrations/20251117093546_add_timestamp_to_userAuditLogEntries.mjs new file mode 100644 index 0000000000..1eabb5a7a6 --- /dev/null +++ b/tools/migrations/20251117093546_add_timestamp_to_userAuditLogEntries.mjs @@ -0,0 +1,36 @@ +import Helpers from './lib/helpers.mjs' + +const oldIndex = { + key: { + userId: 1, + }, + name: 'user_id_1', +} + +const newIndex = { + key: { + userId: 1, + timestamp: -1, + }, + name: 'userId_1_timestamp_-1', +} + +const tags = ['server-ce', 'server-pro', 'saas'] + +const migrate = async client => { + const { db } = client + await Helpers.addIndexesToCollection(db.userAuditLogEntries, [newIndex]) + await Helpers.dropIndexesFromCollection(db.userAuditLogEntries, [oldIndex]) +} + +const rollback = async client => { + const { db } = client + await Helpers.addIndexesToCollection(db.userAuditLogEntries, [oldIndex]) + await Helpers.dropIndexesFromCollection(db.userAuditLogEntries, [newIndex]) +} + +export default { + tags, + migrate, + rollback, +}