code.gitea.io/gitea@v1.21.7/routers/web/feed/repo.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package feed 5 6 import ( 7 "time" 8 9 activities_model "code.gitea.io/gitea/models/activities" 10 repo_model "code.gitea.io/gitea/models/repo" 11 "code.gitea.io/gitea/modules/context" 12 13 "github.com/gorilla/feeds" 14 ) 15 16 // ShowRepoFeed shows user activity on the repo as RSS / Atom feed 17 func ShowRepoFeed(ctx *context.Context, repo *repo_model.Repository, formatType string) { 18 actions, _, err := activities_model.GetFeeds(ctx, activities_model.GetFeedsOptions{ 19 RequestedRepo: repo, 20 Actor: ctx.Doer, 21 IncludePrivate: true, 22 Date: ctx.FormString("date"), 23 }) 24 if err != nil { 25 ctx.ServerError("GetFeeds", err) 26 return 27 } 28 29 feed := &feeds.Feed{ 30 Title: ctx.Tr("home.feed_of", repo.FullName()), 31 Link: &feeds.Link{Href: repo.HTMLURL()}, 32 Description: repo.Description, 33 Created: time.Now(), 34 } 35 36 feed.Items, err = feedActionsToFeedItems(ctx, actions) 37 if err != nil { 38 ctx.ServerError("convert feed", err) 39 return 40 } 41 42 writeFeed(ctx, feed, formatType) 43 }