reposdb

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 10, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthAuditLog

type AuthAuditLog struct {
	ID         int64
	ActorID    pgtype.Int8
	Action     string
	TargetType string
	TargetID   pgtype.Int8
	Meta       []byte
	CreatedAt  pgtype.Timestamptz
}

type AuthThrottle

type AuthThrottle struct {
	ID              int64
	Scope           string
	Identifier      string
	Hits            int32
	WindowStartedAt pgtype.Timestamptz
}

type BranchProtectionRule

type BranchProtectionRule struct {
	ID                             int64
	RepoID                         int64
	Pattern                        string
	PreventForcePush               bool
	PreventDeletion                bool
	RequirePrForPush               bool
	AllowedPusherUserIds           []int64
	RequireSignedCommits           bool
	StatusChecksRequired           []string
	CreatedAt                      pgtype.Timestamptz
	UpdatedAt                      pgtype.Timestamptz
	CreatedByUserID                pgtype.Int8
	RequiredReviewCount            int32
	DismissStaleReviewsOnPush      bool
	RequireCodeOwnerReview         bool
	DismissStaleStatusChecksOnPush bool
}

type CheckConclusion

type CheckConclusion string
const (
	CheckConclusionSuccess        CheckConclusion = "success"
	CheckConclusionFailure        CheckConclusion = "failure"
	CheckConclusionNeutral        CheckConclusion = "neutral"
	CheckConclusionCancelled      CheckConclusion = "cancelled"
	CheckConclusionSkipped        CheckConclusion = "skipped"
	CheckConclusionTimedOut       CheckConclusion = "timed_out"
	CheckConclusionActionRequired CheckConclusion = "action_required"
	CheckConclusionStale          CheckConclusion = "stale"
)

func (*CheckConclusion) Scan

func (e *CheckConclusion) Scan(src interface{}) error

type CheckRun

type CheckRun struct {
	ID          int64
	SuiteID     int64
	RepoID      int64
	HeadSha     string
	Name        string
	Status      CheckStatus
	Conclusion  NullCheckConclusion
	StartedAt   pgtype.Timestamptz
	CompletedAt pgtype.Timestamptz
	DetailsUrl  string
	Output      []byte
	ExternalID  pgtype.Text
	CreatedAt   pgtype.Timestamptz
	UpdatedAt   pgtype.Timestamptz
}

type CheckStatus

type CheckStatus string
const (
	CheckStatusQueued     CheckStatus = "queued"
	CheckStatusInProgress CheckStatus = "in_progress"
	CheckStatusCompleted  CheckStatus = "completed"
	CheckStatusPending    CheckStatus = "pending"
)

func (*CheckStatus) Scan

func (e *CheckStatus) Scan(src interface{}) error

type CheckSuite

type CheckSuite struct {
	ID         int64
	RepoID     int64
	HeadSha    string
	AppSlug    string
	Status     CheckStatus
	Conclusion NullCheckConclusion
	CreatedAt  pgtype.Timestamptz
	UpdatedAt  pgtype.Timestamptz
}

type CodeSearchContent

type CodeSearchContent struct {
	RepoID      int64
	RefName     string
	Path        string
	ContentTsv  interface{}
	ContentTrgm string
}

type CodeSearchPath

type CodeSearchPath struct {
	RepoID  int64
	RefName string
	Path    string
	Tsv     interface{}
}

type CollabRole

type CollabRole string
const (
	CollabRoleRead     CollabRole = "read"
	CollabRoleTriage   CollabRole = "triage"
	CollabRoleWrite    CollabRole = "write"
	CollabRoleMaintain CollabRole = "maintain"
	CollabRoleAdmin    CollabRole = "admin"
)

func (*CollabRole) Scan

func (e *CollabRole) Scan(src interface{}) error

type CreateForkRepoParams

type CreateForkRepoParams struct {
	OwnerUserID   pgtype.Int8
	OwnerOrgID    pgtype.Int8
	Name          string
	Description   string
	Visibility    RepoVisibility
	DefaultBranch string
	ForkOfRepoID  pgtype.Int8
}

type CreateRepoParams

type CreateRepoParams struct {
	OwnerUserID     pgtype.Int8
	OwnerOrgID      pgtype.Int8
	Name            string
	Description     string
	Visibility      RepoVisibility
	DefaultBranch   string
	LicenseKey      pgtype.Text
	PrimaryLanguage pgtype.Text
}

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type DeleteRedirectByUserOwnerOldNameParams

type DeleteRedirectByUserOwnerOldNameParams struct {
	RepoID         int64
	OldOwnerUserID pgtype.Int8
	OldName        string
}

type DomainEvent

type DomainEvent struct {
	ID          int64
	ActorUserID pgtype.Int8
	Kind        string
	RepoID      pgtype.Int8
	SourceKind  string
	SourceID    int64
	Public      bool
	Payload     []byte
	CreatedAt   pgtype.Timestamptz
}

type DomainEventsProcessed

type DomainEventsProcessed struct {
	Consumer    string
	LastEventID int64
	UpdatedAt   pgtype.Timestamptz
}

type EmailVerification

type EmailVerification struct {
	ID          int64
	UserEmailID int64
	TokenHash   []byte
	ExpiresAt   pgtype.Timestamptz
	UsedAt      pgtype.Timestamptz
	CreatedAt   pgtype.Timestamptz
}

type ExistsRepoForOwnerOrgParams

type ExistsRepoForOwnerOrgParams struct {
	OwnerOrgID pgtype.Int8
	Name       string
}

type ExistsRepoForOwnerUserParams

type ExistsRepoForOwnerUserParams struct {
	OwnerUserID pgtype.Int8
	Name        string
}

type GetRepoByOwnerOrgAndNameParams

type GetRepoByOwnerOrgAndNameParams struct {
	OwnerOrgID pgtype.Int8
	Name       string
}

type GetRepoByOwnerUserAndNameParams

type GetRepoByOwnerUserAndNameParams struct {
	OwnerUserID pgtype.Int8
	Name        string
}

type GetRepoOwnerUsernameByIDRow

type GetRepoOwnerUsernameByIDRow struct {
	OwnerUsername string
	RepoName      string
}

type InsertRepoRedirectParams

type InsertRepoRedirectParams struct {
	OldName        string
	RepoID         int64
	OldOwnerUserID pgtype.Int8
	OldOwnerOrgID  pgtype.Int8
}

type InsertRepoTopicParams

type InsertRepoTopicParams struct {
	RepoID int64
	Topic  string
}

type InsertTransferRequestParams

type InsertTransferRequestParams struct {
	RepoID          int64
	FromUserID      int64
	ToPrincipalKind TransferPrincipalKind
	ToPrincipalID   int64
	CreatedBy       int64
	ExpiresAt       pgtype.Timestamptz
}

type Issue

type Issue struct {
	ID                int64
	RepoID            int64
	Number            int64
	Kind              IssueKind
	Title             string
	Body              string
	BodyHtmlCached    pgtype.Text
	MdPipelineVersion int32
	AuthorUserID      pgtype.Int8
	State             IssueState
	StateReason       NullIssueStateReason
	Locked            bool
	LockReason        pgtype.Text
	MilestoneID       pgtype.Int8
	CreatedAt         pgtype.Timestamptz
	UpdatedAt         pgtype.Timestamptz
	EditedAt          pgtype.Timestamptz
	ClosedAt          pgtype.Timestamptz
	ClosedByUserID    pgtype.Int8
}

type IssueAssignee

type IssueAssignee struct {
	IssueID          int64
	UserID           int64
	AssignedAt       pgtype.Timestamptz
	AssignedByUserID pgtype.Int8
}

type IssueComment

type IssueComment struct {
	ID                int64
	IssueID           int64
	AuthorUserID      pgtype.Int8
	Body              string
	BodyHtmlCached    pgtype.Text
	MdPipelineVersion int32
	CreatedAt         pgtype.Timestamptz
	UpdatedAt         pgtype.Timestamptz
	EditedAt          pgtype.Timestamptz
}

type IssueEvent

type IssueEvent struct {
	ID          int64
	IssueID     int64
	ActorUserID pgtype.Int8
	Kind        string
	Meta        []byte
	RefTargetID pgtype.Int8
	CreatedAt   pgtype.Timestamptz
}

type IssueKind

type IssueKind string
const (
	IssueKindIssue IssueKind = "issue"
	IssueKindPr    IssueKind = "pr"
)

func (*IssueKind) Scan

func (e *IssueKind) Scan(src interface{}) error

type IssueLabel

type IssueLabel struct {
	IssueID         int64
	LabelID         int64
	AppliedAt       pgtype.Timestamptz
	AppliedByUserID pgtype.Int8
}

type IssueRefSource

type IssueRefSource string
const (
	IssueRefSourceCommentBody   IssueRefSource = "comment_body"
	IssueRefSourceIssueBody     IssueRefSource = "issue_body"
	IssueRefSourceCommitMessage IssueRefSource = "commit_message"
)

func (*IssueRefSource) Scan

func (e *IssueRefSource) Scan(src interface{}) error

type IssueReference

type IssueReference struct {
	ID             int64
	SourceIssueID  pgtype.Int8
	TargetIssueID  int64
	SourceKind     IssueRefSource
	SourceObjectID pgtype.Int8
	CreatedAt      pgtype.Timestamptz
}

