fix: correctly delete sessions created before 2.42 (#7050)

* fix: correctly delete sessions created before 2.42

* fix test

* fix linting

* fixes requested from review
This commit is contained in:
Livio Spring
2023-12-09 10:59:51 +02:00
committed by GitHub
parent aa3c352ae7
commit 831bb88ec4
4 changed files with 112 additions and 8 deletions

View File

@@ -0,0 +1,41 @@
package command
import (
"github.com/zitadel/zitadel/internal/eventstore"
)
// resourceOwnerModel can be used to retrieve the resourceOwner of an aggregate
// by checking the first event it.
type resourceOwnerModel struct {
instanceID string
aggregateType eventstore.AggregateType
aggregateID string
resourceOwner string
}
func NewResourceOwnerModel(instanceID string, aggregateType eventstore.AggregateType, aggregateID string) *resourceOwnerModel {
return &resourceOwnerModel{
instanceID: instanceID,
aggregateType: aggregateType,
aggregateID: aggregateID,
}
}
func (r *resourceOwnerModel) Reduce() error {
return nil
}
func (r *resourceOwnerModel) AppendEvents(events ...eventstore.Event) {
if len(events) == 1 {
r.resourceOwner = events[0].Aggregate().ResourceOwner
}
}
func (r *resourceOwnerModel) Query() *eventstore.SearchQueryBuilder {
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
InstanceID(r.instanceID).
AddQuery().
AggregateTypes(r.aggregateType).
AggregateIDs(r.aggregateID).
Builder().
Limit(1)
}