mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-24 06:01:53 +00:00
stop tracking events
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
//go:
|
||||
|
||||
package milestone
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"time"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
@@ -10,57 +13,16 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
eventTypePrefix = eventstore.EventType("milestone.")
|
||||
ReachedEventType = eventTypePrefix + "reached"
|
||||
PushedEventType = eventTypePrefix + "pushed"
|
||||
eventTypePrefix = eventstore.EventType("milestone.")
|
||||
PushedEventType = eventTypePrefix + "pushed"
|
||||
)
|
||||
|
||||
type ReachedEvent struct {
|
||||
eventstore.BaseEvent `json:"-"`
|
||||
MilestoneEvent SerializableEvent `json:"milestoneEvent"`
|
||||
}
|
||||
|
||||
func (n *ReachedEvent) Data() interface{} {
|
||||
return n
|
||||
}
|
||||
|
||||
func (n *ReachedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewReachedEvent(
|
||||
ctx context.Context,
|
||||
newAggregateID string,
|
||||
milestoneEvent eventstore.BaseEvent,
|
||||
) *ReachedEvent {
|
||||
triggeringEventsAggregate := milestoneEvent.Aggregate()
|
||||
return &ReachedEvent{
|
||||
BaseEvent: *eventstore.NewBaseEventForPush(
|
||||
ctx,
|
||||
&newAggregate(newAggregateID, triggeringEventsAggregate.InstanceID, triggeringEventsAggregate.ResourceOwner).Aggregate,
|
||||
ReachedEventType,
|
||||
),
|
||||
MilestoneEvent: newSerializableEvent(milestoneEvent),
|
||||
}
|
||||
}
|
||||
|
||||
func ReachedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
e := &ReachedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "QUOTA-k56rT", "unable to unmarshal milestone reached")
|
||||
}
|
||||
|
||||
return e, nil
|
||||
}
|
||||
|
||||
type PushedEvent struct {
|
||||
eventstore.BaseEvent `json:"-"`
|
||||
ReachedEventSequence uint64 `json:"reachedEventSequence"`
|
||||
Endpoints []string `json:"endpoints"`
|
||||
Milestone Milestone `json:"milestone"`
|
||||
Reached time.Time `json:"reached"`
|
||||
Endpoints []string `json:"endpoints"`
|
||||
PrimaryDomain string `json:"primaryDomain"`
|
||||
}
|
||||
|
||||
func (e *PushedEvent) Data() interface{} {
|
||||
@@ -73,18 +35,22 @@ func (e *PushedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
|
||||
func NewPushedEvent(
|
||||
ctx context.Context,
|
||||
reachedEvent *ReachedEvent,
|
||||
newAggregate *Aggregate,
|
||||
milestone Milestone,
|
||||
reached time.Time,
|
||||
endpoints []string,
|
||||
primaryDomain string,
|
||||
) *PushedEvent {
|
||||
aggregate := reachedEvent.Aggregate()
|
||||
return &PushedEvent{
|
||||
BaseEvent: *eventstore.NewBaseEventForPush(
|
||||
ctx,
|
||||
&aggregate,
|
||||
&newAggregate.Aggregate,
|
||||
PushedEventType,
|
||||
),
|
||||
ReachedEventSequence: reachedEvent.Sequence(),
|
||||
Endpoints: endpoints,
|
||||
Milestone: milestone,
|
||||
Reached: reached,
|
||||
Endpoints: endpoints,
|
||||
PrimaryDomain: primaryDomain,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,11 +58,9 @@ func PushedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
e := &PushedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "QUOTA-4n8vs", "unable to unmarshal milestone pushed")
|
||||
}
|
||||
|
||||
return e, nil
|
||||
}
|
||||
|
||||
30
internal/repository/milestone/milestone_string.go
Normal file
30
internal/repository/milestone/milestone_string.go
Normal file
@@ -0,0 +1,30 @@
|
||||
// Code generated by "stringer -type=Milestone"; DO NOT EDIT.
|
||||
|
||||
package milestone
|
||||
|
||||
import "strconv"
|
||||
|
||||
func _() {
|
||||
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||
// Re-run the stringer command to generate them again.
|
||||
var x [1]struct{}
|
||||
_ = x[unknown-0]
|
||||
_ = x[InstanceCreated-1]
|
||||
_ = x[AuthenticationSucceededOnInstance-2]
|
||||
_ = x[ProjectCreated-3]
|
||||
_ = x[ApplicationCreated-4]
|
||||
_ = x[AuthenticationSucceededOnApplication-5]
|
||||
_ = x[InstanceDeleted-6]
|
||||
_ = x[milestonesCount-7]
|
||||
}
|
||||
|
||||
const _Milestone_name = "unknownInstanceCreatedAuthenticationSucceededOnInstanceProjectCreatedApplicationCreatedAuthenticationSucceededOnApplicationInstanceDeletedmilestonesCount"
|
||||
|
||||
var _Milestone_index = [...]uint8{0, 7, 22, 55, 69, 87, 123, 138, 153}
|
||||
|
||||
func (i Milestone) String() string {
|
||||
if i < 0 || i >= Milestone(len(_Milestone_index)-1) {
|
||||
return "Milestone(" + strconv.FormatInt(int64(i), 10) + ")"
|
||||
}
|
||||
return _Milestone_name[_Milestone_index[i]:_Milestone_index[i+1]]
|
||||
}
|
||||
25
internal/repository/milestone/milestones.go
Normal file
25
internal/repository/milestone/milestones.go
Normal file
@@ -0,0 +1,25 @@
|
||||
//go:generate stringer -type=Milestone
|
||||
|
||||
package milestone
|
||||
|
||||
type Milestone int
|
||||
|
||||
const (
|
||||
unknown Milestone = iota
|
||||
InstanceCreated
|
||||
AuthenticationSucceededOnInstance
|
||||
ProjectCreated
|
||||
ApplicationCreated
|
||||
AuthenticationSucceededOnApplication
|
||||
InstanceDeleted
|
||||
|
||||
milestonesCount
|
||||
)
|
||||
|
||||
func All() []Milestone {
|
||||
milestones := make([]Milestone, milestonesCount-1)
|
||||
for i := 1; i < int(milestonesCount); i++ {
|
||||
milestones[i] = Milestone(i)
|
||||
}
|
||||
return milestones
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package milestone
|
||||
|
||||
import "github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
type SerializableEvent struct {
|
||||
eventstore.BaseEvent `json:",inline"`
|
||||
Data []byte `json:"data"`
|
||||
}
|
||||
|
||||
func newSerializableEvent(triggeringEvent eventstore.BaseEvent) SerializableEvent {
|
||||
return SerializableEvent{
|
||||
BaseEvent: triggeringEvent,
|
||||
Data: triggeringEvent.DataAsBytes(),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user