type IssueState

type IssueState string
const (
	IssueStateOpen   IssueState = "open"
	IssueStateClosed IssueState = "closed"
)

func (*IssueState) Scan

func (e *IssueState) Scan(src interface{}) error

type IssueStateReason

type IssueStateReason string
const (
	IssueStateReasonCompleted  IssueStateReason = "completed"
	IssueStateReasonNotPlanned IssueStateReason = "not_planned"
	IssueStateReasonReopened   IssueStateReason = "reopened"
	IssueStateReasonDuplicate  IssueStateReason = "duplicate"
)

func (*IssueStateReason) Scan

func (e *IssueStateReason) Scan(src interface{}) error

type IssuesSearch

type IssuesSearch struct {
	IssueID      int64
	RepoID       int64
	Kind         IssueKind
	State        IssueState
	AuthorUserID pgtype.Int8
	Tsv          interface{}
}

type Job

type Job struct {
	ID          int64
	Kind        string
	Payload     []byte
	RunAt       pgtype.Timestamptz
	Attempts    int32
	MaxAttempts int32
	LastError   pgtype.Text
	LockedBy    pgtype.Text
	LockedAt    pgtype.Timestamptz
	CompletedAt pgtype.Timestamptz
	FailedAt    pgtype.Timestamptz
	CreatedAt   pgtype.Timestamptz
}

type Label

type Label struct {
	ID          int64
	RepoID      int64
	Name        string
	Color       string
	Description string
	CreatedAt   pgtype.Timestamptz
}

type ListAllRepoFullNamesRow

type ListAllRepoFullNamesRow struct {
	ID            int64
	Name          string
	OwnerUsername string
}

type ListForksOfRepoForRepackRow

type ListForksOfRepoForRepackRow struct {
	ID            int64
	Name          string
	OwnerUsername string
}

type ListForksOfRepoParams

type ListForksOfRepoParams struct {
	ForkOfRepoID pgtype.Int8
	Limit        int32
	Offset       int32
}

type ListForksOfRepoRow

type ListForksOfRepoRow struct {
	ID               int64
	Name             string
	Description      string
	Visibility       RepoVisibility
	CreatedAt        pgtype.Timestamptz
	StarCount        int64
	ForkCount        int64
	InitStatus       RepoInitStatus
	OwnerUsername    string
	OwnerDisplayName string
}

type ListReposNeedingReindexRow

type ListReposNeedingReindexRow struct {
	ID               int64
	Name             string
	DefaultBranch    string
	DefaultBranchOid pgtype.Text
}

type ListSoftDeletedReposForOwnerRow

type ListSoftDeletedReposForOwnerRow struct {
	ID          int64
	OwnerUserID pgtype.Int8
	Name        string
	DeletedAt   pgtype.Timestamptz
}

type LookupRedirectByUserOwnerParams

type LookupRedirectByUserOwnerParams struct {
	OldOwnerUserID pgtype.Int8
	OldName        string
}

type Meta

type Meta struct {
	Key       string
	Value     []byte
	UpdatedAt pgtype.Timestamptz
}

type Milestone

type Milestone struct {
	ID          int64
	RepoID      int64
	Title       string
	Description string
	State       MilestoneState
	DueOn       pgtype.Timestamptz
	CreatedAt   pgtype.Timestamptz
	ClosedAt    pgtype.Timestamptz
}

type MilestoneState

type MilestoneState string
const (
	MilestoneStateOpen   MilestoneState = "open"
	MilestoneStateClosed MilestoneState = "closed"
)

func (*MilestoneState) Scan

func (e *MilestoneState) Scan(src interface{}) error

type Notification

type Notification struct {
	ID              int64
	RecipientUserID int64
	Kind            string
	Reason          string
	RepoID          pgtype.Int8
	ThreadKind      NullNotificationThreadKind
	ThreadID        pgtype.Int8
	SourceEventID   pgtype.Int8
	Unread          bool
	LastEventAt     pgtype.Timestamptz
	LastActorUserID pgtype.Int8
	Summary         []byte
	CreatedAt       pgtype.Timestamptz
	UpdatedAt       pgtype.Timestamptz
}

type NotificationEmailLog

type NotificationEmailLog struct {
	ID              int64
	RecipientUserID int64
	NotificationID  pgtype.Int8
	ThreadKind      NullNotificationThreadKind
	ThreadID        pgtype.Int8
	SentAt          pgtype.Timestamptz
	MessageID       pgtype.Text
}

type NotificationThread

type NotificationThread struct {
	RecipientUserID int64
	ThreadKind      NotificationThreadKind
	ThreadID        int64
	Subscribed      bool
	Reason          string
	UpdatedAt       pgtype.Timestamptz
}

type NotificationThreadKind

type NotificationThreadKind string
const (
	NotificationThreadKindIssue NotificationThreadKind = "issue"
	NotificationThreadKindPr    NotificationThreadKind = "pr"
)

func (*NotificationThreadKind) Scan

func (e *NotificationThreadKind) Scan(src interface{}) error

type NullCheckConclusion

type NullCheckConclusion struct {
	CheckConclusion CheckConclusion
	Valid           bool // Valid is true if CheckConclusion is not NULL
}

func (*NullCheckConclusion) Scan

func (ns *NullCheckConclusion) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullCheckConclusion) Value

func (ns NullCheckConclusion) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullCheckStatus

type NullCheckStatus struct {
	CheckStatus CheckStatus
	Valid       bool // Valid is true if CheckStatus is not NULL
}

func (*NullCheckStatus) Scan

func (ns *NullCheckStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullCheckStatus) Value

func (ns NullCheckStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullCollabRole

type NullCollabRole struct {
	CollabRole CollabRole
	Valid      bool // Valid is true if CollabRole is not NULL
}

func (*NullCollabRole) Scan

func (ns *NullCollabRole) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullCollabRole) Value

func (ns NullCollabRole) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullIssueKind

type NullIssueKind struct {
	IssueKind IssueKind
	Valid     bool // Valid is true if IssueKind is not NULL
}

func (*NullIssueKind) Scan

func (ns *NullIssueKind) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullIssueKind) Value

func (ns NullIssueKind) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullIssueRefSource

type NullIssueRefSource struct {
	IssueRefSource IssueRefSource
	Valid          bool // Valid is true if IssueRefSource is not NULL
}

func (*NullIssueRefSource) Scan

func (ns *NullIssueRefSource) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullIssueRefSource) Value

func (ns NullIssueRefSource) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullIssueState

type NullIssueState struct {
	IssueState IssueState
	Valid      bool // Valid is true if IssueState is not NULL
}

func (*NullIssueState) Scan

func (ns *NullIssueState) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullIssueState) Value

func (ns NullIssueState) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullIssueStateReason

type NullIssueStateReason struct {
	IssueStateReason IssueStateReason
	Valid            bool // Valid is true if IssueStateReason is not NULL
}

func (*NullIssueStateReason) Scan

func (ns *NullIssueStateReason) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullIssueStateReason) Value

func (ns NullIssueStateReason) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullMilestoneState

type NullMilestoneState struct {
	MilestoneState MilestoneState
	Valid          bool // Valid is true if MilestoneState is not NULL
}

func (*NullMilestoneState) Scan

func (ns *NullMilestoneState) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullMilestoneState) Value

func (ns NullMilestoneState) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullNotificationThreadKind

type NullNotificationThreadKind struct {
	NotificationThreadKind NotificationThreadKind
	Valid                  bool // Valid is true if NotificationThreadKind is not NULL
}

func (*NullNotificationThreadKind) Scan

func (ns *NullNotificationThreadKind) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullNotificationThreadKind) Value

Value implements the driver Valuer interface.

type NullOrgPlan

type NullOrgPlan struct {
	OrgPlan OrgPlan
	Valid   bool // Valid is true if OrgPlan is not NULL
}

func (*NullOrgPlan) Scan

func (ns *NullOrgPlan) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullOrgPlan) Value

func (ns NullOrgPlan) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullOrgRole

type NullOrgRole struct {
	OrgRole OrgRole
	Valid   bool // Valid is true if OrgRole is not NULL
}

func (*NullOrgRole) Scan

func (ns *NullOrgRole) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullOrgRole) Value

func (ns NullOrgRole) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullPrFileStatus

type NullPrFileStatus struct {
	PrFileStatus PrFileStatus
	Valid        bool // Valid is true if PrFileStatus is not NULL
}

func (*NullPrFileStatus) Scan

func (ns *NullPrFileStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullPrFileStatus) Value

func (ns NullPrFileStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullPrMergeMethod

type NullPrMergeMethod struct {
	PrMergeMethod PrMergeMethod
	Valid         bool // Valid is true if PrMergeMethod is not NULL
}

func (*NullPrMergeMethod) Scan

func (ns *NullPrMergeMethod) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullPrMergeMethod) Value

func (ns NullPrMergeMethod) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullPrMergeableState

type NullPrMergeableState struct {
	PrMergeableState PrMergeableState
	Valid            bool // Valid is true if PrMergeableState is not NULL
}

func (*NullPrMergeableState) Scan

func (ns *NullPrMergeableState) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullPrMergeableState) Value

func (ns NullPrMergeableState) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullPrReviewSide

