sortEvents 排序事件
(events []*AuditEvent, orderBy string, desc bool)
| 587 | |
| 588 | // sortEvents 排序事件 |
| 589 | func (al *InMemoryAuditLog) sortEvents(events []*AuditEvent, orderBy string, desc bool) { |
| 590 | // 简化排序实现,实际应用中应该使用更高效的排序算法 |
| 591 | if len(events) <= 1 { |
| 592 | return |
| 593 | } |
| 594 | |
| 595 | switch orderBy { |
| 596 | case "timestamp": |
| 597 | if desc { |
| 598 | for i := range len(events) - 1 { |
| 599 | for j := i + 1; j < len(events); j++ { |
| 600 | if events[i].Timestamp.Before(events[j].Timestamp) { |
| 601 | events[i], events[j] = events[j], events[i] |
| 602 | } |
| 603 | } |
| 604 | } |
| 605 | } else { |
| 606 | for i := range len(events) - 1 { |
| 607 | for j := i + 1; j < len(events); j++ { |
| 608 | if events[i].Timestamp.After(events[j].Timestamp) { |
| 609 | events[i], events[j] = events[j], events[i] |
| 610 | } |
| 611 | } |
| 612 | } |
| 613 | } |
| 614 | } |
| 615 | } |
| 616 | |
| 617 | // GetEvent 获取事件 |
| 618 | func (al *InMemoryAuditLog) GetEvent(eventID string) (*AuditEvent, error) { |