2016-11-07 16:53:13 +03:00
// Copyright 2016 The Gogs Authors. All rights reserved.
2018-11-10 22:45:32 +03:00
// Copyright 2018 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2016-11-07 16:53:13 +03:00
2019-05-11 13:21:34 +03:00
package structs
2016-11-07 16:53:13 +03:00
2017-11-13 10:02:25 +03:00
// Team represents a team in an organization
2016-11-07 16:53:13 +03:00
type Team struct {
2019-11-06 12:37:14 +03:00
ID int64 ` json:"id" `
Name string ` json:"name" `
Description string ` json:"description" `
Organization * Organization ` json:"organization" `
IncludesAllRepositories bool ` json:"includes_all_repositories" `
2017-11-13 10:02:25 +03:00
// enum: none,read,write,admin,owner
2018-03-06 04:22:16 +03:00
Permission string ` json:"permission" `
2021-03-04 01:44:30 +03:00
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
2022-01-05 06:37:00 +03:00
// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
Units [ ] string ` json:"units" `
2022-10-05 23:26:34 +03:00
// 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"}
2022-01-05 06:37:00 +03:00
UnitsMap map [ string ] string ` json:"units_map" `
CanCreateOrgRepo bool ` json:"can_create_org_repo" `
2016-11-07 16:53:13 +03:00
}
2017-11-13 10:02:25 +03:00
// CreateTeamOption options for creating a team
2016-11-07 16:53:13 +03:00
type CreateTeamOption struct {
2017-11-13 10:02:25 +03:00
// required: true
2019-11-06 12:37:14 +03:00
Name string ` json:"name" binding:"Required;AlphaDashDot;MaxSize(30)" `
Description string ` json:"description" binding:"MaxSize(255)" `
IncludesAllRepositories bool ` json:"includes_all_repositories" `
2017-11-13 10:02:25 +03:00
// enum: read,write,admin
2018-03-06 04:22:16 +03:00
Permission string ` json:"permission" `
2023-07-26 13:22:56 +03:00
// example: ["repo.actions","repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.ext_wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
2022-01-05 06:37:00 +03:00
// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
Units [ ] string ` json:"units" `
2023-07-26 13:22:56 +03:00
// 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"}
2022-01-05 06:37:00 +03:00
UnitsMap map [ string ] string ` json:"units_map" `
CanCreateOrgRepo bool ` json:"can_create_org_repo" `
2016-11-07 16:53:13 +03:00
}
2016-12-16 18:26:35 +03:00
2017-11-13 10:02:25 +03:00
// EditTeamOption options for editing a team
2016-12-16 18:26:35 +03:00
type EditTeamOption struct {
2017-11-13 10:02:25 +03:00
// required: true
2020-01-09 16:15:14 +03:00
Name string ` json:"name" binding:"AlphaDashDot;MaxSize(30)" `
Description * string ` json:"description" binding:"MaxSize(255)" `
IncludesAllRepositories * bool ` json:"includes_all_repositories" `
2017-11-13 10:02:25 +03:00
// enum: read,write,admin
2018-03-06 04:22:16 +03:00
Permission string ` json:"permission" `
2021-03-04 01:44:30 +03:00
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
2022-01-05 06:37:00 +03:00
// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
Units [ ] string ` json:"units" `
2022-10-05 23:26:34 +03:00
// 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"}
2022-01-05 06:37:00 +03:00
UnitsMap map [ string ] string ` json:"units_map" `
CanCreateOrgRepo * bool ` json:"can_create_org_repo" `
2016-12-16 18:26:35 +03:00
}