type NullPrReviewSide struct {
	PrReviewSide PrReviewSide
	Valid        bool // Valid is true if PrReviewSide is not NULL
}

func (*NullPrReviewSide) Scan

func (ns *NullPrReviewSide) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullPrReviewSide) Value

func (ns NullPrReviewSide) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullPrReviewState

type NullPrReviewState struct {
	PrReviewState PrReviewState
	Valid         bool // Valid is true if PrReviewState is not NULL
}

func (*NullPrReviewState) Scan

func (ns *NullPrReviewState) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullPrReviewState) Value

func (ns NullPrReviewState) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullPrincipalKind

type NullPrincipalKind struct {
	PrincipalKind PrincipalKind
	Valid         bool // Valid is true if PrincipalKind is not NULL
}

func (*NullPrincipalKind) Scan

func (ns *NullPrincipalKind) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullPrincipalKind) Value

func (ns NullPrincipalKind) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullRepoInitStatus

type NullRepoInitStatus struct {
	RepoInitStatus RepoInitStatus
	Valid          bool // Valid is true if RepoInitStatus is not NULL
}

func (*NullRepoInitStatus) Scan

func (ns *NullRepoInitStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullRepoInitStatus) Value

func (ns NullRepoInitStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullRepoVisibility

type NullRepoVisibility struct {
	RepoVisibility RepoVisibility
	Valid          bool // Valid is true if RepoVisibility is not NULL
}

func (*NullRepoVisibility) Scan

func (ns *NullRepoVisibility) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullRepoVisibility) Value

func (ns NullRepoVisibility) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullTeamPrivacy

type NullTeamPrivacy struct {
	TeamPrivacy TeamPrivacy
	Valid       bool // Valid is true if TeamPrivacy is not NULL
}

func (*NullTeamPrivacy) Scan

func (ns *NullTeamPrivacy) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTeamPrivacy) Value

func (ns NullTeamPrivacy) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullTeamRepoRole

type NullTeamRepoRole struct {
	TeamRepoRole TeamRepoRole
	Valid        bool // Valid is true if TeamRepoRole is not NULL
}

func (*NullTeamRepoRole) Scan

func (ns *NullTeamRepoRole) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTeamRepoRole) Value

func (ns NullTeamRepoRole) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullTeamRole

type NullTeamRole struct {
	TeamRole TeamRole
	Valid    bool // Valid is true if TeamRole is not NULL
}

func (*NullTeamRole) Scan

func (ns *NullTeamRole) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTeamRole) Value

func (ns NullTeamRole) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullTransactionalEmailStatus

type NullTransactionalEmailStatus struct {
	TransactionalEmailStatus TransactionalEmailStatus
	Valid                    bool // Valid is true if TransactionalEmailStatus is not NULL
}

func (*NullTransactionalEmailStatus) Scan

func (ns *NullTransactionalEmailStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTransactionalEmailStatus) Value

Value implements the driver Valuer interface.

type NullTransferPrincipalKind

type NullTransferPrincipalKind struct {
	TransferPrincipalKind TransferPrincipalKind
	Valid                 bool // Valid is true if TransferPrincipalKind is not NULL
}

func (*NullTransferPrincipalKind) Scan

func (ns *NullTransferPrincipalKind) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTransferPrincipalKind) Value

Value implements the driver Valuer interface.

type NullTransferStatus

type NullTransferStatus struct {
	TransferStatus TransferStatus
	Valid          bool // Valid is true if TransferStatus is not NULL
}

func (*NullTransferStatus) Scan

func (ns *NullTransferStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTransferStatus) Value

func (ns NullTransferStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullWatchLevel

type NullWatchLevel struct {
	WatchLevel WatchLevel
	Valid      bool // Valid is true if WatchLevel is not NULL
}

func (*NullWatchLevel) Scan

func (ns *NullWatchLevel) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullWatchLevel) Value

func (ns NullWatchLevel) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullWebhookContentType

type NullWebhookContentType struct {
	WebhookContentType WebhookContentType
	Valid              bool // Valid is true if WebhookContentType is not NULL
}

func (*NullWebhookContentType) Scan

func (ns *NullWebhookContentType) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullWebhookContentType) Value

func (ns NullWebhookContentType) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type NullWebhookDeliveryStatus

type NullWebhookDeliveryStatus struct {
	WebhookDeliveryStatus WebhookDeliveryStatus
	Valid                 bool // Valid is true if WebhookDeliveryStatus is not NULL
}

func (*NullWebhookDeliveryStatus) Scan

func (ns *NullWebhookDeliveryStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullWebhookDeliveryStatus) Value

Value implements the driver Valuer interface.

type NullWebhookOwnerKind

type NullWebhookOwnerKind struct {
	WebhookOwnerKind WebhookOwnerKind
	Valid            bool // Valid is true if WebhookOwnerKind is not NULL
}

func (*NullWebhookOwnerKind) Scan

func (ns *NullWebhookOwnerKind) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullWebhookOwnerKind) Value

func (ns NullWebhookOwnerKind) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Org

type Org struct {
	ID                    int64
	Slug                  string
	DisplayName           string
	Description           string
	AvatarObjectKey       pgtype.Text
	Location              string
	Website               string
	BillingEmail          string
	Plan                  OrgPlan
	AllowMemberRepoCreate bool
	CreatedByUserID       pgtype.Int8
	SuspendedAt           pgtype.Timestamptz
	SuspendedReason       pgtype.Text
	DeletedAt             pgtype.Timestamptz
	CreatedAt             pgtype.Timestamptz
	UpdatedAt             pgtype.Timestamptz
}

type OrgInvitation

type OrgInvitation struct {
	ID              int64
	OrgID           int64
	InvitedByUserID pgtype.Int8
	TargetUserID    pgtype.Int8
	TargetEmail     pgtype.Text
	Role            OrgRole
	TokenHash       []byte
	ExpiresAt       pgtype.Timestamptz
	AcceptedAt      pgtype.Timestamptz
	DeclinedAt      pgtype.Timestamptz
	CanceledAt      pgtype.Timestamptz
	CreatedAt       pgtype.Timestamptz
}

type OrgMember

type OrgMember struct {
	OrgID           int64
	UserID          int64
	Role            OrgRole
	InvitedByUserID pgtype.Int8
	JoinedAt        pgtype.Timestamptz
}

type OrgPlan

type OrgPlan string
const (
	OrgPlanFree       OrgPlan = "free"
	OrgPlanTeam       OrgPlan = "team"
	OrgPlanEnterprise OrgPlan = "enterprise"
)

func (*OrgPlan) Scan

func (e *OrgPlan) Scan(src interface{}) error

type OrgRole

type OrgRole string
const (
	OrgRoleOwner  OrgRole = "owner"
	OrgRoleMember OrgRole = "member"
)

func (*OrgRole) Scan

func (e *OrgRole) Scan(src interface{}) error

type PasswordReset

type PasswordReset struct {
	ID        int64
	UserID    int64
	TokenHash []byte
	ExpiresAt pgtype.Timestamptz
	UsedAt    pgtype.Timestamptz
	CreatedAt pgtype.Timestamptz
}

type PrFileStatus

type PrFileStatus string
const (
	PrFileStatusAdded    PrFileStatus = "added"
	PrFileStatusModified PrFileStatus = "modified"
	PrFileStatusDeleted  PrFileStatus = "deleted"
	PrFileStatusRenamed  PrFileStatus = "renamed"
	PrFileStatusCopied   PrFileStatus = "copied"
)

func (*PrFileStatus) Scan

func (e *PrFileStatus) Scan(src interface{}) error

type PrMergeMethod

type PrMergeMethod string
const (
	PrMergeMethodMerge  PrMergeMethod = "merge"
	PrMergeMethodSquash PrMergeMethod = "squash"
	PrMergeMethodRebase PrMergeMethod = "rebase"
)

func (*PrMergeMethod) Scan

func (e *PrMergeMethod) Scan(src interface{}) error

type PrMergeableState

type PrMergeableState string
const (
	PrMergeableStateUnknown PrMergeableState = "unknown"
	PrMergeableStateClean   PrMergeableState = "clean"
	PrMergeableStateDirty   PrMergeableState = "dirty"
	PrMergeableStateBlocked PrMergeableState = "blocked"
	PrMergeableStateBehind  PrMergeableState = "behind"
)

func (*PrMergeableState) Scan

func (e *PrMergeableState) Scan(src interface{}) error

type PrReview

type PrReview struct {
	ID                int64
	PrIssueID         int64
	AuthorUserID      pgtype.Int8
	State             PrReviewState
	Body              string
	BodyHtmlCached    pgtype.Text
	SubmittedAt       pgtype.Timestamptz
	DismissedAt       pgtype.Timestamptz
	DismissedByUserID pgtype.Int8
	DismissalReason   string
}

type PrReviewComment

type PrReviewComment struct {
	ID                int64
	PrIssueID         int64
	ReviewID          pgtype.Int8
	AuthorUserID      pgtype.Int8
	FilePath          string
	Side              PrReviewSide
	OriginalCommitSha string
	OriginalLine      int32
	OriginalPosition  int32
	CurrentPosition   pgtype.Int4
	Body              string
	BodyHtmlCached    pgtype.Text
	InReplyToID       pgtype.Int8
	Pending           bool
	ResolvedAt        pgtype.Timestamptz
	ResolvedByUserID  pgtype.Int8
	CreatedAt         pgtype.Timestamptz
	UpdatedAt         pgtype.Timestamptz
	EditedAt          pgtype.Timestamptz
}

