logPolicyOperation logs a policy operation (add or remove) with before and after events.
(eventType log.EventType, sec string, rule []string, operation func() (bool, error))
| 141 | |
| 142 | // logPolicyOperation logs a policy operation (add or remove) with before and after events. |
| 143 | func (e *Enforcer) logPolicyOperation(eventType log.EventType, sec string, rule []string, operation func() (bool, error)) (bool, error) { |
| 144 | var logEntry *log.LogEntry |
| 145 | if e.logger != nil && sec == "p" { |
| 146 | logEntry = &log.LogEntry{ |
| 147 | EventType: eventType, |
| 148 | Rules: [][]string{rule}, |
| 149 | } |
| 150 | _ = e.logger.OnBeforeEvent(logEntry) |
| 151 | } |
| 152 | |
| 153 | ok, err := operation() |
| 154 | |
| 155 | if e.logger != nil && logEntry != nil { |
| 156 | if ok && err == nil { |
| 157 | logEntry.RuleCount = 1 |
| 158 | } else { |
| 159 | logEntry.RuleCount = 0 |
| 160 | logEntry.Error = err |
| 161 | } |
| 162 | _ = e.logger.OnAfterEvent(logEntry) |
| 163 | } |
| 164 | |
| 165 | return ok, err |
| 166 | } |
no test coverage detected