0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-04-01 17:36:03 +02:00
gitea/modules/structs/issue_milestone.go
Myers Carpenter 2633f9677d
Correct swagger annotations for enums, status codes, and notification state (#37030)
## ⚠️ BREAKING ⚠️

- delete reaction endpoints is changed to return 204 No Content rather
than 200 with no content.

## Summary

Add swagger:enum annotations and migrate all enum comments from the
deprecated comma-separated format to JSON arrays. Introduce
NotifySubjectStateType with open/closed/merged values. Fix delete
reaction endpoints to return 204 instead of 200.
2026-03-30 08:28:48 +08:00

60 lines
1.9 KiB
Go

// Copyright 2016 The Gogs Authors. 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"`
}