Allow to archive labels (#26478)

## Archived labels 

This adds the structure to allow for archived labels.
Archived labels are, just like closed milestones or projects, a medium to hide information without deleting it.
It is especially useful if there are outdated labels that should no longer be used without deleting the label entirely.

## Changes

1. UI and API have been equipped with the support to mark a label as archived
2. The time when a label has been archived will be stored in the DB

## Outsourced for the future

There's no special handling for archived labels at the moment.
This will be done in the future.

## Screenshots

![image](208f95cd-42e4-4ed7-9a1f-cd2050a645d4)

![image](746428e0-40bb-45b3-b992-85602feb371d)

Part of https://github.com/go-gitea/gitea/issues/25237

---------

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
puni9869 2023-08-14 15:26:14 +05:30 committed by GitHub
parent db7b0a1a4e
commit cafce3b4b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 111 additions and 20 deletions

View file

@ -11,6 +11,8 @@ type Label struct {
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"`
@ -27,6 +29,8 @@ type CreateLabelOption struct {
// 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
@ -37,6 +41,8 @@ type EditLabelOption struct {
// example: #00aabb
Color *string `json:"color"`
Description *string `json:"description"`
// example: false
IsArchived *bool `json:"is_archived"`
}
// IssueLabelsOption a collection of labels