// Copyright 2026 The MokoGitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package structs // IssueBulkLabelsOption options for bulk label operations on issues type IssueBulkLabelsOption struct { // issue indexes to operate on // required: true Issues []int64 `json:"issues" binding:"Required"` // Labels can be a list of integers representing label IDs // or a list of strings representing label names // required: true Labels []any `json:"labels" binding:"Required"` // action to perform: "add" (default), "remove", or "replace" Action string `json:"action"` } // IssueBulkStateOption options for bulk state changes on issues type IssueBulkStateOption struct { // issue indexes to operate on // required: true Issues []int64 `json:"issues" binding:"Required"` // new state for the issues, "open" or "closed" // required: true State string `json:"state" binding:"Required"` } // IssueBulkMilestoneOption options for bulk milestone assignment on issues type IssueBulkMilestoneOption struct { // issue indexes to operate on // required: true Issues []int64 `json:"issues" binding:"Required"` // milestone id to assign, 0 to remove milestone // required: true MilestoneID int64 `json:"milestone_id"` } // IssueBulkAssigneesOption options for bulk assignee operations on issues type IssueBulkAssigneesOption struct { // issue indexes to operate on // required: true Issues []int64 `json:"issues" binding:"Required"` // list of assignee usernames to add or set // required: true Assignees []string `json:"assignees" binding:"Required"` } // IssueBulkResult represents the result of a bulk issue operation // swagger:model type IssueBulkResult struct { // count of successfully updated issues SuccessCount int `json:"success_count"` // count of issues that failed to update FailureCount int `json:"failure_count"` // details of failures, keyed by issue index Failures map[int64]string `json:"failures,omitempty"` }