summaryrefslogtreecommitdiff
path: root/workhorse/internal/upload/destination/objectstore/s3_complete_multipart_api.go
blob: 02799d0b9b0aa4221c9edd4f59fc6b0d0dc2992d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package objectstore

import (
	"encoding/xml"

	"gitlab.com/gitlab-org/gitlab/workhorse/internal/upload/destination/objectstore/s3api"
)

// compoundCompleteMultipartUploadResult holds both CompleteMultipartUploadResult and CompleteMultipartUploadError
// this allow us to deserialize the response body where the root element can either be Error orCompleteMultipartUploadResult
type compoundCompleteMultipartUploadResult struct {
	*s3api.CompleteMultipartUploadResult
	*s3api.CompleteMultipartUploadError

	// XMLName this overrides CompleteMultipartUploadError.XMLName tags
	XMLName xml.Name
}

func (c *compoundCompleteMultipartUploadResult) isError() bool {
	return c.CompleteMultipartUploadError != nil
}