models

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminEnforcement

type AdminEnforcement struct {
	URL     *string
	Enabled bool
}

AdminEnforcement represents the configuration to enforce required status checks for repository administrators.

type App

type App struct {
	ID          *int64
	Slug        *string
	NodeID      *string
	Owner       *User
	Name        *string
	Description *string
	ExternalURL *string
	HTMLURL     *string
	CreatedAt   *utils.Timestamp
	UpdatedAt   *utils.Timestamp
	Permissions *InstallationPermissions
	Events      []string
}

App represents a GitHub App.

type Branch

type Branch struct {
	Name      *string `json:"name,omitempty"`
	Commit    *RepositoryCommit
	Protected *bool `json:"protected,omitempty"`
}

Branch represents a repository branch

type BranchRestrictions

type BranchRestrictions struct {
	// The list of user logins with push access.
	Users []*User
	// The list of team slugs with push access.
	Teams []*Team
	// The list of app slugs with push access.
	Apps []*App
}

BranchRestrictions represents the restriction that only certain users or teams may push to a branch.

type CommitAuthor

type CommitAuthor struct {
	Date  *time.Time
	Name  *string `json:"name,omitempty"`
	Email *string `json:"email,omitempty"`

	// The following fields are only populated by Webhook events.
	Login *string `json:"username,omitempty"` // Renamed for go-github consistency.
}

type DismissalRestrictions

type DismissalRestrictions struct {
	// The list of users who can dimiss pull request reviews.
	Users []*User `json:"users"`
}

DismissalRestrictions specifies which users and teams can dismiss pull request reviews.

type Hook

type Hook struct {
	CreatedAt    *time.Time
	UpdatedAt    *time.Time
	URL          *string
	ID           *int64
	Type         *string
	Name         *string
	TestURL      *string
	PingURL      *string
	LastResponse map[string]interface{}

	// Only the following fields are used when creating a hook.
	// Config is required.
	Config *HookConfig
	Events []string
	Active *bool
}

type HookConfig

type HookConfig struct {
	Insecure_SSL *string
	URL          *string
	Secret       *string
}

type InstallationPermissions

type InstallationPermissions struct {
	Actions                       *string
	Administration                *string
	Blocking                      *string
	Checks                        *string
	Contents                      *string
	ContentReferences             *string
	Deployments                   *string
	Emails                        *string
	Environments                  *string
	Followers                     *string
	Issues                        *string
	Metadata                      *string
	Members                       *string
	OrganizationAdministration    *string
	OrganizationHooks             *string
	OrganizationPlan              *string
	OrganizationPreReceiveHooks   *string
	OrganizationProjects          *string
	OrganizationSecrets           *string
	OrganizationSelfHostedRunners *string
	OrganizationUserBlocking      *string
	Packages                      *string
	Pages                         *string
	PullRequests                  *string
	RepositoryHooks               *string
	RepositoryProjects            *string
	RepositoryPreReceiveHooks     *string
	Secrets                       *string
	SecretScanningAlerts          *string
	SecurityEvents                *string
	SingleFile                    *string
	Statuses                      *string
	TeamDiscussions               *string
	VulnerabilityAlerts           *string
	Workflows                     *string
}

InstallationPermissions lists the repository and organization permissions for an installation.

type License

type License struct {
	Key            *string   `json:"key,omitempty"`
	Name           *string   `json:"name,omitempty"`
	URL            *string   `json:"url,omitempty"`
	SPDXID         *string   `json:"spdx_id,omitempty"`
	HTMLURL        *string   `json:"html_url,omitempty"`
	Featured       *bool     `json:"featured,omitempty"`
	Description    *string   `json:"description,omitempty"`
	Implementation *string   `json:"implementation,omitempty"`
	Conditions     *[]string `json:"conditions,omitempty"`
	Permissions    *[]string `json:"permissions,omitempty"`
	Limitations    *[]string `json:"limitations,omitempty"`
	Body           *string   `json:"body,omitempty"`
}

type Organization

