mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-12 16:18:59 +00:00
Complete V1 scaffold
This commit is contained in:
@@ -108,3 +108,54 @@ func (s *AuditService) ListByAction(ctx context.Context, action string, from, to
|
||||
|
||||
return filtered, nil
|
||||
}
|
||||
|
||||
// ListAuditEvents returns paginated audit events (handler interface method).
|
||||
func (s *AuditService) ListAuditEvents(page, perPage int) ([]domain.AuditEvent, int64, error) {
|
||||
if page < 1 {
|
||||
page = 1
|
||||
}
|
||||
if perPage < 1 {
|
||||
perPage = 50
|
||||
}
|
||||
|
||||
filter := &repository.AuditFilter{
|
||||
Offset: int64((page - 1) * perPage),
|
||||
PerPage: int64(perPage),
|
||||
}
|
||||
|
||||
events, err := s.auditRepo.List(context.Background(), filter)
|
||||
if err != nil {
|
||||
return nil, 0, fmt.Errorf("failed to list audit events: %w", err)
|
||||
}
|
||||
|
||||
// Convert pointers to values for the handler interface
|
||||
var result []domain.AuditEvent
|
||||
for _, e := range events {
|
||||
if e != nil {
|
||||
result = append(result, *e)
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Get total count from repository
|
||||
total := int64(len(result))
|
||||
|
||||
return result, total, nil
|
||||
}
|
||||
|
||||
// GetAuditEvent returns a single audit event (handler interface method).
|
||||
func (s *AuditService) GetAuditEvent(id string) (*domain.AuditEvent, error) {
|
||||
filter := &repository.AuditFilter{
|
||||
ID: id,
|
||||
}
|
||||
|
||||
events, err := s.auditRepo.List(context.Background(), filter)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get audit event: %w", err)
|
||||
}
|
||||
|
||||
if len(events) == 0 {
|
||||
return nil, fmt.Errorf("audit event not found")
|
||||
}
|
||||
|
||||
return events[0], nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user