refactor(msg): simplify publishers
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Dawid Wysokiński 2023-02-24 05:52:33 +01:00
parent 17d5068238
commit 8b01b42949
Signed by: Kichiyaki
GPG Key ID: B5445E357FB8B892
3 changed files with 31 additions and 44 deletions

View File

@ -21,15 +21,13 @@ func NewEnnoblementPublisher(publisher message.Publisher, marshaler CommandEvent
func (e *EnnoblementPublisher) CmdRefresh(ctx context.Context, payloads ...domain.RefreshEnnoblementsCmdPayload) error {
msgs := make([]*message.Message, 0, len(payloads))
for _, p := range payloads {
msg, err := e.marshaler.Marshal(model.RefreshEnnoblementsCmdPayload{
Key: p.Key,
URL: p.URL,
VersionCode: p.VersionCode,
})
msg, err := e.marshaler.Marshal(model.RefreshEnnoblementsCmdPayload(p))
if err != nil {
return fmt.Errorf("marshaler.Marshal: %w", err)
}
msg.SetContext(ctx)
msgs = append(msgs, msg)
}

View File

@ -22,14 +22,13 @@ func NewServerPublisher(publisher message.Publisher, marshaler CommandEventMarsh
func (s *ServerPublisher) CmdRefresh(ctx context.Context, payloads ...domain.RefreshServersCmdPayload) error {
msgs := make([]*message.Message, 0, len(payloads))
for _, p := range payloads {
msg, err := s.marshaler.Marshal(model.RefreshServersCmdPayload{
Host: p.Host,
VersionCode: p.VersionCode,
})
msg, err := s.marshaler.Marshal(model.RefreshServersCmdPayload(p))
if err != nil {
return fmt.Errorf("marshaler.Marshal: %w", err)
}
msg.SetContext(ctx)
msgs = append(msgs, msg)
}

View File

@ -19,50 +19,40 @@ func NewSnapshotPublisher(publisher message.Publisher, marshaler CommandEventMar
}
func (s *SnapshotPublisher) CmdCreatePlayers(ctx context.Context, payloads ...domain.CreateSnapshotsCmdPayload) error {
msgs, err := s.marshalCreateSnapshotsCmdPayloads(ctx, payloads...)
if err != nil {
return err
}
if err = s.publisher.Publish(playersCmdCreateSnapshots, msgs...); err != nil {
if err := s.publishCmdCreate(ctx, playersCmdCreateSnapshots, payloads...); err != nil {
return fmt.Errorf("publisher.Publish: %w", err)
}
return nil
}
func (s *SnapshotPublisher) CmdCreateTribes(ctx context.Context, payloads ...domain.CreateSnapshotsCmdPayload) error {
msgs, err := s.marshalCreateSnapshotsCmdPayloads(ctx, payloads...)
if err != nil {
return err
if err := s.publishCmdCreate(ctx, tribesCmdCreateSnapshots, payloads...); err != nil {
return fmt.Errorf("publisher.Publish: %w", err)
}
return nil
}
func (s *SnapshotPublisher) publishCmdCreate(
ctx context.Context,
topic string,
payloads ...domain.CreateSnapshotsCmdPayload,
) error {
msgs := make([]*message.Message, 0, len(payloads))
for _, p := range payloads {
msg, err := s.marshaler.Marshal(model.CreateSnapshotsCmdPayload(p))
if err != nil {
return fmt.Errorf("%s: marshaler.Marshal: %w", p.Key, err)
}
msg.SetContext(ctx)
msgs = append(msgs, msg)
}
if err = s.publisher.Publish(tribesCmdCreateSnapshots, msgs...); err != nil {
return fmt.Errorf("publisher.Publish: %w", err)
if err := s.publisher.Publish(tribesCmdCreateSnapshots, msgs...); err != nil {
return fmt.Errorf("%s: publisher.Publish: %w", topic, err)
}
return nil
}
func (s *SnapshotPublisher) marshalCreateSnapshotsCmdPayloads(
ctx context.Context,
payloads ...domain.CreateSnapshotsCmdPayload,
) ([]*message.Message, error) {
msgs := make([]*message.Message, 0, len(payloads))
for _, p := range payloads {
msg, err := s.marshaler.Marshal(model.CreateSnapshotsCmdPayload{
Key: p.Key,
VersionCode: p.VersionCode,
Date: p.Date,
})
if err != nil {
return nil, fmt.Errorf("marshaler.Marshal: %w", err)
}
msg.SetContext(ctx)
msgs = append(msgs, msg)
}
return msgs, nil
}