// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
package org_tangled
// schema: org.tangled.git.pushEvent
import (
"github.com/bluesky-social/indigo/lex/util"
)
const (
GitPushEventNSID = "org.tangled.git.pushEvent"
)
// GitPushEvent is a "main" in the org.tangled.git.pushEvent schema.
//
// Represents git-push operation to target repository.
type GitPushEvent struct {
Edits []*GitPushEvent_RefEdit `json:"edits" cborgen:"edits"`
// options: Git push options.
Options []string `json:"options,omitempty" cborgen:"options,omitempty"`
// pusher: The account that performed this push.
Pusher string `json:"pusher" cborgen:"pusher"`
// repo: The repo this event comes from.
Repo string `json:"repo" cborgen:"repo"`
// seq: The stream sequence number of this message.
Seq int64 `json:"seq" cborgen:"seq"`
// sig: Signature over the DAG-CBOR of this message with the seq and sig keys absent (repo/pusher DID, edits, time, options), by the repo's atproto signing key. seq is excluded so a relay can reassign it without invalidating the signature.
Sig util.LexBytes `json:"sig,omitempty" cborgen:"sig,omitempty"`
// time: Timestamp of when this message was originally broadcast.
Time string `json:"time" cborgen:"time"`
}
// GitPushEvent_RefEdit is a "refEdit" in the org.tangled.git.pushEvent schema.
//
// A git ref edit.
type GitPushEvent_RefEdit struct {
// name: Full git reference name, ie refs/heads/main.
Name string `json:"name" cborgen:"name"`
// new: Full hex object id the ref now points at.
New *string `json:"new" cborgen:"new"`
// old: Full hex object id the ref pointed at before.
Old *string `json:"old" cborgen:"old"`
}