mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
27 lines
834 B
Go
27 lines
834 B
Go
package flow
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
|
|
"github.com/memohai/memoh/internal/heartbeat"
|
|
)
|
|
|
|
// HeartbeatGateway adapts heartbeat trigger calls to the chat Resolver.
|
|
type HeartbeatGateway struct {
|
|
resolver *Resolver
|
|
}
|
|
|
|
// NewHeartbeatGateway creates a HeartbeatGateway backed by the given Resolver.
|
|
func NewHeartbeatGateway(resolver *Resolver) *HeartbeatGateway {
|
|
return &HeartbeatGateway{resolver: resolver}
|
|
}
|
|
|
|
// TriggerHeartbeat delegates a heartbeat trigger to the chat Resolver.
|
|
func (g *HeartbeatGateway) TriggerHeartbeat(ctx context.Context, botID string, payload heartbeat.TriggerPayload, token string) (heartbeat.TriggerResult, error) {
|
|
if g == nil || g.resolver == nil {
|
|
return heartbeat.TriggerResult{}, errors.New("chat resolver not configured")
|
|
}
|
|
return g.resolver.TriggerHeartbeat(ctx, botID, payload, token)
|
|
}
|