24 lines
612 B
Go
24 lines
612 B
Go
package useCases
|
|
|
|
import (
|
|
"RenewCMS/internal/domain/audit"
|
|
"time"
|
|
)
|
|
|
|
type GetActivitySummaryUseCase struct {
|
|
events audit.Repository
|
|
now func() time.Time
|
|
}
|
|
|
|
func NewGetActivitySummaryUseCase(events audit.Repository, now func() time.Time) *GetActivitySummaryUseCase {
|
|
return &GetActivitySummaryUseCase{events, now}
|
|
}
|
|
|
|
func (g *GetActivitySummaryUseCase) GetActivitySummary(query ActivityQuery) (audit.Summary, error) {
|
|
window, err := resolveActivityWindow(query, g.now())
|
|
if err != nil {
|
|
return audit.Summary{}, err
|
|
}
|
|
return g.events.Summary(audit.SummaryQuery{From: window.from, To: window.to})
|
|
}
|