type PrReviewRequest

type PrReviewRequest struct {
	ID                  int64
	PrIssueID           int64
	RequestedUserID     pgtype.Int8
	RequestedTeamID     pgtype.Int8
	RequestedByUserID   pgtype.Int8
	RequestedAt         pgtype.Timestamptz
	DismissedAt         pgtype.Timestamptz
	SatisfiedByReviewID pgtype.Int8
}

type PrReviewSide

type PrReviewSide string
const (
	PrReviewSideLeft  PrReviewSide = "left"
	PrReviewSideRight PrReviewSide = "right"
)

func (*PrReviewSide) Scan

func (e *PrReviewSide) Scan(src interface{}) error

type PrReviewState

type PrReviewState string
const (
	PrReviewStateComment        PrReviewState = "comment"
	PrReviewStateApprove        PrReviewState = "approve"
	PrReviewStateRequestChanges PrReviewState = "request_changes"
)

func (*PrReviewState) Scan

func (e *PrReviewState) Scan(src interface{}) error

type Principal

type Principal struct {
	Slug string
	Kind PrincipalKind
	ID   int64
}

type PrincipalKind

type PrincipalKind string
const (
	PrincipalKindUser PrincipalKind = "user"
	PrincipalKindOrg  PrincipalKind = "org"
)

func (*PrincipalKind) Scan

func (e *PrincipalKind) Scan(src interface{}) error

type PullRequest

type PullRequest struct {
	IssueID            int64
	BaseRef            string
	HeadRef            string
	HeadRepoID         int64
	BaseOid            string
	HeadOid            string
	Draft              bool
	Mergeable          pgtype.Bool
	MergeableState     PrMergeableState
	MergeCommitSha     pgtype.Text
	MergedAt           pgtype.Timestamptz
	MergedByUserID     pgtype.Int8
	MergeMethod        NullPrMergeMethod
	BaseOidAtMerge     pgtype.Text
	HeadOidAtMerge     pgtype.Text
	LastSynchronizedAt pgtype.Timestamptz
}

type PullRequestCommit

type PullRequestCommit struct {
	PrID           int64
	Sha            string
	Position       int32
	AuthorName     string
	AuthorEmail    string
	CommitterName  string
	CommitterEmail string
	Subject        string
	Body           string
	AuthoredAt     pgtype.Timestamptz
	CommittedAt    pgtype.Timestamptz
}

type PullRequestFile

type PullRequestFile struct {
	PrID      int64
	Path      string
	Status    PrFileStatus
	OldPath   pgtype.Text
	Additions int32
	Deletions int32
	Changes   int32
}

type PushEvent

type PushEvent struct {
	ID           int64
	RepoID       int64
	PusherUserID pgtype.Int8
	BeforeSha    string
	AfterSha     string
	Ref          string
	Protocol     string
	RequestID    string
	ProcessedAt  pgtype.Timestamptz
	CreatedAt    pgtype.Timestamptz
}

type Querier

type Querier interface {
	AcceptTransferRequest(ctx context.Context, db DBTX, id int64) error
	ArchiveRepo(ctx context.Context, db DBTX, id int64) error
	CancelTransferRequest(ctx context.Context, db DBTX, id int64) error
	CountForksOfRepo(ctx context.Context, db DBTX, forkOfRepoID pgtype.Int8) (int64, error)
	// ─── rename rate limit support ─────────────────────────────────────────
	// Used to enforce the 5-per-30-days rename rate limit. The redirect
	// row is the audit trail for renames; counting them per repo gives a
	// reliable cap.
	CountRecentRedirectsForRepo(ctx context.Context, db DBTX, repoID int64) (int32, error)
	CountReposForOwnerUser(ctx context.Context, db DBTX, ownerUserID pgtype.Int8) (int64, error)
	// ─── S27 forks ─────────────────────────────────────────────────────
	// Insert a fork shell. Distinct from CreateRepo because forks set
	// `fork_of_repo_id` (which fires the fork_count trigger) and start
	// at init_status='init_pending' so the worker job can flip them to
	// 'initialized' once `git clone --bare --shared` finishes.
	CreateForkRepo(ctx context.Context, db DBTX, arg CreateForkRepoParams) (Repo, error)
	// SPDX-License-Identifier: AGPL-3.0-or-later
	CreateRepo(ctx context.Context, db DBTX, arg CreateRepoParams) (Repo, error)
	DeclineTransferRequest(ctx context.Context, db DBTX, id int64) error
	DeleteBranchProtectionRule(ctx context.Context, db DBTX, id int64) error
	// Used by the rename compensator: drop a single redirect row when
	// the rename has to be rolled back due to a filesystem failure. We
	// avoided raw SQL here at the audit's request (S00-S25, M).
	DeleteRedirectByUserOwnerOldName(ctx context.Context, db DBTX, arg DeleteRedirectByUserOwnerOldNameParams) error
	// Used by hard-delete: drop the redirect rows pointing at this repo
	// (they would dangle once the repos row is gone; the FK ON DELETE
	// CASCADE would handle it, but explicit is auditable).
	DeleteRedirectsForRepo(ctx context.Context, db DBTX, repoID int64) error
	ExistsRepoForOwnerOrg(ctx context.Context, db DBTX, arg ExistsRepoForOwnerOrgParams) (bool, error)
	ExistsRepoForOwnerUser(ctx context.Context, db DBTX, arg ExistsRepoForOwnerUserParams) (bool, error)
	// Called by the periodic worker (transfers:expire) — flips pending
	// offers past their expires_at to the expired terminal state.
	ExpirePendingTransfers(ctx context.Context, db DBTX) (int64, error)
	GetBranchProtectionRule(ctx context.Context, db DBTX, id int64) (BranchProtectionRule, error)
	GetRepoByID(ctx context.Context, db DBTX, id int64) (Repo, error)
	// S30: org-owner mirror of GetRepoByOwnerUserAndName. The (owner_org_id,
	// name) partial unique index from 0017 backs this lookup with the same
	// O(1) cost the user-side path enjoys.
	GetRepoByOwnerOrgAndName(ctx context.Context, db DBTX, arg GetRepoByOwnerOrgAndNameParams) (Repo, error)
	GetRepoByOwnerUserAndName(ctx context.Context, db DBTX, arg GetRepoByOwnerUserAndNameParams) (Repo, error)
	// Returns the owner_username for a repo. Used by size-recalc and other
	// jobs that need to derive the bare-repo on-disk path without round-
	// tripping through the full user row.
	GetRepoOwnerUsernameByID(ctx context.Context, db DBTX, id int64) (GetRepoOwnerUsernameByIDRow, error)
	GetTransferRequest(ctx context.Context, db DBTX, id int64) (RepoTransferRequest, error)
	HardDeleteRepo(ctx context.Context, db DBTX, id int64) error
	// ─── redirects ─────────────────────────────────────────────────────────
	// Both old-owner FKs are nullable; pass exactly one. The CHECK
	// constraint on the table enforces the xor shape.
	InsertRepoRedirect(ctx context.Context, db DBTX, arg InsertRepoRedirectParams) error
	InsertRepoTopic(ctx context.Context, db DBTX, arg InsertRepoTopicParams) error
	// ─── transfer requests ─────────────────────────────────────────────────
	InsertTransferRequest(ctx context.Context, db DBTX, arg InsertTransferRequestParams) (RepoTransferRequest, error)
	// Used by `shithubd hooks reinstall --all` to enumerate every active
	// bare repo on disk and re-link its hooks.
	ListAllRepoFullNames(ctx context.Context, db DBTX) ([]ListAllRepoFullNamesRow, error)
	// SPDX-License-Identifier: AGPL-3.0-or-later
	ListBranchProtectionRules(ctx context.Context, db DBTX, repoID int64) ([]BranchProtectionRule, error)
	// Forks of a given source repo, paginated, recency-sorted. Joined
	// with users for the owner display name. Excludes soft-deleted.
	ListForksOfRepo(ctx context.Context, db DBTX, arg ListForksOfRepoParams) ([]ListForksOfRepoRow, error)
	// Used by S16's hard-delete cascade (S27 amendment): before deleting
	// a source repo, every fork must `git repack -a -d --no-shared` so
	// it has its own copy of the objects. Returns just enough to locate
	// the bare repo on disk.
	ListForksOfRepoForRepack(ctx context.Context, db DBTX, forkOfRepoID pgtype.Int8) ([]ListForksOfRepoForRepackRow, error)
	// Inbox view: pending offers a user can act on.
	ListPendingTransfersForUser(ctx context.Context, db DBTX, toPrincipalID int64) ([]RepoTransferRequest, error)
	// ─── soft-delete sweep query ───────────────────────────────────────────
	// The repo:hard_delete enqueuer queries this to find rows ready for
	// destruction. The 7-day grace is hard-coded here; if we add a config
	// knob later, change this to a parameter.
	ListRepoIDsPastSoftDeleteGrace(ctx context.Context, db DBTX) ([]int64, error)
	// ─── repo_topics (S32) ─────────────────────────────────────────────
	ListRepoTopics(ctx context.Context, db DBTX, repoID int64) ([]string, error)
	ListReposForOwnerOrg(ctx context.Context, db DBTX, ownerOrgID pgtype.Int8) ([]Repo, error)
	ListReposForOwnerUser(ctx context.Context, db DBTX, ownerUserID pgtype.Int8) ([]Repo, error)
	// S28 code-search reconciler: returns repos whose default_branch_oid
	// has advanced past last_indexed_oid (or last_indexed_oid is NULL
	// and a default exists). Limited so a single tick of the cron
	// doesn't try to re-index the whole world.
	ListReposNeedingReindex(ctx context.Context, db DBTX, limit int32) ([]ListReposNeedingReindexRow, error)
	// /settings/repositories/restore page lists these.
	ListSoftDeletedReposForOwner(ctx context.Context, db DBTX, ownerUserID pgtype.Int8) ([]ListSoftDeletedReposForOwnerRow, error)
	// Sender / repo-settings view.
	ListTransfersForRepo(ctx context.Context, db DBTX, repoID int64) ([]RepoTransferRequest, error)
	// Returns the current repo_id when (old_owner_user_id, old_name) hits
	// a redirect row.
	LookupRedirectByUserOwner(ctx context.Context, db DBTX, arg LookupRedirectByUserOwnerParams) (int64, error)
	// ─── fork-anchor cleanup on hard delete ────────────────────────────────
	// Children pointing at this repo lose their fork-of pointer. Mirrors
	// GitHub's behavior when an upstream is deleted.
	OrphanForksOf(ctx context.Context, db DBTX, forkOfRepoID pgtype.Int8) (int64, error)
	// SPDX-License-Identifier: AGPL-3.0-or-later
	//
	// S16 lifecycle queries. Kept in a separate file from repos.sql so the
	// mainline CRUD stays easy to read.
	// ─── repo mutations ────────────────────────────────────────────────────
	// Same-owner rename. The handler validates the new name shape and the
	// redirect row is INSERTed in the same tx.
	RenameRepo(ctx context.Context, db DBTX, arg RenameRepoParams) error
	// Atomic full-replace: callers compose the new topic set in Go,
	// then replace the existing rows in one tx (DELETE + INSERT). The
	// caller's tx wraps both calls for atomicity.
	ReplaceRepoTopics(ctx context.Context, db DBTX, repoID int64) error
	RestoreRepo(ctx context.Context, db DBTX, id int64) error
	// S28 code-search: the worker writes the OID it finished indexing
	// so the reconciler can detect drift (default_branch_oid moved but
	// last_indexed_oid lagged).
	SetLastIndexedOID(ctx context.Context, db DBTX, arg SetLastIndexedOIDParams) error
	// Promotes a fork from init_pending to initialized (or init_failed).
	// The DB row is created up-front so the URL resolves immediately and
	// the user sees a "preparing your fork" placeholder while the worker
	// runs `git clone --bare --shared`.
	SetRepoInitStatus(ctx context.Context, db DBTX, arg SetRepoInitStatusParams) error
	SetRepoVisibility(ctx context.Context, db DBTX, arg SetRepoVisibilityParams) error
	SoftDeleteRepo(ctx context.Context, db DBTX, id int64) error
	// Distinct name from S11's SoftDeleteRepo so future code that wants to
	// preserve the lifecycle audit-emission shape can find this one.
	SoftDeleteRepoLifecycle(ctx context.Context, db DBTX, id int64) error
	// Sets owner_user_id (or owner_org_id post-S31) on accept. The xor
	// check on the table enforces the shape. Also clears the other side
	// so a user→org transfer flips both columns atomically.
	TransferRepoOwner(ctx context.Context, db DBTX, arg TransferRepoOwnerParams) error
	UnarchiveRepo(ctx context.Context, db DBTX, id int64) error
	// S24 surface for the required-status-check knobs. Branch-protection
	// edit handler calls this alongside UpdateBranchProtectionRule.
	UpdateBranchProtectionCheckSettings(ctx context.Context, db DBTX, arg UpdateBranchProtectionCheckSettingsParams) error
	// S23 surface for the review-related knobs. Branch-protection edit
	// handler calls this alongside UpdateBranchProtectionRule.
	UpdateBranchProtectionReviewSettings(ctx context.Context, db DBTX, arg UpdateBranchProtectionReviewSettingsParams) error
	UpdateBranchProtectionRule(ctx context.Context, db DBTX, arg UpdateBranchProtectionRuleParams) error
	// Used by the default-branch settings handler. The on-disk HEAD update
	// is a separate step done via `git symbolic-ref` from the orchestrator.
	UpdateRepoDefaultBranch(ctx context.Context, db DBTX, arg UpdateRepoDefaultBranchParams) error
	// Set when push:process detects a commit on the repo's default branch.
	// Pass NULL to clear (e.g. when the branch is force-deleted in a future
	// sprint). The repo home view reads this to decide between empty and
	// populated layouts.
	UpdateRepoDefaultBranchOID(ctx context.Context, db DBTX, arg UpdateRepoDefaultBranchOIDParams) error
	UpdateRepoDiskUsed(ctx context.Context, db DBTX, arg UpdateRepoDiskUsedParams) error
	// S32: General-tab settings persist via this single query so each
	// form post is one round-trip. The merge-method toggles are kept
	// separate from the repo create flow because they're admin-only.
	UpdateRepoGeneralSettings(ctx context.Context, db DBTX, arg UpdateRepoGeneralSettingsParams) error
	UpdateRepoMergeSettings(ctx context.Context, db DBTX, arg UpdateRepoMergeSettingsParams) error
	UpsertBranchProtectionRule(ctx context.Context, db DBTX, arg UpsertBranchProtectionRuleParams) (int64, error)
}

