Documentation ¶
Index ¶
Constants ¶
View Source
const ( ProcessorQueueGroup = "processor" MessageRequestReceivedSubject = "messagerequest.received" ReactionReceivedSubject = "reaction.received" InteractionReceivedSubject = "interaction.received" JobReceivedSubject = "jobs" ReplyReceivedSubject = "processor.reply.received" EventReceivedSubject = "processor.event.received" )
View Source
const (
DatabaseName = "treediagram_processor"
)
Variables ¶
This section is empty.
Functions ¶
func NewService ¶
func NewService(queue *nats.EncodedConn, repository Repository) (processingpb.ProcessingServer, error)
Types ¶
type Command ¶
type Command struct { Request *processingpb.MessageRequest `json:"request"` Intent *intentpb.Intent `json:"intent"` }
func (Command) MarshalZerologObject ¶
func (Command) ProcessingRequest ¶
func (c Command) ProcessingRequest() *processingpb.ProcessingRequest
func (Command) ShouldExecute ¶
type Executable ¶
type Executable interface { ShouldExecute() (bool, error) Execute() (*processingpb.Response, error) ProcessingRequest() *processingpb.ProcessingRequest MarshalZerologObject(e *zerolog.Event) }
type Interaction ¶ added in v1.23.0
type Interaction struct { Request *processingpb.Interaction `json:"request"` Intent *intentpb.Intent `json:"intent"` }
func (Interaction) Execute ¶ added in v1.23.0
func (c Interaction) Execute() (*processingpb.Response, error)
func (Interaction) MarshalZerologObject ¶ added in v1.23.0
func (c Interaction) MarshalZerologObject(e *zerolog.Event)
func (Interaction) ProcessingRequest ¶ added in v1.23.0
func (c Interaction) ProcessingRequest() *processingpb.ProcessingRequest
func (Interaction) ShouldExecute ¶ added in v1.23.0
func (c Interaction) ShouldExecute() (bool, error)
type Job ¶
type Job struct {
SchedulingJob *schedulingpb.Job
}
func (Job) MarshalZerologObject ¶
func (Job) ProcessingRequest ¶
func (j Job) ProcessingRequest() *processingpb.ProcessingRequest
func (Job) ShouldExecute ¶
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
func New ¶
func New(logger zerolog.Logger, queue *nats.EncodedConn, registry intentpb.IntentRegistryClient, userClient userpb.UserClient, schedulerClient schedulingpb.SchedulingClient, repository Repository) Processor
type Reaction ¶
type Reaction struct { Request *processingpb.Reaction `json:"request"` Intent *intentpb.Intent `json:"intent"` }
func (Reaction) MarshalZerologObject ¶
func (Reaction) ProcessingRequest ¶
func (c Reaction) ProcessingRequest() *processingpb.ProcessingRequest
func (Reaction) ShouldExecute ¶
type Repository ¶
type Repository interface { SaveProcessingRequest(*processingpb.ProcessingRequest) error ProcessingRequest(string) (*processingpb.ProcessingRequest, error) SaveProcessingEvent(*processingpb.ProcessingEvent) error ProcessingEvents(string) ([]*processingpb.ProcessingEvent, error) SaveMessageReply(*processingpb.MessageReply) error MessageReply(string) (*processingpb.MessageReply, error) CountProcessingRequestsForIntentByUser(req *processingpb.ProcessingRequestIntentStatisticsRequest) ([]*processingpb.UserStatistic, error) Migrate() error }
func NewRepository ¶
func NewRepository(url string) (Repository, error)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.