Passed
Push — master ( 9acbae...8ba3ae )
by eval
03:10 queued 01:28
created

sqs.*SQS.SendMessageBatch   A

Complexity

Conditions 2

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 9
nop 2
dl 0
loc 11
rs 9.95
c 0
b 0
f 0
1
package sqs
2
3
import (
4
	"context"
5
6
	SDK "github.com/aws/aws-sdk-go-v2/service/sqs"
7
8
	"github.com/evalphobia/aws-sdk-go-v2-wrapper/errors"
9
	"github.com/evalphobia/aws-sdk-go-v2-wrapper/private/pointers"
10
)
11
12
// SendMessageBatch executes `SendMessageBatch` operation.
13
func (svc *SQS) SendMessageBatch(ctx context.Context, r SendMessageBatchRequest) (*SendMessageBatchResult, error) {
14
	out, err := svc.RawSendMessageBatch(ctx, r.ToInput())
15
	if err != nil {
16
		err = svc.errWrap(errors.ErrorData{
17
			Err:          err,
18
			AWSOperation: "SendMessageBatch",
19
		})
20
		svc.Errorf(err.Error())
0 ignored issues
show
introduced by
can't check non-constant format in call to Errorf
Loading history...
21
		return nil, err
22
	}
23
	return NewSendMessageBatchResult(out), nil
24
}
25
26
// SendMessageBatchRequest has parameters for `SendMessageBatch` operation.
27
type SendMessageBatchRequest struct {
28
	Entries  []SendMessageBatchRequestEntry
29
	QueueURL string
30
}
31
32
func (r SendMessageBatchRequest) ToInput() *SDK.SendMessageBatchInput {
0 ignored issues
show
introduced by
exported method SendMessageBatchRequest.ToInput should have comment or be unexported
Loading history...
33
	in := &SDK.SendMessageBatchInput{}
34
35
	if len(r.Entries) != 0 {
36
		list := make([]SDK.SendMessageBatchRequestEntry, len(r.Entries))
37
		for i, v := range r.Entries {
38
			list[i] = v.ToSDK()
39
		}
40
		in.Entries = list
41
	}
42
43
	if r.QueueURL != "" {
44
		in.QueueUrl = pointers.String(r.QueueURL)
45
	}
46
	return in
47
}
48
49
type SendMessageBatchResult struct {
0 ignored issues
show
introduced by
exported type SendMessageBatchResult should have comment or be unexported
Loading history...
50
	Failed     []BatchResultErrorEntry
51
	Successful []SendMessageBatchResultEntry
52
}
53
54
func NewSendMessageBatchResult(o *SDK.SendMessageBatchResponse) *SendMessageBatchResult {
0 ignored issues
show
introduced by
exported function NewSendMessageBatchResult should have comment or be unexported
Loading history...
55
	result := &SendMessageBatchResult{}
56
	if o == nil {
57
		return result
58
	}
59
60
	result.Failed = newBatchResultErrorEntryList(o.Failed)
61
	result.Successful = newSendMessageBatchResultEntryList(o.Successful)
62
	return result
63
}
64