33 lines
873 B
Go
33 lines
873 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/aws/aws-sdk-go-v2/service/sqs/types"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// HandleDummy is blissfully unaware of SQS, and could therefore be used as a handler for another message queue.
|
|
func HandleDummy(_ context.Context, enc *json.Encoder,
|
|
msgID uuid.UUID, sentTime time.Time, msg []byte, meta map[string]types.MessageAttributeValue) error {
|
|
type EventBody struct {
|
|
EventID uuid.UUID `json:"event_id"`
|
|
EventTime time.Time `json:"event_time"`
|
|
Data map[string]int `json:"data,omitempty"`
|
|
Meta map[string]types.MessageAttributeValue
|
|
}
|
|
evt := EventBody{
|
|
EventID: msgID,
|
|
EventTime: sentTime,
|
|
Meta: meta,
|
|
}
|
|
if err := json.Unmarshal(msg, &evt.Data); err != nil {
|
|
return fmt.Errorf("error parsing body as JSON: %w", err)
|
|
}
|
|
|
|
enc.Encode(evt)
|
|
return nil
|
|
}
|