mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 11:23:56 -05:00
8e1de85980
Resolve #30917 Make the APIs for adding labels and replacing labels support both label IDs and label names so the [`actions/labeler`](https://github.com/actions/labeler) action can work in Gitea. <img width="600px" src="https://github.com/go-gitea/gitea/assets/15528715/7835c771-f637-4c57-9ce5-e4fbf56fa0d3" /> (cherry picked from commit b3beaed147466739de0c24fd80206b5af8b71617) Conflicts: - modules/structs/issue_label.go Resolved by applying the Gitea change by hand. - tests/integration/api_issue_label_test.go Resolved by copying the new tests.
75 lines
1.9 KiB
Go
75 lines
1.9 KiB
Go
// 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"`
|
|
}
|