Documentation
¶
Index ¶
- type Client
- func (g *Client) AddCollaborator(org, repo, user string, permission map[string]bool) (*gsdk.Response, error)
- func (g *Client) AddTeamMember(id int64, user string) error
- func (g *Client) AddTeamRepository(id int64, org, repo string) error
- func (g *Client) CreateAndGetOrg(opts CreateOrgOption) (*gsdk.Organization, error)
- func (g *Client) CreateOrGetTeam(org string, opts CreateTeamOption) (*gsdk.Team, error)
- func (g *Client) CreateOrGetUser(opts CreateUserOption) (*gsdk.User, error)
- func (g *Client) CreateUserPublicKey(username string, opts CreatePublicKeyOption) (*gsdk.PublicKey, error)
- func (g *Client) DeleteOrg(opts DeleteOrgOption) error
- func (g *Client) DeleteRepository(opts DeleteRepoOption) error
- func (g *Client) GetCurrentUser() (*gsdk.User, error)
- func (g *Client) ListOrgRepos(org string, opts ...gsdk.ListOrgReposOptions) ([]*gsdk.Repository, *gsdk.Response, error)
- func (g *Client) MigrateRepo(opts MigrateRepoOption) (*gsdk.Repository, error)
- func (g *Client) SearchOrgTeams(org string, opts *gsdk.SearchTeamsOptions) ([]*gsdk.Team, error)
- type Config
- type CreateOrgOption
- type CreatePublicKeyOption
- type CreateTeamOption
- type CreateUserOption
- type DeleteOrgOption
- type DeleteRepoOption
- type GiteaError
- type MigrateRepoOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents a Gitea client instance for interacting with the Gitea API.
func New ¶
New creates a new Gitea client with the provided configuration and context. Returns a pointer to the Client and an error if initialization fails.
func (*Client) AddCollaborator ¶
func (g *Client) AddCollaborator(org, repo, user string, permission map[string]bool) (*gsdk.Response, error)
AddCollaborator adds a user as a collaborator to the specified repository with the given permissions. Returns the response and an error if the operation fails.
func (*Client) AddTeamMember ¶
AddTeamMember adds a user to the specified team by team ID. Returns an error if the operation fails.
func (*Client) AddTeamRepository ¶
AddTeamRepository adds a repository to the specified team. Returns an error if the operation fails.
func (*Client) CreateAndGetOrg ¶
func (g *Client) CreateAndGetOrg(opts CreateOrgOption) (*gsdk.Organization, error)
CreateAndGetOrg retrieves an existing organization or creates a new one if it does not exist. Returns a pointer to the Organization and an error if the operation fails.
func (*Client) CreateOrGetTeam ¶
CreateOrGetTeam retrieves an existing team or creates a new one in the specified organization. Returns a pointer to the Team and an error if the operation fails.
func (*Client) CreateOrGetUser ¶
func (g *Client) CreateOrGetUser(opts CreateUserOption) (*gsdk.User, error)
CreateOrGetUser retrieves an existing user or creates a new one if not found. Returns a pointer to the User and an error if the operation fails.
func (*Client) CreateUserPublicKey ¶
func (g *Client) CreateUserPublicKey(username string, opts CreatePublicKeyOption) (*gsdk.PublicKey, error)
CreateUserPublicKey creates an SSH public key for the specified user.
func (*Client) DeleteOrg ¶
func (g *Client) DeleteOrg(opts DeleteOrgOption) error
DeleteOrg deletes an organization from Gitea. Returns an error if the operation fails.
func (*Client) DeleteRepository ¶
func (g *Client) DeleteRepository(opts DeleteRepoOption) error
DeleteRepository deletes a repository from Gitea. Returns an error if the operation fails.
func (*Client) GetCurrentUser ¶
GetCurrentUser retrieves the current authenticated user's information from Gitea. Returns a pointer to the User and an error if the request fails.
func (*Client) ListOrgRepos ¶
func (g *Client) ListOrgRepos(org string, opts ...gsdk.ListOrgReposOptions) ([]*gsdk.Repository, *gsdk.Response, error)
ListOrgRepos lists all repositories under the specified organization.
func (*Client) MigrateRepo ¶
func (g *Client) MigrateRepo(opts MigrateRepoOption) (*gsdk.Repository, error)
MigrateRepo migrates a repository from a remote source to Gitea. Returns a pointer to the new Repository and an error if the migration fails.
func (*Client) SearchOrgTeams ¶
SearchOrgTeams retrieves a list of teams in the specified organization.
type Config ¶
type Config struct { // Server is the Gitea server URL. Server string // Token is the personal access token for authentication. Token string // SkipVerify determines whether to skip TLS certificate verification. SkipVerify bool // SourceID is the authentication source ID for user creation. SourceID int64 // Logger is the logger instance for logging. Logger *slog.Logger }
type CreateOrgOption ¶
type CreateOrgOption struct { // Name is the organization name. Name string // Description is the organization description. Description string // Visibility sets the visibility of the organization. Visibility gsdk.VisibleType }
CreateOrgOption contains options for creating a Gitea organization.
type CreatePublicKeyOption ¶
CreatePublicKeyOption contains options for creating a user's SSH key.
type CreateTeamOption ¶
type CreateTeamOption struct { // Name is the team name. Name string // Description is the team description. Description string // Permission is the permission level for the team. Permission string }
CreateTeamOption contains options for creating a Gitea team.
type CreateUserOption ¶
type CreateUserOption struct { // SourceID is the authentication source ID. SourceID int64 // LoginName is the login name for the user. LoginName string // Username is the username for the user. Username string // FullName is the full name of the user. FullName string // Email is the email address of the user. Email string }
CreateUserOption contains options for creating a Gitea user.
type DeleteOrgOption ¶
type DeleteOrgOption struct { // OrgName is the organization name to delete. OrgName string }
DeleteOrgOption contains options for deleting a Gitea organization.
type DeleteRepoOption ¶
type DeleteRepoOption struct { // Owner is the owner (user or org) of the repository. Owner string // Repo is the name of the repository to delete. Repo string }
DeleteRepoOption contains options for deleting a Gitea repository.
type GiteaError ¶
type GiteaError struct { // Operation is the name of the Gitea operation that failed. Operation string // Code is the HTTP status code returned by the Gitea server. Code int // Message is the error message returned by the Gitea server. Message string }
GiteaError is a custom error type for Gitea operations.
func (*GiteaError) Error ¶
func (e *GiteaError) Error() string
type MigrateRepoOption ¶
type MigrateRepoOption struct { // RepoName is the name of the repository to create. RepoName string // RepoOwner is the owner (user or org) of the new repository. RepoOwner string // CloneAddr is the source repository clone URL. CloneAddr string // Private determines if the new repository is private. Private bool // Description is the repository description. Description string // AuthUsername is the username for authentication to the source repository. AuthUsername string // AuthToken is the token/password for authentication to the source repository. AuthToken string }
MigrateRepoOption contains options for migrating a repository to Gitea.