zitadel/internal/eventstore/v3/eventstore.go

30 lines
789 B
Go
Raw Normal View History

package eventstore
import (
"context"
"github.com/zitadel/zitadel/internal/database"
)
// pushPlaceholderFmt defines how data are inserted into the events table
var pushPlaceholderFmt string
type Eventstore struct {
client *database.DB
}
func NewEventstore(client *database.DB) *Eventstore {
switch client.Type() {
case "cockroach":
pushPlaceholderFmt = "($%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, hlc_to_timestamp(cluster_logical_timestamp()), cluster_logical_timestamp(), $%d)"
case "postgres":
pushPlaceholderFmt = "($%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, $%d, statement_timestamp(), EXTRACT(EPOCH FROM clock_timestamp()), $%d)"
}
return &Eventstore{client: client}
}
func (es *Eventstore) Health(ctx context.Context) error {
return es.client.PingContext(ctx)
}