mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 09:57:33 +00:00
chore: move the go code into a subfolder
This commit is contained in:
50
apps/api/internal/notification/handlers/already_handled.go
Normal file
50
apps/api/internal/notification/handlers/already_handled.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
type alreadyHandled struct {
|
||||
event eventstore.Event
|
||||
eventTypes []eventstore.EventType
|
||||
data map[string]interface{}
|
||||
|
||||
handled bool
|
||||
}
|
||||
|
||||
func (a *alreadyHandled) Reduce() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *alreadyHandled) AppendEvents(event ...eventstore.Event) {
|
||||
if len(event) > 0 {
|
||||
a.handled = true
|
||||
}
|
||||
}
|
||||
|
||||
func (a *alreadyHandled) Query() *eventstore.SearchQueryBuilder {
|
||||
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
||||
InstanceID(a.event.Aggregate().InstanceID).
|
||||
SequenceGreater(a.event.Sequence()).
|
||||
AddQuery().
|
||||
AggregateTypes(a.event.Aggregate().Type).
|
||||
AggregateIDs(a.event.Aggregate().ID).
|
||||
EventTypes(a.eventTypes...).
|
||||
EventData(a.data).
|
||||
Builder()
|
||||
}
|
||||
|
||||
func (n *NotificationQueries) IsAlreadyHandled(ctx context.Context, event eventstore.Event, data map[string]interface{}, eventTypes ...eventstore.EventType) (bool, error) {
|
||||
already := &alreadyHandled{
|
||||
event: event,
|
||||
eventTypes: eventTypes,
|
||||
data: data,
|
||||
}
|
||||
err := n.es.FilterToQueryReducer(ctx, already)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return already.handled, nil
|
||||
}
|
Reference in New Issue
Block a user