 16a0c97fbf
			
		
	
	
	16a0c97fbf
	
	
	
		
			
			Resolves forgejo/forgejo#8793 ## Checklist The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org). ### Tests - I added test coverage for Go changes... - [ ] in their respective `*_test.go` for unit tests. - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server. ### Release notes - [ ] I do not want this change to show in the release notes. - [x] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Bug fixes - [PR](https://codeberg.org/forgejo/forgejo/pulls/8802): <!--number 8802 --><!--line 0 --><!--description Y29ycmVjdCByZWxlYXNlIGxpbmsgaW4gZmVlZA==-->correct release link in feed<!--description--> <!--end release-notes-assistant--> Co-authored-by: Gusted <postmaster@gusted.xyz> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8802 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Earl Warren <contact@earl-warren.org> Co-committed-by: Earl Warren <contact@earl-warren.org>
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2022 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package feed
 | |
| 
 | |
| import (
 | |
| 	"time"
 | |
| 
 | |
| 	"forgejo.org/models/db"
 | |
| 	repo_model "forgejo.org/models/repo"
 | |
| 	"forgejo.org/services/context"
 | |
| 
 | |
| 	"github.com/gorilla/feeds"
 | |
| )
 | |
| 
 | |
| // shows tags and/or releases on the repo as RSS / Atom feed
 | |
| func ShowReleaseFeed(ctx *context.Context, repo *repo_model.Repository, isReleasesOnly bool, formatType string) {
 | |
| 	releases, err := db.Find[repo_model.Release](ctx, repo_model.FindReleasesOptions{
 | |
| 		IncludeTags: !isReleasesOnly,
 | |
| 		RepoID:      ctx.Repo.Repository.ID,
 | |
| 	})
 | |
| 	if err != nil {
 | |
| 		ctx.ServerError("GetReleasesByRepoID", err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	var title string
 | |
| 	var link *feeds.Link
 | |
| 
 | |
| 	if isReleasesOnly {
 | |
| 		title = ctx.Locale.TrString("repo.release.releases_for", repo.FullName())
 | |
| 		link = &feeds.Link{Href: repo.HTMLURL() + "/releases"}
 | |
| 	} else {
 | |
| 		title = ctx.Locale.TrString("repo.release.tags_for", repo.FullName())
 | |
| 		link = &feeds.Link{Href: repo.HTMLURL() + "/tags"}
 | |
| 	}
 | |
| 
 | |
| 	feed := &feeds.Feed{
 | |
| 		Title:       title,
 | |
| 		Link:        link,
 | |
| 		Description: repo.Description,
 | |
| 		Created:     time.Now(),
 | |
| 	}
 | |
| 
 | |
| 	feed.Items, err = releasesToFeedItems(ctx, releases)
 | |
| 	if err != nil {
 | |
| 		ctx.ServerError("releasesToFeedItems", err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	writeFeed(ctx, feed, formatType)
 | |
| }
 |