All files / src/model audits.coffee

100% Statements 8/8
100% Branches 0/0
100% Functions 0/0
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 731x 1x 1x 1x                                                                               1x                                 1x                   1x 1x  
mongoose = require "mongoose"
server = require "../server"
connectionATNA = server.connectionATNA
Schema = mongoose.Schema
 
codeTypeDef =
  "code":           String
  "displayName":    String
  "codeSystemName": String
 
syslogDef =
  "prival":     Number
  "facilityID": Number
  "severityID": Number
  "facility":   String
  "severity":   String
  "type":       { type: String }
  "time":       Date
  "host":       String
  "appName":    String
  "pid":        String
  "msgID":      String
 
ActiveParticipantDef =
  "userID":                     String
  "alternativeUserID":          String
  "userIsRequestor":            String
  "networkAccessPointID":       String
  "networkAccessPointTypeCode": String
  "roleIDCode":                 codeTypeDef
  
 
ParticipantObjectIdentificationDef =
  "participantObjectID":            String
  "participantObjectTypeCode":      String
  "participantObjectTypeCodeRole":  String
  "participantObjectIDTypeCode":    codeTypeDef
  "participantObjectQuery":         String
  "participantObjectDetail":
    "type":   { type: String }
    "value":  String
 
 
AuditRecordSchema = new Schema
  "rawMessage":                       String
  "syslog":                           syslogDef
  "eventIdentification":
    "eventDateTime":          type: Date, required: true, default: Date.now, index: true
    "eventOutcomeIndicator":  String
    "eventActionCode":        String
    "eventID":                codeTypeDef
    "eventTypeCode":          codeTypeDef
  "activeParticipant":                [ActiveParticipantDef]
  "auditSourceIdentification":
    "auditSourceID":          String
    "auditEnterpriseSiteID":  String
    "auditSourceTypeCode":    codeTypeDef
  "participantObjectIdentification":  [ParticipantObjectIdentificationDef]
 
# keeps track of unique codes for various fields found in the audits collection
AuditMetaRecordSchema = new Schema {
  "eventType":                    [codeTypeDef]
  "eventID":                      [codeTypeDef]
  "activeParticipantRoleID":      [codeTypeDef]
  "participantObjectIDTypeCode":  [codeTypeDef]
  "auditSourceID":                [String]
}, {
  "collection": "auditMeta"
}
 
exports.Audit = connectionATNA.model 'Audit', AuditRecordSchema
exports.AuditMeta = connectionATNA.model 'AuditMeta', AuditMetaRecordSchema