mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-15 20:38:00 +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 96db9504ec
.
* 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,
|
|
}
|
|
}
|