2025-11-14 08:42:26 +08:00
|
|
|
package adapter
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
2025-11-16 09:58:49 +08:00
|
|
|
"caatsm/internal/model"
|
2025-11-14 08:42:26 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// Repository defines the interface for message persistence
|
|
|
|
|
type Repository interface {
|
|
|
|
|
// InsertOne inserts a single telegram message
|
2025-11-16 09:58:49 +08:00
|
|
|
InsertOne(ctx context.Context, msg *model.ParsedTelegram) error
|
2025-11-14 08:42:26 +08:00
|
|
|
|
|
|
|
|
// InsertBatch inserts multiple telegram messages in a batch
|
2025-11-16 09:58:49 +08:00
|
|
|
InsertBatch(ctx context.Context, msgs []*model.ParsedTelegram) error
|
2025-11-15 09:01:24 +08:00
|
|
|
|
|
|
|
|
// InsertRaw captures an unparsed or failed telegram for later analysis.
|
2025-11-16 09:58:49 +08:00
|
|
|
InsertRaw(ctx context.Context, msg *model.ParsedTelegram) error
|
2025-11-14 08:42:26 +08:00
|
|
|
}
|
|
|
|
|
|