Documentation ¶
Index ¶
- Constants
- func GetReminderObjectID(aggregateID string, tenant string) string
- func NewReminderCreateEvent(aggregate eventstore.Aggregate, content, userId, organizationId string, ...) (eventstore.Event, error)
- func NewReminderNotificationEvent(aggregate eventstore.Aggregate, userId, organizationId, content string, ...) (eventstore.Event, error)
- func NewReminderUpdateEvent(aggregate eventstore.Aggregate, content string, dueDate time.Time, ...) (eventstore.Event, error)
- type Reminder
- type ReminderAggregate
- func (a *ReminderAggregate) CreateReminder(ctx context.Context, request *reminderpb.CreateReminderGrpcRequest) error
- func (a *ReminderAggregate) HandleRequest(ctx context.Context, request any, params map[string]any) (any, error)
- func (a *ReminderAggregate) UpdateReminder(ctx context.Context, request *reminderpb.UpdateReminderGrpcRequest) error
- func (a *ReminderAggregate) When(event eventstore.Event) error
- type ReminderCreateEvent
- type ReminderNotificationEvent
- type ReminderRequestHandler
- type ReminderUpdateEvent
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 NewReminderCreateEvent ¶
func NewReminderNotificationEvent ¶
func NewReminderNotificationEvent(aggregate eventstore.Aggregate, userId, organizationId, content string, createdAt time.Time) (eventstore.Event, error)
func NewReminderUpdateEvent ¶
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 (a *ReminderAggregate) CreateReminder(ctx context.Context, request *reminderpb.CreateReminderGrpcRequest) error
func (*ReminderAggregate) HandleRequest ¶
func (*ReminderAggregate) UpdateReminder ¶
func (a *ReminderAggregate) UpdateReminder(ctx context.Context, request *reminderpb.UpdateReminderGrpcRequest) error
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) }
func NewReminderRequestHandler ¶
func NewReminderRequestHandler(log logger.Logger, es eventstore.AggregateStore, ebs *eventstore.EventBufferService, cfg config.Utils) ReminderRequestHandler
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
Click to show internal directories.
Click to hide internal directories.