34 lines
708 B
Go
34 lines
708 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
)
|
|
|
|
type MessageToPersistence struct {
|
|
pipeline Pipeline
|
|
}
|
|
|
|
func NewMessageToPersistencePipeline(ctx context.Context, cfg Config) (Pipeline, error) {
|
|
reader, err := NewQueue(ctx, "new_message", cfg.driver)
|
|
if err != nil {
|
|
return Pipeline{}, err
|
|
}
|
|
writer, err := NewQueue(ctx, "new_persistence", cfg.driver)
|
|
if err != nil {
|
|
return Pipeline{}, err
|
|
}
|
|
return Pipeline{
|
|
writer: writer,
|
|
reader: reader,
|
|
process: newMessageToPersistenceProcess(cfg.driver),
|
|
}, nil
|
|
}
|
|
|
|
func newMessageToPersistenceProcess(driver Driver) processFunc {
|
|
return func(ctx context.Context, slack []byte) ([]byte, error) {
|
|
// TODO table design lets go
|
|
return nil, io.EOF
|
|
}
|
|
}
|