b1efc0032a
- Resolves https://codeberg.org/forgejo/forgejo/issues/580 - Return a `upload_field` to any release API response, which points to the API URL for uploading new assets. - Adds unit test. - Adds integration testing to verify URL is returned correctly and that upload endpoint actually works (cherry picked from commit074413a2dc
) (cherry picked from commit33feed4723
) (cherry picked from commit1ca21b95ff
) (cherry picked from commit874f07cec2
) (cherry picked from commita78c538d8e
) (cherry picked from commitbef38ce382
) (cherry picked from commitc8eb345354
)
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
// Copyright 2016 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package structs
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// Release represents a repository release
|
|
type Release struct {
|
|
ID int64 `json:"id"`
|
|
TagName string `json:"tag_name"`
|
|
Target string `json:"target_commitish"`
|
|
Title string `json:"name"`
|
|
Note string `json:"body"`
|
|
URL string `json:"url"`
|
|
HTMLURL string `json:"html_url"`
|
|
TarURL string `json:"tarball_url"`
|
|
ZipURL string `json:"zipball_url"`
|
|
UploadURL string `json:"upload_url"`
|
|
IsDraft bool `json:"draft"`
|
|
IsPrerelease bool `json:"prerelease"`
|
|
// swagger:strfmt date-time
|
|
CreatedAt time.Time `json:"created_at"`
|
|
// swagger:strfmt date-time
|
|
PublishedAt time.Time `json:"published_at"`
|
|
Publisher *User `json:"author"`
|
|
Attachments []*Attachment `json:"assets"`
|
|
}
|
|
|
|
// CreateReleaseOption options when creating a release
|
|
type CreateReleaseOption struct {
|
|
// required: true
|
|
TagName string `json:"tag_name" binding:"Required"`
|
|
Target string `json:"target_commitish"`
|
|
Title string `json:"name"`
|
|
Note string `json:"body"`
|
|
IsDraft bool `json:"draft"`
|
|
IsPrerelease bool `json:"prerelease"`
|
|
}
|
|
|
|
// EditReleaseOption options when editing a release
|
|
type EditReleaseOption struct {
|
|
TagName string `json:"tag_name"`
|
|
Target string `json:"target_commitish"`
|
|
Title string `json:"name"`
|
|
Note string `json:"body"`
|
|
IsDraft *bool `json:"draft"`
|
|
IsPrerelease *bool `json:"prerelease"`
|
|
}
|