package adminui import ( "context" "tug/internal/service/admin" "tug/internal/transport/web" ) func (b Backend) Audit(ctx context.Context, q web.AdminAuditQuery) (web.AdminAuditPage, error) { query := admin.AuditQuery{Actor: q.Actor, Action: q.Action, Subject: q.Subject, Address: q.Address, From: q.From, To: q.To} if q.Older != nil { query.Older = &admin.AuditCursor{At: q.Older.At, ID: q.Older.ID} } if q.Newer != nil { query.Newer = &admin.AuditCursor{At: q.Newer.At, ID: q.Newer.ID} } p, err := b.service.Audit(ctx, query) if err != nil { return web.AdminAuditPage{}, mapError(err) } out := web.AdminAuditPage{Newer: p.Newer, Older: p.Older, Retention: p.Retention} for _, r := range p.Rows { out.Rows = append(out.Rows, web.AdminAuditRow{ID: r.ID, At: r.At, Actor: r.Actor, Action: r.Action, Subject: r.Subject, Address: r.Address, Detail: r.Detail}) } return out, nil }