Files
hearth/package/gitea/source/modules/structs/project.go
T
yukkop 335a74010d
runner nix smoke / nix label and flake smoke (push) Failing after 1m12s
feat: kanban tui
2026-09-27 15:42:51 +00:00

57 lines
1.7 KiB
Go

// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package structs
import (
"time"
)
// Project represents a project
// swagger:model
type Project struct {
// ID is the unique identifier for the project
ID int64 `json:"id"`
// Title is the title of the project
Title string `json:"title"`
// Description provides details about the project
Description string `json:"description"`
// OwnerID is the owner of the project (for org-level projects)
OwnerID int64 `json:"owner_id,omitempty"`
// RepoID is the repository this project belongs to (for repo-level projects)
RepoID int64 `json:"repo_id,omitempty"`
// CreatorID is the user who created the project
CreatorID int64 `json:"creator_id"`
// IsClosed indicates if the project is closed
IsClosed bool `json:"is_closed"`
// swagger:strfmt date-time
Created time.Time `json:"created_at"`
// swagger:strfmt date-time
Updated time.Time `json:"updated_at"`
// swagger:strfmt date-time
Closed *time.Time `json:"closed_at,omitempty"`
}
// ProjectColumn represents a column in a project
// swagger:model
type ProjectColumn struct {
// ID is the unique identifier for the column
ID int64 `json:"id"`
// Title is the title of the column
Title string `json:"title"`
// Color is the optional column color
Color string `json:"color"`
// Sorting is the column position
Sorting int8 `json:"sorting"`
}
// MoveProjectIssueOption options for moving an issue inside a project
// swagger:model
type MoveProjectIssueOption struct {
// ColumnID is the destination project column
// required: true
ColumnID int64 `json:"column_id" binding:"Required"`
// Sorting is the optional position inside the destination column
Sorting *int64 `json:"sorting,omitempty"`
}