reminder

package
v0.0.0-...-e64b967 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ReminderCreateV1       = "V1_REMINDER_CREATE"
	ReminderUpdateV1       = "V1_REMINDER_UPDATE"
	ReminderNotificationV1 = "V1_REMINDER_NOTIFICATION"
)
View Source
const (
	FieldMaskContent   = "content"
	FieldMaskDueDate   = "dueDate"
	FieldMaskDismissed = "dismissed"
)
View Source
const ReminderAggregateType = "reminder"

Variables

This section is empty.

Functions

func GetReminderObjectID

func GetReminderObjectID(aggregateID string, tenant string) string

func NewReminderCreateEvent

func NewReminderCreateEvent(aggregate eventstore.Aggregate, content, userId, organizationId string, dismissed bool, createdAt, dueDate time.Time, sourceFields cmnmod.Source) (eventstore.Event, error)

func NewReminderNotificationEvent

func NewReminderNotificationEvent(aggregate eventstore.Aggregate, userId, organizationId, content string, createdAt time.Time) (eventstore.Event, error)

func NewReminderUpdateEvent

func NewReminderUpdateEvent(aggregate eventstore.Aggregate, content string, dueDate time.Time, dismissed bool, updatedAt time.Time, fieldsMask []string) (eventstore.Event, error)

Types

type Reminder

type Reminder struct {
	OrganizationID string     `json:"organizationId"`
	UserID         string     `json:"userId"`
	Content        string     `json:"content"`
	DueDate        time.Time  `json:"dueDate"`
	Dismissed      bool       `json:"dismissed"`
	CreatedAt      time.Time  `json:"createdAt"`
	UpdatedAt      time.Time  `json:"updatedAt"`
	SentAt         *time.Time `json:"sentAt"`
}

type ReminderAggregate

type ReminderAggregate struct {
	*aggregate.CommonTenantIdAggregate
	Reminder *Reminder
}

func LoadReminderAggregate

func LoadReminderAggregate(ctx context.Context, eventStore eventstore.AggregateStore, tenant, objectID string, opts eventstore.LoadAggregateOptions) (*ReminderAggregate, error)

func NewReminderAggregateWithTenantAndID

func NewReminderAggregateWithTenantAndID(tenant, id string) *ReminderAggregate

func (*ReminderAggregate) CreateReminder

func (*ReminderAggregate) HandleRequest

func (a *ReminderAggregate) HandleRequest(ctx context.Context, request any, params map[string]any) (any, error)

func (*ReminderAggregate) UpdateReminder

func (*ReminderAggregate) When

func (a *ReminderAggregate) When(event eventstore.Event) error

type ReminderCreateEvent

type ReminderCreateEvent struct {
	Tenant         string        `json:"tenant" validate:"required"`
	Content        string        `json:"content"`
	DueDate        time.Time     `json:"dueDate"`
	UserId         string        `json:"userId" validate:"required"`
	OrganizationId string        `json:"organizationId" validate:"required"`
	Dismissed      bool          `json:"dismissed"`
	CreatedAt      time.Time     `json:"createdAt"`
	SourceFields   cmnmod.Source `json:"sourceFields" validate:"required"`
}

func (*ReminderCreateEvent) String

func (e *ReminderCreateEvent) String() string

type ReminderNotificationEvent

type ReminderNotificationEvent struct {
	Tenant         string    `json:"tenant" validate:"required"`
	CreatedAt      time.Time `json:"createdAt"`
	ReminderId     string    `json:"reminderId" validate:"required"`
	OrganizationId string    `json:"organizationId" validate:"required"`
	UserId         string    `json:"userId"` // who set the reminder
	Content        string    `json:"content"`
}

type ReminderRequestHandler

type ReminderRequestHandler interface {
	Handle(ctx context.Context, tenant, objectId string, request any, params ...map[string]any) (any, error)
	HandleWithRetry(ctx context.Context, tenant, objectId string, aggregateRequired bool, request any, params ...map[string]any) (any, error)
}

type ReminderUpdateEvent

type ReminderUpdateEvent struct {
	Tenant     string    `json:"tenant" validate:"required"`
	Content    string    `json:"content,omitempty"`
	DueDate    time.Time `json:"dueDate,omitempty"`
	Dismissed  bool      `json:"dismissed,omitempty"`
	UpdatedAt  time.Time `json:"updatedAt"`
	FieldsMask []string  `json:"fieldsMask,omitempty"`
}

func (*ReminderUpdateEvent) String

func (e *ReminderUpdateEvent) String() string

func (ReminderUpdateEvent) UpdateContent

func (e ReminderUpdateEvent) UpdateContent() bool

func (ReminderUpdateEvent) UpdateDismissed

func (e ReminderUpdateEvent) UpdateDismissed() bool

func (ReminderUpdateEvent) UpdateDueDate

func (e ReminderUpdateEvent) UpdateDueDate() bool

Jump to

Keyboard shortcuts

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