File size: 769 Bytes
1e480b5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const mongoose = require('mongoose');

// Simple activity log for accountability: who did what, when
const activityLogSchema = new mongoose.Schema(
  {
    user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
    userName: { type: String, required: true }, // snapshot
    action: { type: String, required: true }, // e.g. "LOGIN", "CREATE_ORDER", "VOID_ORDER", "ADD_EXPENSE"
    entity: { type: String, default: null }, // e.g. "Order", "Expense"
    entityId: { type: mongoose.Schema.Types.ObjectId, default: null },
    detail: { type: String, default: '' },
    ip: { type: String, default: '' },
  },
  { timestamps: true }
);

activityLogSchema.index({ createdAt: -1 });

module.exports = mongoose.model('ActivityLog', activityLogSchema);