type Organization struct {
	Login                         *string
	ID                            *int64
	NodeID                        *string
	Name                          *string
	Company                       *string
	Location                      *string
	Email                         *string
	Description                   *string
	PublicRepos                   *int
	CreatedAt                     *time.Time
	UpdatedAt                     *time.Time
	TotalPrivateRepos             *int
	OwnedPrivateRepos             *int
	Collaborators                 *int
	Type                          *string
	Plan                          *Plan
	DefaultRepoPermission         *string
	DefaultRepoSettings           *string
	MembersCanCreateRepos         *bool
	MembersCanCreatePublicRepos   *bool
	MembersCanCreatePrivateRepos  *bool
	MembersCanCreateInternalRepos *bool
	TwoFactorRequirementEnabled   *bool
	IsVerified                    *bool
	Members                       []*User
	IsRepositoryDeletionLimited   *bool
	IsIssueDeletionLimited        *bool
	Hooks                         []*Hook
}

type Package

type Package struct {
	ID           *int64
	Name         *string
	PackageType  *string
	HTMLURL      *string
	CreatedAt    *utils.Timestamp
	UpdatedAt    *utils.Timestamp
	Owner        *User
	Version      *string
	URL          *string
	VersionCount *int64
	Visibility   *string
	Repository   *Repository
}

type PackageRegistry

type PackageRegistry struct {
	TwoFactorRequirementEnabled *bool
	Packages                    []*Package
}

type Plan

type Plan struct {
	Name          *string
	Space         *int
	Collaborators *int
	PrivateRepos  *int
}

type Protection

type Protection struct {
	RequiredStatusChecks           *RequiredStatusChecks
	RequiredPullRequestReviews     *PullRequestReviewsEnforcement
	EnforceAdmins                  *AdminEnforcement
	Restrictions                   *BranchRestrictions
	RequireLinearHistory           bool
	AllowForcePushes               bool
	AllowDeletions                 bool
	RequiredConversationResolution bool
	RequiredSignedCommit           bool
}

type PullRequestReviewsEnforcement

type PullRequestReviewsEnforcement struct {
	// Specifies which users and teams can dismiss pull request reviews.
	DismissalRestrictions *DismissalRestrictions
	// Specifies if approved reviews are dismissed automatically, when a new commit is pushed.
	DismissStaleReviews bool
	// RequireCodeOwnerReviews specifies if an approved review is required in pull requests including files with a designated code owner.
	RequireCodeOwnerReviews bool
	// RequiredApprovingReviewCount specifies the number of approvals required before the pull request can be merged.
	// Valid values are 1-6.
	RequiredApprovingReviewCount int
}

PullRequestReviewsEnforcement represents the pull request reviews enforcement of a protected branch.

type Repository

type Repository struct {
	ID               *int64
	NodeID           *string          `json:"node_id,omitempty"`
	Owner            *User            `json:"owner,omitempty"`
	Name             *string          `json:"name,omitempty"`
	Description      *string          `json:"description,omitempty"`
	DefaultBranch    *string          `json:"default_branch,omitempty"`
	MasterBranch     *string          `json:"master_branch,omitempty"`
	CreatedAt        *utils.Timestamp `json:"created_at,omitempty"`
	PushedAt         *utils.Timestamp `json:"pushed_at,omitempty"`
	UpdatedAt        *utils.Timestamp `json:"updated_at,omitempty"`
	Language         *string          `json:"language,omitempty"`
	Fork             *bool            `json:"fork,omitempty"`
	ForksCount       *int             `json:"forks_count,omitempty"`
	NetworkCount     *int             `json:"network_count,omitempty"`
	OpenIssuesCount  *int             `json:"open_issues_count,omitempty"`
	StargazersCount  *int             `json:"stargazers_count,omitempty"`
	SubscribersCount *int             `json:"subscribers_count,omitempty"`
	WatchersCount    *int             `json:"watchers_count,omitempty"`
	Size             *int             `json:"size,omitempty"`
	AutoInit         *bool            `json:"auto_init,omitempty"`
	Parent           *Repository      `json:"parent,omitempty"`
	Source           *Repository      `json:"source,omitempty"`
	Organization     *Organization    `json:"organization,omitempty"`
	AllowRebaseMerge *bool
	AllowSquashMerge *bool
	AllowMergeCommit *bool
	Topics           []string `json:"topics,omitempty"`

	// Only provided when using RepositoriesService.Get while in preview
	License *License `json:"license,omitempty"`

	// Additional mutable fields when creating and editing a repository
	IsPrivate         *bool
	HasIssues         *bool   `json:"has_issues,omitempty"`
	LicenseTemplate   *string `json:"license_template,omitempty"`
	GitignoreTemplate *string `json:"gitignore_template,omitempty"`
	Archived          *bool   `json:"archived,omitempty"`

	// Creating an organization repository. Required for non-owners.
	TeamID *int64 `json:"team_id,omitempty"`

	// API URLs
	URL *string `json:"url,omitempty"`

	Branches             []*Branch
	Collaborators        []*User
	IsContainsSecurityMd bool
	Commits              []*RepositoryCommit
	Hooks                []*Hook
}

