forked from Shiloh/githaven
a9ce570298
- 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 --------- Co-authored-by: Gusted <postmaster@gusted.xyz>
34 lines
926 B
Go
34 lines
926 B
Go
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package convert
|
|
|
|
import (
|
|
"context"
|
|
|
|
repo_model "code.gitea.io/gitea/models/repo"
|
|
api "code.gitea.io/gitea/modules/structs"
|
|
)
|
|
|
|
// ToAPIRelease convert a repo_model.Release to api.Release
|
|
func ToAPIRelease(ctx context.Context, repo *repo_model.Repository, r *repo_model.Release) *api.Release {
|
|
return &api.Release{
|
|
ID: r.ID,
|
|
TagName: r.TagName,
|
|
Target: r.Target,
|
|
Title: r.Title,
|
|
Note: r.Note,
|
|
URL: r.APIURL(),
|
|
HTMLURL: r.HTMLURL(),
|
|
TarURL: r.TarURL(),
|
|
ZipURL: r.ZipURL(),
|
|
UploadURL: r.APIUploadURL(),
|
|
IsDraft: r.IsDraft,
|
|
IsPrerelease: r.IsPrerelease,
|
|
CreatedAt: r.CreatedUnix.AsTime(),
|
|
PublishedAt: r.CreatedUnix.AsTime(),
|
|
Publisher: ToUser(ctx, r.Publisher, nil),
|
|
Attachments: ToAPIAttachments(repo, r.Attachments),
|
|
}
|
|
}
|