mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-30 06:38:37 -04:00 
			
		
		
		
	This adds an endpoint (`/orgs/{org}/rename`) to rename organizations.
I've modeled the endpoint using the rename user endpoint --
`/admin/users/{username}/rename` -- as base.
It is the 1st time I wrote a new API endpoint (I've tried to follow the
rename users endpoint code while writing it). So feel free to ping me if
there is something wrong or missing.
Resolves #32995
---------
Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2015 The Gogs Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package structs
 | |
| 
 | |
| // Organization represents an organization
 | |
| type Organization struct {
 | |
| 	ID                        int64  `json:"id"`
 | |
| 	Name                      string `json:"name"`
 | |
| 	FullName                  string `json:"full_name"`
 | |
| 	Email                     string `json:"email"`
 | |
| 	AvatarURL                 string `json:"avatar_url"`
 | |
| 	Description               string `json:"description"`
 | |
| 	Website                   string `json:"website"`
 | |
| 	Location                  string `json:"location"`
 | |
| 	Visibility                string `json:"visibility"`
 | |
| 	RepoAdminChangeTeamAccess bool   `json:"repo_admin_change_team_access"`
 | |
| 	// deprecated
 | |
| 	UserName string `json:"username"`
 | |
| }
 | |
| 
 | |
| // OrganizationPermissions list different users permissions on an organization
 | |
| type OrganizationPermissions struct {
 | |
| 	IsOwner             bool `json:"is_owner"`
 | |
| 	IsAdmin             bool `json:"is_admin"`
 | |
| 	CanWrite            bool `json:"can_write"`
 | |
| 	CanRead             bool `json:"can_read"`
 | |
| 	CanCreateRepository bool `json:"can_create_repository"`
 | |
| }
 | |
| 
 | |
| // CreateOrgOption options for creating an organization
 | |
| type CreateOrgOption struct {
 | |
| 	// required: true
 | |
| 	UserName    string `json:"username" binding:"Required;Username;MaxSize(40)"`
 | |
| 	FullName    string `json:"full_name" binding:"MaxSize(100)"`
 | |
| 	Email       string `json:"email" binding:"MaxSize(255)"`
 | |
| 	Description string `json:"description" binding:"MaxSize(255)"`
 | |
| 	Website     string `json:"website" binding:"ValidUrl;MaxSize(255)"`
 | |
| 	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)"`
 | |
| 	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 {
 | |
| 	FullName    string `json:"full_name" binding:"MaxSize(100)"`
 | |
| 	Email       string `json:"email" binding:"MaxSize(255)"`
 | |
| 	Description string `json:"description" binding:"MaxSize(255)"`
 | |
| 	Website     string `json:"website" binding:"ValidUrl;MaxSize(255)"`
 | |
| 	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)"`
 | |
| 	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"`
 | |
| }
 |