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}) }