type Queries

type Queries struct {
}

func New

func New() *Queries

func (*Queries) AcceptTransferRequest

func (q *Queries) AcceptTransferRequest(ctx context.Context, db DBTX, id int64) error

func (*Queries) ArchiveRepo

func (q *Queries) ArchiveRepo(ctx context.Context, db DBTX, id int64) error

func (*Queries) CancelTransferRequest

func (q *Queries) CancelTransferRequest(ctx context.Context, db DBTX, id int64) error

func (*Queries) CountForksOfRepo

func (q *Queries) CountForksOfRepo(ctx context.Context, db DBTX, forkOfRepoID pgtype.Int8) (int64, error)

func (*Queries) CountRecentRedirectsForRepo

func (q *Queries) CountRecentRedirectsForRepo(ctx context.Context, db DBTX, repoID int64) (int32, error)

─── rename rate limit support ───────────────────────────────────────── Used to enforce the 5-per-30-days rename rate limit. The redirect row is the audit trail for renames; counting them per repo gives a reliable cap.

func (*Queries) CountReposForOwnerUser

func (q *Queries) CountReposForOwnerUser(ctx context.Context, db DBTX, ownerUserID pgtype.Int8) (int64, error)

func (*Queries) CreateForkRepo

func (q *Queries) CreateForkRepo(ctx context.Context, db DBTX, arg CreateForkRepoParams) (Repo, error)

─── S27 forks ───────────────────────────────────────────────────── Insert a fork shell. Distinct from CreateRepo because forks set `fork_of_repo_id` (which fires the fork_count trigger) and start at init_status='init_pending' so the worker job can flip them to 'initialized' once `git clone --bare --shared` finishes.

func (*Queries) CreateRepo

func (q *Queries) CreateRepo(ctx context.Context, db DBTX, arg CreateRepoParams) (Repo, error)

SPDX-License-Identifier: AGPL-3.0-or-later

func (*Queries) DeclineTransferRequest

func (q *Queries) DeclineTransferRequest(ctx context.Context, db DBTX, id int64) error

func (*Queries) DeleteBranchProtectionRule

func (q *Queries) DeleteBranchProtectionRule(ctx context.Context, db DBTX, id int64) error

func (*Queries) DeleteRedirectByUserOwnerOldName

func (q *Queries) DeleteRedirectByUserOwnerOldName(ctx context.Context, db DBTX, arg DeleteRedirectByUserOwnerOldNameParams) error

Used by the rename compensator: drop a single redirect row when the rename has to be rolled back due to a filesystem failure. We avoided raw SQL here at the audit's request (S00-S25, M).

func (*Queries) DeleteRedirectsForRepo

func (q *Queries) DeleteRedirectsForRepo(ctx context.Context, db DBTX, repoID int64) error

Used by hard-delete: drop the redirect rows pointing at this repo (they would dangle once the repos row is gone; the FK ON DELETE CASCADE would handle it, but explicit is auditable).

func (*Queries) ExistsRepoForOwnerOrg

func (q *Queries) ExistsRepoForOwnerOrg(ctx context.Context, db DBTX, arg ExistsRepoForOwnerOrgParams) (bool, error)

func (*Queries) ExistsRepoForOwnerUser

func (q *Queries) ExistsRepoForOwnerUser(ctx context.Context, db DBTX, arg ExistsRepoForOwnerUserParams) (bool, error)

func (*Queries) ExpirePendingTransfers

func (q *Queries) ExpirePendingTransfers(ctx context.Context, db DBTX) (int64, error)

