mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-13 03:24:26 +00:00
6b3f5b984c
* refactor: switch from opencensus to opentelemetry * tempo works as designed nooooot * fix: log traceids * with grafana agent * fix: http tracing * fix: cleanup files * chore: remove todo * fix: bad test * fix: ignore methods in grpc interceptors * fix: remove test log * clean up * typo * fix(config): configure tracing endpoint * fix(span): add error id to span * feat: metrics package * feat: metrics package * fix: counter * fix: metric * try metrics * fix: coutner metrics * fix: active sessin counter * fix: active sessin counter * fix: change current Sequence table * fix: change current Sequence table * fix: current sequences * fix: spooler div metrics * fix: console view * fix: merge master * fix: Last spool run on search result instead of eventtimestamp * fix: go mod * Update console/src/assets/i18n/de.json Co-authored-by: Livio Amstutz <livio.a@gmail.com> * fix: pr review * fix: map * update oidc pkg * fix: handlers * fix: value observer * fix: remove fmt * fix: handlers * fix: tests * fix: handler minimum cycle duration 1s * fix(spooler): handler channel buffer * fix interceptors Co-authored-by: adlerhurst <silvan.reusser@gmail.com> Co-authored-by: Livio Amstutz <livio.a@gmail.com>
62 lines
1.8 KiB
Go
62 lines
1.8 KiB
Go
package eventstore
|
|
|
|
import (
|
|
"context"
|
|
"github.com/caos/zitadel/internal/admin/repository/eventsourcing/view"
|
|
view_model "github.com/caos/zitadel/internal/view/model"
|
|
"github.com/caos/zitadel/internal/view/repository"
|
|
"time"
|
|
)
|
|
|
|
var dbList = []string{"management", "auth", "authz", "adminapi", "notification"}
|
|
|
|
type AdministratorRepo struct {
|
|
View *view.View
|
|
}
|
|
|
|
func (repo *AdministratorRepo) GetFailedEvents(ctx context.Context) ([]*view_model.FailedEvent, error) {
|
|
allFailedEvents := make([]*view_model.FailedEvent, 0)
|
|
for _, db := range dbList {
|
|
failedEvents, err := repo.View.AllFailedEvents(db)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for _, failedEvent := range failedEvents {
|
|
allFailedEvents = append(allFailedEvents, repository.FailedEventToModel(failedEvent))
|
|
}
|
|
}
|
|
return allFailedEvents, nil
|
|
}
|
|
|
|
func (repo *AdministratorRepo) RemoveFailedEvent(ctx context.Context, failedEvent *view_model.FailedEvent) error {
|
|
return repo.View.RemoveFailedEvent(failedEvent.Database, repository.FailedEventFromModel(failedEvent))
|
|
}
|
|
|
|
func (repo *AdministratorRepo) GetViews() ([]*view_model.View, error) {
|
|
views := make([]*view_model.View, 0)
|
|
for _, db := range dbList {
|
|
sequences, err := repo.View.AllCurrentSequences(db)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for _, sequence := range sequences {
|
|
views = append(views, repository.CurrentSequenceToModel(sequence))
|
|
}
|
|
}
|
|
return views, nil
|
|
}
|
|
|
|
func (repo *AdministratorRepo) GetSpoolerDiv(database, view string) int64 {
|
|
sequence, err := repo.View.GetCurrentSequence(database, view)
|
|
if err != nil {
|
|
|
|
return 0
|
|
}
|
|
divDuration := time.Now().Sub(sequence.LastSuccessfulSpoolerRun)
|
|
return divDuration.Milliseconds()
|
|
}
|
|
|
|
func (repo *AdministratorRepo) ClearView(ctx context.Context, database, view string) error {
|
|
return repo.View.ClearView(database, view)
|
|
}
|