type RepositoryCommit

type RepositoryCommit struct {
	NodeID       *string `json:"node_id,omitempty"`
	SHA          *string `json:"sha,omitempty"`
	Author       *CommitAuthor
	Committer    *CommitAuthor
	URL          *string                `json:"url,omitempty"`
	Verification *SignatureVerification `json:"verification,omitempty"`
}

type RequiredStatusChecks

type RequiredStatusChecks struct {
	Strict bool
}

type SignatureVerification

type SignatureVerification struct {
	Verified  *bool   `json:"verified,omitempty"`
	Reason    *string `json:"reason,omitempty"`
	Signature *string `json:"signature,omitempty"`
	Payload   *string `json:"payload,omitempty"`
}

SignatureVerification represents GPG signature verification.

type Team

type Team struct {
	ID          *int64
	Name        *string
	Description *string
	URL         *string
	Slug        *string

	// Permission specifies the default permission for repositories owned by the team.
	Permission *string

	// Permissions identifies the permissions that a team has on a given
	// repository. This is only populated when calling Repositories.ListTeams.
	Permissions map[string]bool

	// Privacy identifies the level of privacy this team should have.
	// Possible values are:
	//     secret - only visible to organization owners and members of this team
	//     closed - visible to all members of this organization
	// Default is "secret".
	Privacy *string

	MembersCount *int
	ReposCount   *int
}

Team represents a team within a GitHub organization. Teams are used to manage access to an organization's repositories.

type User

type User struct {
	Login             *string          `json:"login,omitempty"`
	ID                *int64           `json:"id,omitempty"`
	NodeID            *string          `json:"node_id,omitempty"`
	AvatarURL         *string          `json:"avatar_url,omitempty"`
	HTMLURL           *string          `json:"html_url,omitempty"`
	GravatarID        *string          `json:"gravatar_id,omitempty"`
	Name              *string          `json:"name,omitempty"`
	Company           *string          `json:"company,omitempty"`
	Blog              *string          `json:"blog,omitempty"`
	Location          *string          `json:"location,omitempty"`
	Email             *string          `json:"email,omitempty"`
	Hireable          *bool            `json:"hireable,omitempty"`
	Bio               *string          `json:"bio,omitempty"`
	PublicRepos       *int             `json:"public_repos,omitempty"`
	PublicGists       *int             `json:"public_gists,omitempty"`
	Followers         *int             `json:"followers,omitempty"`
	Following         *int             `json:"following,omitempty"`
	CreatedAt         *utils.Timestamp `json:"created_at,omitempty"`
	UpdatedAt         *utils.Timestamp `json:"updated_at,omitempty"`
	SuspendedAt       *utils.Timestamp `json:"suspended_at,omitempty"`
	Type              *string          `json:"type,omitempty"`
	SiteAdmin         *bool            `json:"site_admin,omitempty"`
	TotalPrivateRepos *int             `json:"total_private_repos,omitempty"`
	OwnedPrivateRepos *int             `json:"owned_private_repos,omitempty"`
	PrivateGists      *int             `json:"private_gists,omitempty"`
	DiskUsage         *int             `json:"disk_usage,omitempty"`
	Collaborators     *int             `json:"collaborators,omitempty"`
	Plan              *Plan            `json:"plan,omitempty"`
	Role              string

	// API URLs
	URL               *string `json:"url,omitempty"`
	EventsURL         *string `json:"events_url,omitempty"`
	FollowingURL      *string `json:"following_url,omitempty"`
	FollowersURL      *string `json:"followers_url,omitempty"`
	GistsURL          *string `json:"gists_url,omitempty"`
	OrganizationsURL  *string `json:"organizations_url,omitempty"`
	ReceivedEventsURL *string `json:"received_events_url,omitempty"`
	ReposURL          *string `json:"repos_url,omitempty"`
	StarredURL        *string `json:"starred_url,omitempty"`
	SubscriptionsURL  *string `json:"subscriptions_url,omitempty"`

	// Permissions identifies the permissions that a user has on a given
	// repository. This is only populated when calling Repositories.ListCollaborators.
	Permissions *map[string]bool `json:"permissions,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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