sip/sdk/releases.go
John Olheiser 0bbe2e35ff
All checks were successful
continuous-integration/drone/push Build is passing
Add attachment removal and change message (#36)
Add attachment removal and change message

Signed-off-by: jolheiser <john.olheiser@gmail.com>

Co-authored-by: jolheiser <john.olheiser@gmail.com>
Reviewed-on: #36
2020-09-21 14:19:36 +00:00

47 lines
1.1 KiB
Go

package sdk
import (
"code.gitea.io/sdk/gitea"
)
// GetReleases returns all matching Releases from a Gitea instance
func GetReleases(client *gitea.Client, owner, repo string, opts gitea.ListReleasesOptions) ([]*gitea.Release, error) {
releases := make([]*gitea.Release, 0)
p := 1
for {
opts.Page = p
list, _, err := client.ListReleases(owner, repo, opts)
if err != nil {
return releases, err
}
p++
releases = append(releases, list...)
if len(list) == 0 {
break
}
}
return releases, nil
}
// GetReleaseAttachments returns all attachments from a release
func GetReleaseAttachments(client *gitea.Client, owner, repo string, releaseID int64, opts gitea.ListReleaseAttachmentsOptions) ([]*gitea.Attachment, error) {
attachments := make([]*gitea.Attachment, 0)
p := 1
for {
opts.Page = p
list, _, err := client.ListReleaseAttachments(owner, repo, releaseID, opts)
if err != nil {
return attachments, err
}
p++
attachments = append(attachments, list...)
// FIXME Seems paging doesn't want to work with release attachments
if len(list) == 0 || len(list) < 50 {
break
}
}
return attachments, nil
}