// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.

package tangled

// schema: sh.tangled.repo.pull

import (
	"github.com/bluesky-social/indigo/lex/util"
)

const (
	RepoPullNSID = "sh.tangled.repo.pull"
)

func init() {
	util.RegisterType("sh.tangled.repo.pull", &RepoPull{})
} //
// RECORDTYPE: RepoPull
type RepoPull struct {
	LexiconTypeID string   `json:"$type,const=sh.tangled.repo.pull" cborgen:"$type,const=sh.tangled.repo.pull"`
	Body          *string  `json:"body,omitempty" cborgen:"body,omitempty"`
	CreatedAt     string   `json:"createdAt" cborgen:"createdAt"`
	DependentOn   *string  `json:"dependentOn,omitempty" cborgen:"dependentOn,omitempty"`
	Mentions      []string `json:"mentions,omitempty" cborgen:"mentions,omitempty"`
	References    []string `json:"references,omitempty" cborgen:"references,omitempty"`
	// rounds: DEPRECATED: always empty
	Rounds   []*RepoPull_Round   `json:"rounds" cborgen:"rounds"`
	Source   *RepoPull_Source    `json:"source,omitempty" cborgen:"source,omitempty"`
	Target   *RepoPull_Target    `json:"target" cborgen:"target"`
	Title    string              `json:"title" cborgen:"title"`
	Versions []*RepoPull_Version `json:"versions" cborgen:"versions"`
}

// RepoPull_Round is a "round" in the sh.tangled.repo.pull schema.
//
// DEPRECATED: revisions of this pull request, newer rounds are appended to this array. appviews may reject records do not treat this field as append-only. the blob format is gzipped text-based git-format-patches.
type RepoPull_Round struct {
	CreatedAt string        `json:"createdAt" cborgen:"createdAt"`
	PatchBlob *util.LexBlob `json:"patchBlob" cborgen:"patchBlob"`
}

// RepoPull_Source is a "source" in the sh.tangled.repo.pull schema.
type RepoPull_Source struct {
	Branch string  `json:"branch" cborgen:"branch"`
	Repo   *string `json:"repo,omitempty" cborgen:"repo,omitempty"`
}

// RepoPull_Target is a "target" in the sh.tangled.repo.pull schema.
type RepoPull_Target struct {
	Branch string `json:"branch" cborgen:"branch"`
	Repo   string `json:"repo" cborgen:"repo"`
}

// RepoPull_Version is a "version" in the sh.tangled.repo.pull schema.
type RepoPull_Version struct {
	// base: merge-base commit ID for combined interdiff
	Base      *string `json:"base,omitempty" cborgen:"base,omitempty"`
	CreatedAt string  `json:"createdAt" cborgen:"createdAt"`
	// head: HEAD commit ID
	Head string `json:"head" cborgen:"head"`
}
