| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // 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"`
- }
|