event

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package event defines domain events and event interfaces for form-related actions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event interface {
	// Name returns the event name
	Name() string
	// Timestamp returns when the event occurred
	Timestamp() time.Time
	// Payload returns the event payload
	Payload() any
}

Event represents a domain event

func NewFormCreatedEvent

func NewFormCreatedEvent(form *model.Form) Event

NewFormCreatedEvent creates a new form created event

func NewFormDeletedEvent

func NewFormDeletedEvent(formID string) Event

NewFormDeletedEvent creates a new form deleted event

func NewFormSubmissionCreatedEvent

func NewFormSubmissionCreatedEvent(submission *model.FormSubmission) Event

NewFormSubmissionCreatedEvent creates a new form submission created event

func NewFormUpdatedEvent

func NewFormUpdatedEvent(form *model.Form) Event

NewFormUpdatedEvent creates a new form updated event

type FormCreatedEvent

type FormCreatedEvent struct {
	Form *model.Form
	// contains filtered or unexported fields
}

FormCreatedEvent represents a form creation event

func (*FormCreatedEvent) Name

func (e *FormCreatedEvent) Name() string

Name returns the event name for form creation

func (*FormCreatedEvent) Payload

func (e *FormCreatedEvent) Payload() any

Payload returns the form creation event payload

func (*FormCreatedEvent) Timestamp

func (e *FormCreatedEvent) Timestamp() time.Time

Timestamp returns when the form creation event occurred

type FormDeletedEvent

type FormDeletedEvent struct {
	FormID string
	// contains filtered or unexported fields
}

FormDeletedEvent represents a form deletion event

func (*FormDeletedEvent) Name

func (e *FormDeletedEvent) Name() string

Name returns the event name for form deletion

func (*FormDeletedEvent) Payload

func (e *FormDeletedEvent) Payload() any

Payload returns the form deletion event payload

func (*FormDeletedEvent) Timestamp

func (e *FormDeletedEvent) Timestamp() time.Time

Timestamp returns when the form deletion event occurred

type FormSubmissionCreatedEvent

type FormSubmissionCreatedEvent struct {
	Submission *model.FormSubmission
	// contains filtered or unexported fields
}

FormSubmissionCreatedEvent represents a form submission creation event

func (*FormSubmissionCreatedEvent) Name

Name returns the event name for form submission creation

func (*FormSubmissionCreatedEvent) Payload

func (e *FormSubmissionCreatedEvent) Payload() any

Payload returns the form submission creation event payload

func (*FormSubmissionCreatedEvent) Timestamp

func (e *FormSubmissionCreatedEvent) Timestamp() time.Time

Timestamp returns when the form submission creation event occurred

type FormUpdatedEvent

type FormUpdatedEvent struct {
	Form *model.Form
	// contains filtered or unexported fields
}

FormUpdatedEvent represents a form update event

func (*FormUpdatedEvent) Name

func (e *FormUpdatedEvent) Name() string

Name returns the event name for form update

func (*FormUpdatedEvent) Payload

func (e *FormUpdatedEvent) Payload() any

Payload returns the form update event payload

func (*FormUpdatedEvent) Timestamp

func (e *FormUpdatedEvent) Timestamp() time.Time

Timestamp returns when the form update event occurred

type Publisher

type Publisher interface {
	// Publish publishes an event
	Publish(ctx context.Context, event Event) error
}

Publisher defines the interface for publishing events

type Subscriber

type Subscriber interface {
	// Subscribe subscribes to an event
	Subscribe(ctx context.Context, eventName string, handler func(ctx context.Context, event Event) error) error
}

Subscriber defines the interface for subscribing to events

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL