mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-06 04:01:05 +09:00
Add a build-time conversion step that transforms the existing Swagger 2.0 spec into an OpenAPI 3.0 spec. The OAS3 spec is served alongside the existing Swagger 2.0 spec, enabling API clients that require OAS3 to generate code directly from Gitea's API. This is not to be an answer to how gitea handles OAS3 long term, but a way to use what we have to move a step forward. --------- Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
64 lines
3.5 KiB
Go
64 lines
3.5 KiB
Go
// Copyright 2016 The Gogs Authors. All rights reserved.
|
|
// Copyright 2018 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package structs
|
|
|
|
// Team represents a team in an organization
|
|
type Team struct {
|
|
// The unique identifier of the team
|
|
ID int64 `json:"id"`
|
|
// The name of the team
|
|
Name string `json:"name"`
|
|
// The description of the team
|
|
Description string `json:"description"`
|
|
// The organization that the team belongs to
|
|
Organization *Organization `json:"organization"`
|
|
// Whether the team has access to all repositories in the organization
|
|
IncludesAllRepositories bool `json:"includes_all_repositories"`
|
|
Permission AccessLevelName `json:"permission"`
|
|
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
|
|
// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
|
|
Units []string `json:"units"`
|
|
// example: {"repo.code":"read","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"admin","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}
|
|
UnitsMap map[string]string `json:"units_map"`
|
|
// Whether the team can create repositories in the organization
|
|
CanCreateOrgRepo bool `json:"can_create_org_repo"`
|
|
}
|
|
|
|
// CreateTeamOption options for creating a team
|
|
type CreateTeamOption struct {
|
|
// required: true
|
|
Name string `json:"name" binding:"Required;AlphaDashDot;MaxSize(255)"`
|
|
// The description of the team
|
|
Description string `json:"description" binding:"MaxSize(255)"`
|
|
// Whether the team has access to all repositories in the organization
|
|
IncludesAllRepositories bool `json:"includes_all_repositories"`
|
|
Permission RepoWritePermission `json:"permission"`
|
|
// example: ["repo.actions","repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.ext_wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
|
|
// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
|
|
Units []string `json:"units"`
|
|
// example: {"repo.actions","repo.packages","repo.code":"read","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"admin","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}
|
|
UnitsMap map[string]string `json:"units_map"`
|
|
// Whether the team can create repositories in the organization
|
|
CanCreateOrgRepo bool `json:"can_create_org_repo"`
|
|
}
|
|
|
|
// EditTeamOption options for editing a team
|
|
type EditTeamOption struct {
|
|
// required: true
|
|
Name string `json:"name" binding:"AlphaDashDot;MaxSize(255)"`
|
|
// The description of the team
|
|
Description *string `json:"description" binding:"MaxSize(255)"`
|
|
// Whether the team has access to all repositories in the organization
|
|
IncludesAllRepositories *bool `json:"includes_all_repositories"`
|
|
Permission RepoWritePermission `json:"permission"`
|
|
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
|
|
// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
|
|
Units []string `json:"units"`
|
|
// example: {"repo.code":"read","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"admin","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}
|
|
UnitsMap map[string]string `json:"units_map"`
|
|
// Whether the team can create repositories in the organization
|
|
CanCreateOrgRepo *bool `json:"can_create_org_repo"`
|
|
}
|