summaryrefslogtreecommitdiffstats
path: root/modules/structs/issue_label.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/structs/issue_label.go')
-rw-r--r--modules/structs/issue_label.go75
1 files changed, 75 insertions, 0 deletions
diff --git a/modules/structs/issue_label.go b/modules/structs/issue_label.go
new file mode 100644
index 00000000..153c4126
--- /dev/null
+++ b/modules/structs/issue_label.go
@@ -0,0 +1,75 @@
+// Copyright 2016 The Gogs Authors. All rights reserved.
+// Copyright 2019 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package structs
+
+import (
+ "time"
+)
+
+// Label a label to an issue or a pr
+// swagger:model
+type Label struct {
+ ID int64 `json:"id"`
+ Name string `json:"name"`
+ // example: false
+ Exclusive bool `json:"exclusive"`
+ // example: false
+ IsArchived bool `json:"is_archived"`
+ // example: 00aabb
+ Color string `json:"color"`
+ Description string `json:"description"`
+ URL string `json:"url"`
+}
+
+// CreateLabelOption options for creating a label
+type CreateLabelOption struct {
+ // required:true
+ Name string `json:"name" binding:"Required"`
+ // example: false
+ Exclusive bool `json:"exclusive"`
+ // required:true
+ // example: #00aabb
+ Color string `json:"color" binding:"Required"`
+ Description string `json:"description"`
+ // example: false
+ IsArchived bool `json:"is_archived"`
+}
+
+// EditLabelOption options for editing a label
+type EditLabelOption struct {
+ Name *string `json:"name"`
+ // example: false
+ Exclusive *bool `json:"exclusive"`
+ // example: #00aabb
+ Color *string `json:"color"`
+ Description *string `json:"description"`
+ // example: false
+ IsArchived *bool `json:"is_archived"`
+}
+
+// DeleteLabelOption options for deleting a label
+type DeleteLabelsOption struct {
+ // swagger:strfmt date-time
+ Updated *time.Time `json:"updated_at"`
+}
+
+// IssueLabelsOption a collection of labels
+type IssueLabelsOption struct {
+ // Labels can be a list of integers representing label IDs
+ // or a list of strings representing label names
+ Labels []any `json:"labels"`
+ // swagger:strfmt date-time
+ Updated *time.Time `json:"updated_at"`
+}
+
+// LabelTemplate info of a Label template
+type LabelTemplate struct {
+ Name string `json:"name"`
+ // example: false
+ Exclusive bool `json:"exclusive"`
+ // example: 00aabb
+ Color string `json:"color"`
+ Description string `json:"description"`
+}