github_handler

package
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterHandlers

func RegisterHandlers(server *server.Server, grp *huma.Group)

Types

type GitHubAppCreateInput

type GitHubAppCreateInput struct {
	server.BaseAuthInput
	RedirectURL  string `query:"redirect_url" required:"true" doc:"The client URL to redirect to after the installation is finished"`
	Organization string `query:"organization" doc:"The organization to install the app for, if any"`
}

type GithubAdminOrganizationListInput

type GithubAdminOrganizationListInput struct {
	server.BaseAuthInput
	InstallationID int64 `path:"installation_id" required:"true"`
}

GET Github admin organizations for installation

type GithubAdminOrganizationListResponse

type GithubAdminOrganizationListResponse struct {
	Body struct {
		Data []*github.Organization `json:"data"`
	}
}

type GithubAdminRepositoryListResponse

type GithubAdminRepositoryListResponse struct {
	Body struct {
		Data []*github.GithubRepository `json:"data" nullable:"false"`
	}
}

GET Github admin organizations for installation

type GithubAppAPIResponse

type GithubAppAPIResponse struct {
	// ID of the ent.
	// The GitHub App ID
	ID   int64     `json:"id"`
	UUID uuid.UUID `json:"uuid"`
	// The time at which the entity was created.
	CreatedAt time.Time `json:"created_at"`
	// The time at which the entity was last updated.
	UpdatedAt time.Time `json:"updated_at"`
	// The user that created this github app.
	CreatedBy uuid.UUID `json:"created_by"`
	// Name of the GitHub App
	Name          string                           `json:"name"`
	Installations []*GithubInstallationAPIResponse `json:"installations" nullable:"false"`
}

type GithubAppCreateResponse

type GithubAppCreateResponse struct {
	Body struct {
		Data string `json:"data"`
	}
}

type GithubAppGetInput

type GithubAppGetInput struct {
	server.BaseAuthInput
	UUID uuid.UUID `query:"uuid" required:"true" format:"uuid"`
}

GET by UUID

type GithubAppGetResponse

type GithubAppGetResponse struct {
	Body struct {
		Data *GithubAppAPIResponse `json:"data"`
	}
}

type GithubAppInstallationListResponse

type GithubAppInstallationListResponse struct {
	Body struct {
		Data []*GithubInstallationAPIResponse `json:"data"`
	}
}

GET Github app installations

type GithubAppListInput

type GithubAppListInput struct {
	server.BaseAuthInput
	WithInstallations bool `query:"with_installations"`
}

GET Github apps

type GithubAppListResponse

type GithubAppListResponse struct {
	Body struct {
		Data []*GithubAppAPIResponse `json:"data"`
	}
}

type GithubInstallationAPIResponse

type GithubInstallationAPIResponse struct {
	ID int64 `json:"id,omitempty"`
	// The time at which the entity was created.
	CreatedAt time.Time `json:"created_at,omitempty"`
	// The time at which the entity was last updated.
	UpdatedAt time.Time `json:"updated_at,omitempty"`
	// The GitHub App ID this installation belongs to
	GithubAppID int64 `json:"github_app_id,omitempty"`
	// The GitHub account ID (org or user)
	AccountID int64 `json:"account_id,omitempty"`
	// The GitHub account login (org or user name)
	AccountLogin string `json:"account_login,omitempty"`
	// Type of GitHub account
	AccountType githubinstallation.AccountType `json:"account_type,omitempty"`
	// The HTML URL to the GitHub account
	AccountURL string `json:"account_url,omitempty"`
	// Whether the installation has access to all repos or only selected ones
	RepositorySelection githubinstallation.RepositorySelection `json:"repository_selection,omitempty"`
	// Whether the installation is suspended
	Suspended bool `json:"suspended,omitempty"`
	// Whether the installation is active
	Active bool `json:"active,omitempty"`
	// Permissions granted to this installation
	Permissions schema.GithubInstallationPermissions `json:"permissions,omitempty"`
	// Events this installation subscribes to
	Events []string `json:"events,omitempty"`
}

type GithubRepositoryDetailInput

type GithubRepositoryDetailInput struct {
	server.BaseAuthInput
	InstallationID int64  `query:"installation_id" required:"true"`
	Owner          string `query:"owner" required:"true"`
	RepoName       string `query:"repo_name" required:"true"`
}

GET github repository details (branches, tags, etc.)

type GithubRepositoryDetailResponse

type GithubRepositoryDetailResponse struct {
	Body struct {
		Data *github.GithubRepositoryDetail `json:"data"`
	}
}

type HandlerGroup

type HandlerGroup struct {
	// contains filtered or unexported fields
}

func (*HandlerGroup) HandleGetGithubApp

func (self *HandlerGroup) HandleGetGithubApp(ctx context.Context, input *GithubAppGetInput) (*GithubAppGetResponse, error)

func (*HandlerGroup) HandleGetGithubRepositoryDetail

func (self *HandlerGroup) HandleGetGithubRepositoryDetail(ctx context.Context, input *GithubRepositoryDetailInput) (*GithubRepositoryDetailResponse, error)

func (*HandlerGroup) HandleGithubAppCreate

func (self *HandlerGroup) HandleGithubAppCreate(ctx context.Context, input *GitHubAppCreateInput) (*GithubAppCreateResponse, error)

Handler to render GitHub page with form submission

func (*HandlerGroup) HandleListGithubAdminOrganizations

func (self *HandlerGroup) HandleListGithubAdminOrganizations(ctx context.Context, input *GithubAdminOrganizationListInput) (*GithubAdminOrganizationListResponse, error)

func (*HandlerGroup) HandleListGithubAdminRepositories

func (self *HandlerGroup) HandleListGithubAdminRepositories(ctx context.Context, input *server.BaseAuthInput) (*GithubAdminRepositoryListResponse, error)

func (*HandlerGroup) HandleListGithubAppInstallations

func (self *HandlerGroup) HandleListGithubAppInstallations(ctx context.Context, input *server.BaseAuthInput) (*GithubAppInstallationListResponse, error)

func (*HandlerGroup) HandleListGithubApps

func (self *HandlerGroup) HandleListGithubApps(ctx context.Context, input *GithubAppListInput) (*GithubAppListResponse, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL