12345678910111213141516171819202122232425262728293031323334353637383940 |
- package ticket
- import (
- "github.com/confluentinc/confluent-kafka-go/v2/kafka"
- "github.com/google/uuid"
- "github.com/kelindar/bitmap"
- )
- func NewKafkaMessage(src *kafka.Message) *Message {
- m := &Message{
- Id: uuid.NewString(),
- Provider: MessageProvider_EmailMessageProvider,
- Body: string(src.Value),
- Raw: string(src.Value),
- Date: src.Timestamp.UnixMilli(),
- Headers: []*Message_Header{},
- }
- for _, h := range src.Headers {
- m.Headers = append(m.Headers, &Message_Header{
- Key: h.Key,
- Value: string(h.Value),
- })
- }
- return m
- }
- func (m *Message) SetBitmap(flags bitmap.Bitmap) {
- m.Flags = flags.ToBytes()
- }
- func (m *Message) GetBitmap() *bitmap.Bitmap {
- if m.Flags == nil {
- return nil
- }
- flags := bitmap.FromBytes(m.Flags)
- return &flags
- }
|