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.
2016-11-07 16:53:13 +03:00
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
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" `
2019-08-26 21:13:10 +03:00
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.ext_wiki"]
2019-11-20 14:27:49 +03:00
Units [ ] string ` json:"units" `
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" `
2019-08-26 21:13:10 +03:00
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.ext_wiki"]
2019-11-20 14:27:49 +03:00
Units [ ] string ` json:"units" `
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" `
2019-08-26 21:13:10 +03:00
// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.ext_wiki"]
2019-11-20 14:27:49 +03:00
Units [ ] string ` json:"units" `
2020-01-09 16:15:14 +03:00
CanCreateOrgRepo * bool ` json:"can_create_org_repo" `
2016-12-16 18:26:35 +03:00
}