mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
Source files keep their SPDX-License-Identifier and Hanzo copyright line; the Gitea, Gogs and LFS Test Server copyrights they used to repeat now live once in NOTICE, alongside LICENSE. The header lint accepts any copyright line above the SPDX line, so it no longer demands an upstream one. Co-authored-by: Hanzo Dev <[email protected]>
60 lines
1.9 KiB
Go
60 lines
1.9 KiB
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package structs
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// Milestone milestone is a collection of issues on one repository
|
|
type Milestone struct {
|
|
// ID is the unique identifier for the milestone
|
|
ID int64 `json:"id"`
|
|
// Title is the title of the milestone
|
|
Title string `json:"title"`
|
|
// Description provides details about the milestone
|
|
Description string `json:"description"`
|
|
// State indicates if the milestone is open or closed
|
|
State StateType `json:"state"`
|
|
// OpenIssues is the number of open issues in this milestone
|
|
OpenIssues int `json:"open_issues"`
|
|
// ClosedIssues is the number of closed issues in this milestone
|
|
ClosedIssues int `json:"closed_issues"`
|
|
// 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"`
|
|
// swagger:strfmt date-time
|
|
Deadline *time.Time `json:"due_on"`
|
|
}
|
|
|
|
// CreateMilestoneOption options for creating a milestone
|
|
type CreateMilestoneOption struct {
|
|
// Title is the title of the new milestone
|
|
Title string `json:"title"`
|
|
// Description provides details about the milestone
|
|
Description string `json:"description"`
|
|
// swagger:strfmt date-time
|
|
// Deadline is the due date for the milestone
|
|
Deadline *time.Time `json:"due_on"`
|
|
// enum: ["open","closed"]
|
|
// State indicates the initial state of the milestone
|
|
State string `json:"state"`
|
|
}
|
|
|
|
// EditMilestoneOption options for editing a milestone
|
|
type EditMilestoneOption struct {
|
|
// Title is the updated title of the milestone
|
|
Title string `json:"title"`
|
|
// Description provides updated details about the milestone
|
|
Description *string `json:"description"`
|
|
// State indicates the updated state of the milestone
|
|
// enum: ["open","closed"]
|
|
State *string `json:"state"`
|
|
// Deadline is the updated due date for the milestone
|
|
Deadline *time.Time `json:"due_on"`
|
|
}
|