Called by the periodic worker (transfers:expire) — flips pending offers past their expires_at to the expired terminal state.

func (*Queries) GetBranchProtectionRule

func (q *Queries) GetBranchProtectionRule(ctx context.Context, db DBTX, id int64) (BranchProtectionRule, error)

func (*Queries) GetRepoByID

func (q *Queries) GetRepoByID(ctx context.Context, db DBTX, id int64) (Repo, error)

func (*Queries) GetRepoByOwnerOrgAndName

func (q *Queries) GetRepoByOwnerOrgAndName(ctx context.Context, db DBTX, arg GetRepoByOwnerOrgAndNameParams) (Repo, error)

S30: org-owner mirror of GetRepoByOwnerUserAndName. The (owner_org_id, name) partial unique index from 0017 backs this lookup with the same O(1) cost the user-side path enjoys.

func (*Queries) GetRepoByOwnerUserAndName

func (q *Queries) GetRepoByOwnerUserAndName(ctx context.Context, db DBTX, arg GetRepoByOwnerUserAndNameParams) (Repo, error)

func (*Queries) GetRepoOwnerUsernameByID

func (q *Queries) GetRepoOwnerUsernameByID(ctx context.Context, db DBTX, id int64) (GetRepoOwnerUsernameByIDRow, error)

Returns the owner_username for a repo. Used by size-recalc and other jobs that need to derive the bare-repo on-disk path without round- tripping through the full user row.

func (*Queries) GetTransferRequest

func (q *Queries) GetTransferRequest(ctx context.Context, db DBTX, id int64) (RepoTransferRequest, error)

func (*Queries) HardDeleteRepo

func (q *Queries) HardDeleteRepo(ctx context.Context, db DBTX, id int64) error

func (*Queries) InsertRepoRedirect

func (q *Queries) InsertRepoRedirect(ctx context.Context, db DBTX, arg InsertRepoRedirectParams) error

─── redirects ───────────────────────────────────────────────────────── Both old-owner FKs are nullable; pass exactly one. The CHECK constraint on the table enforces the xor shape.

func (*Queries) InsertRepoTopic

func (q *Queries) InsertRepoTopic(ctx context.Context, db DBTX, arg InsertRepoTopicParams) error

func (*Queries) InsertTransferRequest

func (q *Queries) InsertTransferRequest(ctx context.Context, db DBTX, arg InsertTransferRequestParams) (RepoTransferRequest, error)

─── transfer requests ─────────────────────────────────────────────────

func (*Queries) ListAllRepoFullNames

func (q *Queries) ListAllRepoFullNames(ctx context.Context, db DBTX) ([]ListAllRepoFullNamesRow, error)

Used by `shithubd hooks reinstall --all` to enumerate every active bare repo on disk and re-link its hooks.

func (*Queries) ListBranchProtectionRules

func (q *Queries) ListBranchProtectionRules(ctx context.Context, db DBTX, repoID int64) ([]BranchProtectionRule, error)

SPDX-License-Identifier: AGPL-3.0-or-later

func (*Queries) ListForksOfRepo

func (q *Queries) ListForksOfRepo(ctx context.Context, db DBTX, arg ListForksOfRepoParams) ([]ListForksOfRepoRow, error)

Forks of a given source repo, paginated, recency-sorted. Joined with users for the owner display name. Excludes soft-deleted.

func (*Queries) ListForksOfRepoForRepack

func (q *Queries) ListForksOfRepoForRepack(ctx context.Context, db DBTX, forkOfRepoID pgtype.Int8) ([]ListForksOfRepoForRepackRow, error)

Used by S16's hard-delete cascade (S27 amendment): before deleting a source repo, every fork must `git repack -a -d --no-shared` so it has its own copy of the objects. Returns just enough to locate the bare repo on disk.

func (*Queries) ListPendingTransfersForUser

func (q *Queries) ListPendingTransfersForUser(ctx context.Context, db DBTX, toPrincipalID int64) ([]RepoTransferRequest, error)

Inbox view: pending offers a user can act on.

func (*Queries) ListRepoIDsPastSoftDeleteGrace

func (q *Queries) ListRepoIDsPastSoftDeleteGrace(ctx context.Context, db DBTX) ([]int64, error)

─── soft-delete sweep query ─────────────────────────────────────────── The repo:hard_delete enqueuer queries this to find rows ready for destruction. The 7-day grace is hard-coded here; if we add a config knob later, change this to a parameter.

func (*Queries) ListRepoTopics

func (q *Queries) ListRepoTopics(ctx context.Context, db DBTX, repoID int64) ([]string, error)

─── repo_topics (S32) ─────────────────────────────────────────────

func (*Queries) ListReposForOwnerOrg

func (q *Queries) ListReposForOwnerOrg(ctx context.Context, db DBTX, ownerOrgID pgtype.Int8) ([]Repo, error)

func (*Queries) ListReposForOwnerUser

func (q *Queries) ListReposForOwnerUser(ctx context.Context, db DBTX, ownerUserID pgtype.Int8) ([]Repo, error)

func (*Queries) ListReposNeedingReindex

func (q *Queries) ListReposNeedingReindex(ctx context.Context, db DBTX, limit int32) ([]ListReposNeedingReindexRow, error)

S28 code-search reconciler: returns repos whose default_branch_oid has advanced past last_indexed_oid (or last_indexed_oid is NULL and a default exists). Limited so a single tick of the cron doesn't try to re-index the whole world.

func (*Queries) ListSoftDeletedReposForOwner

func (q *Queries) ListSoftDeletedReposForOwner(ctx context.Context, db DBTX, ownerUserID pgtype.Int8) ([]ListSoftDeletedReposForOwnerRow, error)

/settings/repositories/restore page lists these.

func (*Queries) ListTransfersForRepo

func (q *Queries) ListTransfersForRepo(ctx context.Context, db DBTX, repoID int64) ([]RepoTransferRequest, error)

Sender / repo-settings view.

func (*Queries) LookupRedirectByUserOwner

func (q *Queries) LookupRedirectByUserOwner(ctx context.Context, db DBTX, arg LookupRedirectByUserOwnerParams) (int64, error)

Returns the current repo_id when (old_owner_user_id, old_name) hits a redirect row.

func (*Queries) OrphanForksOf

func (q *Queries) OrphanForksOf(ctx context.Context, db DBTX, forkOfRepoID pgtype.Int8) (int64, error)

─── fork-anchor cleanup on hard delete ──────────────────────────────── Children pointing at this repo lose their fork-of pointer. Mirrors GitHub's behavior when an upstream is deleted.

func (*Queries) RenameRepo

func (q *Queries) RenameRepo(ctx context.Context, db DBTX, arg RenameRepoParams) error

SPDX-License-Identifier: AGPL-3.0-or-later

S16 lifecycle queries. Kept in a separate file from repos.sql so the mainline CRUD stays easy to read. ─── repo mutations ──────────────────────────────────────────────────── Same-owner rename. The handler validates the new name shape and the redirect row is INSERTed in the same tx.

func (*Queries) ReplaceRepoTopics

func (q *Queries) ReplaceRepoTopics(ctx context.Context, db DBTX, repoID int64) error

Atomic full-replace: callers compose the new topic set in Go, then replace the existing rows in one tx (DELETE + INSERT). The caller's tx wraps both calls for atomicity.

func (*Queries) RestoreRepo

func (q *Queries) RestoreRepo(ctx context.Context, db DBTX, id int64) error

func (*Queries) SetLastIndexedOID

func (q *Queries) SetLastIndexedOID(ctx context.Context, db DBTX, arg SetLastIndexedOIDParams) error

S28 code-search: the worker writes the OID it finished indexing so the reconciler can detect drift (default_branch_oid moved but last_indexed_oid lagged).

func (*Queries) SetRepoInitStatus

func (q *Queries) SetRepoInitStatus(ctx context.Context, db DBTX, arg SetRepoInitStatusParams) error

Promotes a fork from init_pending to initialized (or init_failed). The DB row is created up-front so the URL resolves immediately and the user sees a "preparing your fork" placeholder while the worker runs `git clone --bare --shared`.

func (*Queries) SetRepoVisibility

func (q *Queries) SetRepoVisibility(ctx context.Context, db DBTX, arg SetRepoVisibilityParams) error

func (*Queries) SoftDeleteRepo

func (q *Queries) SoftDeleteRepo(ctx context.Context, db DBTX, id int64) error

func (*Queries) SoftDeleteRepoLifecycle

func (q *Queries) SoftDeleteRepoLifecycle(ctx context.Context, db DBTX, id int64) error

Distinct name from S11's SoftDeleteRepo so future code that wants to preserve the lifecycle audit-emission shape can find this one.

func (*Queries) TransferRepoOwner

func (q *Queries) TransferRepoOwner(ctx context.Context, db DBTX, arg TransferRepoOwnerParams) error

Sets owner_user_id (or owner_org_id post-S31) on accept. The xor check on the table enforces the shape. Also clears the other side so a user→org transfer flips both columns atomically.

func (*Queries) UnarchiveRepo

func (q *Queries) UnarchiveRepo(ctx context.Context, db DBTX, id int64) error

func (*Queries) UpdateBranchProtectionCheckSettings

