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

package tangled

// schema: sh.tangled.string

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

const (
	StringNSID = "sh.tangled.string"
)

func init() {
	util.RegisterType("sh.tangled.string", &String{})
} //
// RECORDTYPE: String
type String struct {
	LexiconTypeID string `json:"$type,const=sh.tangled.string" cborgen:"$type,const=sh.tangled.string"`
	// contents: DEPRECATED - use files[0].content instead
	Contents    *string `json:"contents,omitempty" cborgen:"contents,omitempty"`
	CreatedAt   string  `json:"createdAt" cborgen:"createdAt"`
	Description *string `json:"description,omitempty" cborgen:"description,omitempty"`
	// filename: DEPRECATED - use title instead
	Filename *string        `json:"filename,omitempty" cborgen:"filename,omitempty"`
	Files    []*String_File `json:"files" cborgen:"files"`
	Title    *string        `json:"title,omitempty" cborgen:"title,omitempty"`
}

// String_File is a "file" in the sh.tangled.string schema.
type String_File struct {
	// content: file content
	Content *util.LexBlob `json:"content" cborgen:"content"`
	// gzip: underlying blob metadata. provided when we are using gzip hack for text/* mimetype
	Gzip *String_File_Gzip `json:"gzip,omitempty" cborgen:"gzip,omitempty"`
	// name: filename including extension
	Name string `json:"name" cborgen:"name"`
}

// underlying blob metadata. provided when we are using gzip hack for text/* mimetype
type String_File_Gzip struct {
	RealMime string `json:"realMime" cborgen:"realMime"`
	RealSize int64  `json:"realSize" cborgen:"realSize"`
}
