1 |
|
2 |
|
3 |
|
4 | var mongoose = require('mongoose');
|
5 |
|
6 | function MongooseAdminAudit() {
|
7 | this.fields = {};
|
8 |
|
9 | var AuditData = new mongoose.Schema({
|
10 | created:{type:Date, required:true, 'default':new Date},
|
11 | user:{type:mongoose.Schema.ObjectId, required:true},
|
12 | modelName:{type:String},
|
13 | collectionName:{type:String},
|
14 | documentId:{type:mongoose.Schema.ObjectId},
|
15 | action:{type:String, required:true},
|
16 | note:{type:String}
|
17 | });
|
18 | mongoose.model('_MongooseAdminAudit', AuditData);
|
19 | };
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 | MongooseAdminAudit.logActivity = function(user, modelName, collectionName, documentId, action, note, onReady) {
|
34 | var auditLog = new MongooseAdminAudit();
|
35 | var auditLogModel = mongoose.model('_MongooseAdminAudit');
|
36 |
|
37 | auditLogData = new auditLogModel();
|
38 | auditLogData.user = user.fields._id;
|
39 | auditLogData.modelName = modelName;
|
40 | auditLogData.collectionName = collectionName;
|
41 | auditLogData.documentId = documentId;
|
42 | auditLogData.action = action;
|
43 | auditLogData.note = note;
|
44 |
|
45 | auditLogData.save(function(err) {
|
46 | if (err) {
|
47 | console.log('Unable to store item in audit log because: ' + err);
|
48 | onReady('Unable to store item in log', null);
|
49 | } else {
|
50 | auditLog.fields = auditLogData;
|
51 | onReady(null, auditLog);
|
52 | }
|
53 | });
|
54 | };
|
55 |
|
56 | exports.MongooseAdminAudit = MongooseAdminAudit;
|