func (q *Queries) UpdateBranchProtectionCheckSettings(ctx context.Context, db DBTX, arg UpdateBranchProtectionCheckSettingsParams) error

S24 surface for the required-status-check knobs. Branch-protection edit handler calls this alongside UpdateBranchProtectionRule.

func (*Queries) UpdateBranchProtectionReviewSettings

func (q *Queries) UpdateBranchProtectionReviewSettings(ctx context.Context, db DBTX, arg UpdateBranchProtectionReviewSettingsParams) error

S23 surface for the review-related knobs. Branch-protection edit handler calls this alongside UpdateBranchProtectionRule.

func (*Queries) UpdateBranchProtectionRule

func (q *Queries) UpdateBranchProtectionRule(ctx context.Context, db DBTX, arg UpdateBranchProtectionRuleParams) error

func (*Queries) UpdateRepoDefaultBranch

func (q *Queries) UpdateRepoDefaultBranch(ctx context.Context, db DBTX, arg UpdateRepoDefaultBranchParams) error

Used by the default-branch settings handler. The on-disk HEAD update is a separate step done via `git symbolic-ref` from the orchestrator.

func (*Queries) UpdateRepoDefaultBranchOID

func (q *Queries) UpdateRepoDefaultBranchOID(ctx context.Context, db DBTX, arg UpdateRepoDefaultBranchOIDParams) error

Set when push:process detects a commit on the repo's default branch. Pass NULL to clear (e.g. when the branch is force-deleted in a future sprint). The repo home view reads this to decide between empty and populated layouts.

func (*Queries) UpdateRepoDiskUsed

func (q *Queries) UpdateRepoDiskUsed(ctx context.Context, db DBTX, arg UpdateRepoDiskUsedParams) error

func (*Queries) UpdateRepoGeneralSettings

func (q *Queries) UpdateRepoGeneralSettings(ctx context.Context, db DBTX, arg UpdateRepoGeneralSettingsParams) error

S32: General-tab settings persist via this single query so each form post is one round-trip. The merge-method toggles are kept separate from the repo create flow because they're admin-only.

func (*Queries) UpdateRepoMergeSettings

func (q *Queries) UpdateRepoMergeSettings(ctx context.Context, db DBTX, arg UpdateRepoMergeSettingsParams) error

func (*Queries) UpsertBranchProtectionRule

func (q *Queries) UpsertBranchProtectionRule(ctx context.Context, db DBTX, arg UpsertBranchProtectionRuleParams) (int64, error)

type RateLimit

type RateLimit struct {
	Scope           string
	Key             string
	Hits            int32
	WindowStartedAt pgtype.Timestamptz
}

type RenameRepoParams

type RenameRepoParams struct {
	ID   int64
	Name string
}

type Repo

type Repo struct {
	ID                 int64
	OwnerUserID        pgtype.Int8
	OwnerOrgID         pgtype.Int8
	Name               string
	Description        string
	Visibility         RepoVisibility
	DefaultBranch      string
	IsArchived         bool
	ArchivedAt         pgtype.Timestamptz
	DeletedAt          pgtype.Timestamptz
	DiskUsedBytes      int64
	ForkOfRepoID       pgtype.Int8
	LicenseKey         pgtype.Text
	PrimaryLanguage    pgtype.Text
	HasIssues          bool
	HasPulls           bool
	CreatedAt          pgtype.Timestamptz
	UpdatedAt          pgtype.Timestamptz
	DefaultBranchOid   pgtype.Text
	AllowSquashMerge   bool
	AllowRebaseMerge   bool
	AllowMergeCommit   bool
	DefaultMergeMethod PrMergeMethod
	StarCount          int64
	WatcherCount       int64
	ForkCount          int64
	InitStatus         RepoInitStatus
	LastIndexedOid     pgtype.Text
}

type RepoCollaborator

type RepoCollaborator struct {
	RepoID        int64
	UserID        int64
	Role          CollabRole
	AddedAt       pgtype.Timestamptz
	AddedByUserID pgtype.Int8
}

type RepoInitStatus

type RepoInitStatus string
const (
	RepoInitStatusInitialized RepoInitStatus = "initialized"
	RepoInitStatusInitPending RepoInitStatus = "init_pending"
	RepoInitStatusInitFailed  RepoInitStatus = "init_failed"
)

func (*RepoInitStatus) Scan

func (e *RepoInitStatus) Scan(src interface{}) error

type RepoIssueCounter

type RepoIssueCounter struct {
	RepoID     int64
	NextNumber int64
}

type RepoRedirect

type RepoRedirect struct {
	OldOwnerUserID pgtype.Int8
	OldOwnerOrgID  pgtype.Int8
	OldName        string
	RepoID         int64
	RedirectedAt   pgtype.Timestamptz
}

type RepoTopic

type RepoTopic struct {
	RepoID    int64
	Topic     string
	CreatedAt pgtype.Timestamptz
}

type RepoTransferRequest

type RepoTransferRequest struct {
	ID              int64
	RepoID          int64
	FromUserID      int64
	ToPrincipalKind TransferPrincipalKind
	ToPrincipalID   int64
	CreatedBy       int64
	CreatedAt       pgtype.Timestamptz
	ExpiresAt       pgtype.Timestamptz
	Status          TransferStatus
	AcceptedAt      pgtype.Timestamptz
	DeclinedAt      pgtype.Timestamptz
	CanceledAt      pgtype.Timestamptz
}

type RepoVisibility

type RepoVisibility string
const (
	RepoVisibilityPublic  RepoVisibility = "public"
	RepoVisibilityPrivate RepoVisibility = "private"
)

func (*RepoVisibility) Scan

func (e *RepoVisibility) Scan(src interface{}) error

type ReposSearch

type ReposSearch struct {
	RepoID int64
	Tsv    interface{}
}

type SetLastIndexedOIDParams

type SetLastIndexedOIDParams struct {
	ID             int64
	LastIndexedOid pgtype.Text
}

type SetRepoInitStatusParams

type SetRepoInitStatusParams struct {
	ID         int64
	InitStatus RepoInitStatus
}

type SetRepoVisibilityParams

type SetRepoVisibilityParams struct {
	ID         int64
	Visibility RepoVisibility
}

type SignupIpThrottle

type SignupIpThrottle struct {
	Cidr            netip.Addr
	Hits            int32
	WindowStartedAt pgtype.Timestamptz
}

type Star

type Star struct {
	UserID    int64
	RepoID    int64
	StarredAt pgtype.Timestamptz
}

type Team

type Team struct {
	ID              int64
	OrgID           int64
	Slug            string
	DisplayName     string
	Description     string
	ParentTeamID    pgtype.Int8
	Privacy         TeamPrivacy
	CreatedByUserID pgtype.Int8
	CreatedAt       pgtype.Timestamptz
	UpdatedAt       pgtype.Timestamptz
}

type TeamMember

type TeamMember struct {
	TeamID        int64
	UserID        int64
	Role          TeamRole
	AddedByUserID pgtype.Int8
	AddedAt       pgtype.Timestamptz
}

type TeamPrivacy

type TeamPrivacy string
const (
	TeamPrivacyVisible TeamPrivacy = "visible"
	TeamPrivacySecret  TeamPrivacy = "secret"
)

func (*TeamPrivacy) Scan

func (e *TeamPrivacy) Scan(src interface{}) error

type TeamRepoAccess

type TeamRepoAccess struct {
	TeamID        int64
	RepoID        int64
	Role          TeamRepoRole
	AddedByUserID pgtype.Int8
	AddedAt       pgtype.Timestamptz
}

type TeamRepoRole

type TeamRepoRole string
const (
	TeamRepoRoleRead     TeamRepoRole = "read"
	TeamRepoRoleTriage   TeamRepoRole = "triage"
	TeamRepoRoleWrite    TeamRepoRole = "write"
	TeamRepoRoleMaintain TeamRepoRole = "maintain"
	TeamRepoRoleAdmin    TeamRepoRole = "admin"
)

func (*TeamRepoRole) Scan

func (e *TeamRepoRole) Scan(src interface{}) error

type TeamRole

type TeamRole string
const (
	TeamRoleMember     TeamRole = "member"
	TeamRoleMaintainer TeamRole = "maintainer"
)

func (*TeamRole) Scan

func (e *TeamRole) Scan(src interface{}) error

type TransactionalEmailLog

type TransactionalEmailLog struct {
	ID              int64
	RecipientUserID pgtype.Int8
	RecipientEmail  string
	Kind            string
	Subject         string
	ProviderID      string
	Status          TransactionalEmailStatus
	ErrorSummary    pgtype.Text
	SentAt          pgtype.Timestamptz
	DeliveredAt     pgtype.Timestamptz
}

type TransactionalEmailStatus

type TransactionalEmailStatus string
const (
	TransactionalEmailStatusQueued      TransactionalEmailStatus = "queued"
	TransactionalEmailStatusSent        TransactionalEmailStatus = "sent"
	TransactionalEmailStatusSoftBounced TransactionalEmailStatus = "soft_bounced"
	TransactionalEmailStatusHardBounced TransactionalEmailStatus = "hard_bounced"
	TransactionalEmailStatusDropped     TransactionalEmailStatus = "dropped"
)

func (*TransactionalEmailStatus) Scan

func (e *TransactionalEmailStatus) Scan(src interface{}) error

type TransferPrincipalKind

