Files
jmiller 72e6b46cde refactor: complete MokoGitea -> MokoGIT rebrand
- Branding: default app name MokoGitea -> MokoGIT; all standalone
  'MokoGitea' brand strings, comments, and copyright headers -> MokoGIT
- Special repo/config names: .mokogitea/.mokogitea-private -> .mokogit/
  .mokogit-private (workflow discovery, issue/PR templates, profile+wiki
  repo names in header.go, config dir renamed)
- Lowercase: mokogitea -> mokogit (docker image refs, ntfy topic, mail
  tags, wiki docs, Joomla element/targetplatform, MCP package docs)
- Actions system user mokogitea-actions -> mokogit-actions + DB
  migration #369 to rename the existing id=-2 user in place
- Icon: bundle Moko favicon.svg as public/assets/img/{favicon,logo}.svg;
  wire PWA manifest (SiteManifest) + nav logo to the SVG
- CHANGELOG entry documenting the rebrand

Shared MOKOGITEA_* CI/compose env + org-secret names are intentionally
left for the coordinated server cutover to avoid breaking cross-repo CI.

Claude-Session: https://claude.ai/code/session_01Bqe7fAuHQeiLueYfeHFrHw
2026-07-14 15:51:26 -05:00

59 lines
1.9 KiB
Go

// Copyright 2026 The MokoGIT 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"`
}