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

package tangled

// schema: sh.tangled.label.op

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

const (
	LabelOpNSID = "sh.tangled.label.op"
)

func init() {
	util.RegisterType("sh.tangled.label.op", &LabelOp{})
} //
// RECORDTYPE: LabelOp
type LabelOp struct {
	LexiconTypeID string             `json:"$type,const=sh.tangled.label.op" cborgen:"$type,const=sh.tangled.label.op"`
	Add           []*LabelOp_Operand `json:"add" cborgen:"add"`
	Delete        []*LabelOp_Operand `json:"delete" cborgen:"delete"`
	PerformedAt   string             `json:"performedAt" cborgen:"performedAt"`
	// subject: The subject (task, pull or discussion) of this label. Appviews may apply a `scope` check and refuse this op.
	Subject string `json:"subject" cborgen:"subject"`
}

// LabelOp_Operand is a "operand" in the sh.tangled.label.op schema.
type LabelOp_Operand struct {
	// key: ATURI to the label definition
	Key string `json:"key" cborgen:"key"`
	// value: Stringified value of the label. This is first unstringed by appviews and then interpreted as a concrete value.
	Value string `json:"value" cborgen:"value"`
}
