mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-14 20:08:02 +00:00
21 lines
530 B
Go
21 lines
530 B
Go
|
package projection
|
||
|
|
||
|
import "github.com/zitadel/zitadel/internal/v2/eventstore"
|
||
|
|
||
|
type projection struct {
|
||
|
instance string
|
||
|
position eventstore.GlobalPosition
|
||
|
}
|
||
|
|
||
|
func (p *projection) reduce(event *eventstore.StorageEvent) {
|
||
|
if p.instance == "" {
|
||
|
p.instance = event.Aggregate.Instance
|
||
|
}
|
||
|
p.position = event.Position
|
||
|
}
|
||
|
|
||
|
func (p *projection) shouldReduce(event *eventstore.StorageEvent) bool {
|
||
|
shouldReduce := p.instance == "" || p.instance == event.Aggregate.Instance
|
||
|
return shouldReduce && p.position.IsLess(event.Position)
|
||
|
}
|