mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-05 01:40:49 +02:00
81692ceafa
Add ability to add and remove multiple projects per issue and pull request. Resolve #12974 --------- Signed-off-by: Icy Avocado <avocado@ovacoda.com> Co-authored-by: Tyrone Yeh <siryeh@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: OpenCode (gpt-5.2-codex) <opencode@openai.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com>
38 lines
1001 B
Go
38 lines
1001 B
Go
// Copyright 2026 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package convert
|
|
|
|
import (
|
|
project_model "code.gitea.io/gitea/models/project"
|
|
api "code.gitea.io/gitea/modules/structs"
|
|
)
|
|
|
|
// ToAPIProject converts a Project to API format
|
|
func ToAPIProject(p *project_model.Project) *api.Project {
|
|
apiProject := &api.Project{
|
|
ID: p.ID,
|
|
Title: p.Title,
|
|
Description: p.Description,
|
|
OwnerID: p.OwnerID,
|
|
RepoID: p.RepoID,
|
|
CreatorID: p.CreatorID,
|
|
IsClosed: p.IsClosed,
|
|
Created: p.CreatedUnix.AsTime(),
|
|
Updated: p.UpdatedUnix.AsTime(),
|
|
}
|
|
if p.IsClosed && p.ClosedDateUnix > 0 {
|
|
apiProject.Closed = p.ClosedDateUnix.AsTimePtr()
|
|
}
|
|
return apiProject
|
|
}
|
|
|
|
// ToAPIProjectList converts a list of Projects to API format
|
|
func ToAPIProjectList(projects []*project_model.Project) []*api.Project {
|
|
result := make([]*api.Project, len(projects))
|
|
for i := range projects {
|
|
result[i] = ToAPIProject(projects[i])
|
|
}
|
|
return result
|
|
}
|