mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-24 02:52:37 +00:00
- 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)
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"`
|
|
}
|