mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-24 00:28:18 +00:00
bb756482c7
* document analytics config * rework configuration and docs * describe HandleActiveInstances better * describe active instances on quotas better * only projected events are considered * cleanup * describe changes at runtime * push milestones * stop tracking events * calculate and push 4 in 6 milestones * reduce milestone pushed * remove docs * fix scheduled pseudo event projection * push 5 in 6 milestones * push 6 in 6 milestones * ignore client ids * fix text array contains * push human readable milestone type * statement unit tests * improve dev and db performance * organize imports * cleanup * organize imports * test projection * check rows.Err() * test search query * pass linting * review * test 4 milestones * simplify milestone by instance ids query * use type NamespacedCondition * cleanup * lint * lint * dont overwrite original error * no opt-in in examples * cleanup * prerelease * enable request headers * make limit configurable * review fixes * only requeue special handlers secondly * include integration tests * Revert "include integration tests" This reverts commit 96db9504ecdb4e73451f09554fd749cd7c27341f. * pass reducers * test handlers * fix unit test * feat: increment version * lint * remove prerelease * fix integration tests
41 lines
1013 B
Go
41 lines
1013 B
Go
// Package pseudo contains virtual events, that are not stored in the eventstore.
|
|
package pseudo
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/zitadel/zitadel/internal/eventstore"
|
|
)
|
|
|
|
const (
|
|
eventTypePrefix = eventstore.EventType("pseudo.")
|
|
ScheduledEventType = eventTypePrefix + "timestamp"
|
|
)
|
|
|
|
var _ eventstore.Event = (*ScheduledEvent)(nil)
|
|
|
|
type ScheduledEvent struct {
|
|
*eventstore.BaseEvent `json:"-"`
|
|
Timestamp time.Time `json:"-"`
|
|
InstanceIDs []string `json:"-"`
|
|
}
|
|
|
|
// NewScheduledEvent returns an event that can be processed by event handlers like any other event.
|
|
// It receives the current timestamp and an ID list of instances that are active and should be processed.
|
|
func NewScheduledEvent(
|
|
ctx context.Context,
|
|
timestamp time.Time,
|
|
instanceIDs ...string,
|
|
) *ScheduledEvent {
|
|
return &ScheduledEvent{
|
|
BaseEvent: eventstore.NewBaseEventForPush(
|
|
ctx,
|
|
&NewAggregate().Aggregate,
|
|
ScheduledEventType,
|
|
),
|
|
Timestamp: timestamp,
|
|
InstanceIDs: instanceIDs,
|
|
}
|
|
}
|