type TransferPrincipalKind string
const (
	TransferPrincipalKindUser TransferPrincipalKind = "user"
	TransferPrincipalKindOrg  TransferPrincipalKind = "org"
)

func (*TransferPrincipalKind) Scan

func (e *TransferPrincipalKind) Scan(src interface{}) error

type TransferRepoOwnerParams

type TransferRepoOwnerParams struct {
	ID          int64
	Name        string
	OwnerUserID pgtype.Int8
	OwnerOrgID  pgtype.Int8
}

type TransferStatus

type TransferStatus string
const (
	TransferStatusPending  TransferStatus = "pending"
	TransferStatusAccepted TransferStatus = "accepted"
	TransferStatusDeclined TransferStatus = "declined"
	TransferStatusCanceled TransferStatus = "canceled"
	TransferStatusExpired  TransferStatus = "expired"
)

func (*TransferStatus) Scan

func (e *TransferStatus) Scan(src interface{}) error

type UpdateBranchProtectionCheckSettingsParams

type UpdateBranchProtectionCheckSettingsParams struct {
	ID                             int64
	StatusChecksRequired           []string
	DismissStaleStatusChecksOnPush bool
}

type UpdateBranchProtectionReviewSettingsParams

type UpdateBranchProtectionReviewSettingsParams struct {
	ID                        int64
	RequiredReviewCount       int32
	DismissStaleReviewsOnPush bool
	RequireCodeOwnerReview    bool
}

type UpdateBranchProtectionRuleParams

type UpdateBranchProtectionRuleParams struct {
	ID                   int64
	Pattern              string
	PreventForcePush     bool
	PreventDeletion      bool
	RequirePrForPush     bool
	AllowedPusherUserIds []int64
}

type UpdateRepoDefaultBranchOIDParams

type UpdateRepoDefaultBranchOIDParams struct {
	ID               int64
	DefaultBranchOid pgtype.Text
}

type UpdateRepoDefaultBranchParams

type UpdateRepoDefaultBranchParams struct {
	ID            int64
	DefaultBranch string
}

type UpdateRepoDiskUsedParams

type UpdateRepoDiskUsedParams struct {
	ID            int64
	DiskUsedBytes int64
}

type UpdateRepoGeneralSettingsParams

type UpdateRepoGeneralSettingsParams struct {
	ID          int64
	Description string
	HasIssues   bool
	HasPulls    bool
}

type UpdateRepoMergeSettingsParams

type UpdateRepoMergeSettingsParams struct {
	ID                 int64
	AllowMergeCommit   bool
	AllowSquashMerge   bool
	AllowRebaseMerge   bool
	DefaultMergeMethod PrMergeMethod
}

type UpsertBranchProtectionRuleParams

type UpsertBranchProtectionRuleParams struct {
	RepoID               int64
	Pattern              string
	PreventForcePush     bool
	PreventDeletion      bool
	RequirePrForPush     bool
	AllowedPusherUserIds []int64
	CreatedByUserID      pgtype.Int8
}

type User

type User struct {
	ID                int64
	Username          string
	DisplayName       string
	PrimaryEmailID    pgtype.Int8
	PasswordHash      string
	PasswordAlgo      string
	PasswordUpdatedAt pgtype.Timestamptz
	EmailVerified     bool
	LastLoginAt       pgtype.Timestamptz
	SuspendedAt       pgtype.Timestamptz
	SuspendedReason   pgtype.Text
	DeletedAt         pgtype.Timestamptz
	CreatedAt         pgtype.Timestamptz
	UpdatedAt         pgtype.Timestamptz
	Bio               string
	Location          string
	Website           string
	Company           string
	Pronouns          string
	AvatarObjectKey   pgtype.Text
	Theme             string
	SessionEpoch      int32
	IsSiteAdmin       bool
}

type UserEmail

type UserEmail struct {
	ID                    int64
	UserID                int64
	Email                 string
	IsPrimary             bool
	Verified              bool
	VerificationTokenHash []byte
	VerificationSentAt    pgtype.Timestamptz
	VerifiedAt            pgtype.Timestamptz
	CreatedAt             pgtype.Timestamptz
}

type UserNotificationPref

type UserNotificationPref struct {
	UserID    int64
	Key       string
	Value     []byte
	UpdatedAt pgtype.Timestamptz
}

type UserRecoveryCode

type UserRecoveryCode struct {
	ID          int64
	UserID      int64
	CodeHash    []byte
	UsedAt      pgtype.Timestamptz
	GeneratedAt pgtype.Timestamptz
	CreatedAt   pgtype.Timestamptz
}

type UserSshKey

type UserSshKey struct {
	ID                int64
	UserID            int64
	Title             string
	FingerprintSha256 string
	KeyType           string
	KeyBits           int32
	PublicKey         string
	LastUsedAt        pgtype.Timestamptz
	LastUsedIp        *netip.Addr
	CreatedAt         pgtype.Timestamptz
}

type UserToken

type UserToken struct {
	ID          int64
	UserID      int64
	Name        string
	TokenHash   []byte
	TokenPrefix string
	Scopes      []string
	ExpiresAt   pgtype.Timestamptz
	LastUsedAt  pgtype.Timestamptz
	LastUsedIp  *netip.Addr
	RevokedAt   pgtype.Timestamptz
	CreatedAt   pgtype.Timestamptz
}

type UserTotp

type UserTotp struct {
	ID              int64
	UserID          int64
	SecretEncrypted []byte
	SecretNonce     []byte
	ConfirmedAt     pgtype.Timestamptz
	LastUsedCounter int64
	CreatedAt       pgtype.Timestamptz
	UpdatedAt       pgtype.Timestamptz
}

type UsernameRedirect

type UsernameRedirect struct {
	OldUsername string
	UserID      int64
	ChangedAt   pgtype.Timestamptz
}

type UsersSearch

type UsersSearch struct {
	UserID int64
	Tsv    interface{}
}

type Watch

type Watch struct {
	UserID    int64
	RepoID    int64
	Level     WatchLevel
	UpdatedAt pgtype.Timestamptz
}

type WatchLevel

type WatchLevel string
const (
	WatchLevelAll           WatchLevel = "all"
	WatchLevelParticipating WatchLevel = "participating"
	WatchLevelIgnore        WatchLevel = "ignore"
)

func (*WatchLevel) Scan

func (e *WatchLevel) Scan(src interface{}) error

type Webhook

type Webhook struct {
	ID                   int64
	OwnerKind            WebhookOwnerKind
	OwnerID              int64
	Url                  string
	ContentType          WebhookContentType
	Events               []string
	SecretCiphertext     []byte
	SecretNonce          []byte
	Active               bool
	SslVerification      bool
	ConsecutiveFailures  int32
	AutoDisableThreshold int32
	DisabledAt           pgtype.Timestamptz
	DisabledReason       pgtype.Text
	LastSuccessAt        pgtype.Timestamptz
	LastFailureAt        pgtype.Timestamptz
	CreatedByUserID      pgtype.Int8
	CreatedAt            pgtype.Timestamptz
	UpdatedAt            pgtype.Timestamptz
}

type WebhookContentType

type WebhookContentType string
const (
	WebhookContentTypeJson WebhookContentType = "json"
	WebhookContentTypeForm WebhookContentType = "form"
)

func (*WebhookContentType) Scan

func (e *WebhookContentType) Scan(src interface{}) error

type WebhookDelivery

type WebhookDelivery struct {
	ID                int64
	WebhookID         int64
	EventKind         string
	EventID           pgtype.Int8
	DeliveryUuid      pgtype.UUID
	Payload           []byte
	RequestHeaders    []byte
	RequestBody       []byte
	ResponseStatus    pgtype.Int4
	ResponseHeaders   []byte
	ResponseBody      []byte
	ResponseTruncated bool
	StartedAt         pgtype.Timestamptz
	CompletedAt       pgtype.Timestamptz
	Attempt           int32
	MaxAttempts       int32
	NextRetryAt       pgtype.Timestamptz
	Status            WebhookDeliveryStatus
	IdempotencyKey    string
	ErrorSummary      pgtype.Text
	RedeliverOf       pgtype.Int8
}

type WebhookDeliveryStatus

type WebhookDeliveryStatus string
const (
	WebhookDeliveryStatusPending         WebhookDeliveryStatus = "pending"
	WebhookDeliveryStatusSucceeded       WebhookDeliveryStatus = "succeeded"
	WebhookDeliveryStatusFailedRetry     WebhookDeliveryStatus = "failed_retry"
	WebhookDeliveryStatusFailedPermanent WebhookDeliveryStatus = "failed_permanent"
)

func (*WebhookDeliveryStatus) Scan

func (e *WebhookDeliveryStatus) Scan(src interface{}) error

type WebhookEventsPending

type WebhookEventsPending struct {
	ID        int64
	RepoID    int64
	EventKind string
	Payload   []byte
	CreatedAt pgtype.Timestamptz
}

type WebhookOwnerKind

type WebhookOwnerKind string
const (
	WebhookOwnerKindRepo WebhookOwnerKind = "repo"
	WebhookOwnerKindOrg  WebhookOwnerKind = "org"
)

func (*WebhookOwnerKind) Scan

func (e *WebhookOwnerKind) Scan(src interface{}) error

Jump to

Keyboard shortcuts

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