Files
Memoh/internal/chat/schedule_gateway.go
T
BBQ a246b79a4f refactor: restructure channel gateway and chat module architecture
- Refactor channel adapters (feishu, telegram, local) with enhanced descriptor and config
- Restructure channel manager, service, types, and outbound messaging
- Simplify chat module by removing normalize.go and chat.go, consolidating into resolver and types
- Update router channel handlers and tests
- Sync swagger documentation
2026-02-06 23:47:12 +08:00

27 lines
762 B
Go

package chat
import (
"context"
"fmt"
"github.com/memohai/memoh/internal/schedule"
)
// ScheduleGateway adapts schedule trigger calls to the chat Resolver.
type ScheduleGateway struct {
resolver *Resolver
}
// NewScheduleGateway creates a ScheduleGateway backed by the given Resolver.
func NewScheduleGateway(resolver *Resolver) *ScheduleGateway {
return &ScheduleGateway{resolver: resolver}
}
// TriggerSchedule delegates a schedule trigger to the chat Resolver.
func (g *ScheduleGateway) TriggerSchedule(ctx context.Context, botID string, payload schedule.TriggerPayload, token string) error {
if g == nil || g.resolver == nil {
return fmt.Errorf("chat resolver not configured")
}
return g.resolver.TriggerSchedule(ctx, botID, payload, token)
}