2021-10-25 06:43:40 +03:00
// Copyright 2021 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package convert
import (
"time"
2021-12-10 04:27:50 +03:00
repo_model "code.gitea.io/gitea/models/repo"
2021-10-25 06:43:40 +03:00
"code.gitea.io/gitea/modules/git"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/util"
wiki_service "code.gitea.io/gitea/services/wiki"
)
// ToWikiCommit convert a git commit into a WikiCommit
func ToWikiCommit ( commit * git . Commit ) * api . WikiCommit {
return & api . WikiCommit {
ID : commit . ID . String ( ) ,
Author : & api . CommitUser {
Identity : api . Identity {
Name : commit . Author . Name ,
Email : commit . Author . Email ,
} ,
Date : commit . Author . When . UTC ( ) . Format ( time . RFC3339 ) ,
} ,
Committer : & api . CommitUser {
Identity : api . Identity {
Name : commit . Committer . Name ,
Email : commit . Committer . Email ,
} ,
Date : commit . Committer . When . UTC ( ) . Format ( time . RFC3339 ) ,
} ,
Message : commit . CommitMessage ,
}
}
// ToWikiCommitList convert a list of git commits into a WikiCommitList
func ToWikiCommitList ( commits [ ] * git . Commit , total int64 ) * api . WikiCommitList {
result := make ( [ ] * api . WikiCommit , len ( commits ) )
for i := range commits {
result [ i ] = ToWikiCommit ( commits [ i ] )
}
return & api . WikiCommitList {
WikiCommits : result ,
Count : total ,
}
}
// ToWikiPageMetaData converts meta information to a WikiPageMetaData
2021-12-10 04:27:50 +03:00
func ToWikiPageMetaData ( title string , lastCommit * git . Commit , repo * repo_model . Repository ) * api . WikiPageMetaData {
2021-10-25 06:43:40 +03:00
suburl := wiki_service . NameToSubURL ( title )
return & api . WikiPageMetaData {
Title : title ,
HTMLURL : util . URLJoin ( repo . HTMLURL ( ) , "wiki" , suburl ) ,
SubURL : suburl ,
LastCommit : ToWikiCommit ( lastCommit ) ,
}
}