mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-02 20:44:13 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2015 The Gogs Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package structs
 | 
						|
 | 
						|
// Organization represents an organization
 | 
						|
type Organization struct {
 | 
						|
	// The unique identifier of the organization
 | 
						|
	ID int64 `json:"id"`
 | 
						|
	// The name of the organization
 | 
						|
	Name string `json:"name"`
 | 
						|
	// The full display name of the organization
 | 
						|
	FullName string `json:"full_name"`
 | 
						|
	// The email address of the organization
 | 
						|
	Email string `json:"email"`
 | 
						|
	// The URL of the organization's avatar
 | 
						|
	AvatarURL string `json:"avatar_url"`
 | 
						|
	// The description of the organization
 | 
						|
	Description string `json:"description"`
 | 
						|
	// The website URL of the organization
 | 
						|
	Website string `json:"website"`
 | 
						|
	// The location of the organization
 | 
						|
	Location string `json:"location"`
 | 
						|
	// The visibility level of the organization (public, limited, private)
 | 
						|
	Visibility string `json:"visibility"`
 | 
						|
	// Whether repository administrators can change team access
 | 
						|
	RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
 | 
						|
	// username of the organization
 | 
						|
	// deprecated
 | 
						|
	UserName string `json:"username"`
 | 
						|
}
 | 
						|
 | 
						|
// OrganizationPermissions list different users permissions on an organization
 | 
						|
type OrganizationPermissions struct {
 | 
						|
	// Whether the user is an owner of the organization
 | 
						|
	IsOwner bool `json:"is_owner"`
 | 
						|
	// Whether the user is an admin of the organization
 | 
						|
	IsAdmin bool `json:"is_admin"`
 | 
						|
	// Whether the user can write to the organization
 | 
						|
	CanWrite bool `json:"can_write"`
 | 
						|
	// Whether the user can read the organization
 | 
						|
	CanRead bool `json:"can_read"`
 | 
						|
	// Whether the user can create repositories in the organization
 | 
						|
	CanCreateRepository bool `json:"can_create_repository"`
 | 
						|
}
 | 
						|
 | 
						|
// CreateOrgOption options for creating an organization
 | 
						|
type CreateOrgOption struct {
 | 
						|
	// username of the organization
 | 
						|
	// required: true
 | 
						|
	UserName string `json:"username" binding:"Required;Username;MaxSize(40)"`
 | 
						|
	// The full display name of the organization
 | 
						|
	FullName string `json:"full_name" binding:"MaxSize(100)"`
 | 
						|
	// The email address of the organization
 | 
						|
	Email string `json:"email" binding:"MaxSize(255)"`
 | 
						|
	// The description of the organization
 | 
						|
	Description string `json:"description" binding:"MaxSize(255)"`
 | 
						|
	// The website URL of the organization
 | 
						|
	Website string `json:"website" binding:"ValidUrl;MaxSize(255)"`
 | 
						|
	// The location of the organization
 | 
						|
	Location string `json:"location" binding:"MaxSize(50)"`
 | 
						|
	// possible values are `public` (default), `limited` or `private`
 | 
						|
	// enum: public,limited,private
 | 
						|
	Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
 | 
						|
	// Whether repository administrators can change team access
 | 
						|
	RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
 | 
						|
}
 | 
						|
 | 
						|
// TODO: make EditOrgOption fields optional after https://gitea.com/go-chi/binding/pulls/5 got merged
 | 
						|
 | 
						|
// EditOrgOption options for editing an organization
 | 
						|
type EditOrgOption struct {
 | 
						|
	// The full display name of the organization
 | 
						|
	FullName string `json:"full_name" binding:"MaxSize(100)"`
 | 
						|
	// The email address of the organization
 | 
						|
	Email string `json:"email" binding:"MaxSize(255)"`
 | 
						|
	// The description of the organization
 | 
						|
	Description string `json:"description" binding:"MaxSize(255)"`
 | 
						|
	// The website URL of the organization
 | 
						|
	Website string `json:"website" binding:"ValidUrl;MaxSize(255)"`
 | 
						|
	// The location of the organization
 | 
						|
	Location string `json:"location" binding:"MaxSize(50)"`
 | 
						|
	// possible values are `public`, `limited` or `private`
 | 
						|
	// enum: public,limited,private
 | 
						|
	Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
 | 
						|
	// Whether repository administrators can change team access
 | 
						|
	RepoAdminChangeTeamAccess *bool `json:"repo_admin_change_team_access"`
 | 
						|
}
 | 
						|
 | 
						|
// RenameOrgOption options when renaming an organization
 | 
						|
type RenameOrgOption struct {
 | 
						|
	// New username for this org. This name cannot be in use yet by any other user.
 | 
						|
	//
 | 
						|
	// required: true
 | 
						|
	// unique: true
 | 
						|
	NewName string `json:"new_name" binding:"Required"`
 | 
						|
}
 |