// 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"`
	Mentions      []string `json:"mentions,omitempty" cborgen:"mentions,omitempty"`
	// patch: (deprecated) use patchBlob instead
	Patch *string `json:"patch,omitempty" cborgen:"patch,omitempty"`
	// patchBlob: patch content
	PatchBlob  *util.LexBlob    `json:"patchBlob" cborgen:"patchBlob"`
	References []string         `json:"references,omitempty" cborgen:"references,omitempty"`
	Source     *RepoPull_Source `json:"source,omitempty" cborgen:"source,omitempty"`
	Target     *RepoPull_Target `json:"target" cborgen:"target"`
	Title      string           `json:"title" cborgen:"title"`
}

// 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"`
	Sha    string  `json:"sha" cborgen:"sha"`
}

// 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"`
}
