IDstring`validate:"required,ulid" bun:"type:CHAR(26),pk,nullzero,notnull,unique"`// id of this item in the database
CreatedAttime.Time`validate:"required" bun:",nullzero,notnull,default:current_timestamp"`// when was item created
UpdatedAttime.Time`validate:"required" bun:",nullzero,notnull,default:current_timestamp"`// when was item last updated
URIstring`validate:"required,url" bun:",unique,nullzero,notnull"`// activitypub URI of this status
URLstring`validate:"url" bun:",nullzero"`// web url for viewing this status
Contentstring`validate:"-" bun:",nullzero"`// content of this status; likely html-formatted but not guaranteed
AttachmentIDs[]string`validate:"dive,required,ulid" bun:"attachments,array,nullzero"`// Database IDs of any media attachments associated with this status
Attachments[]*MediaAttachment`validate:"-" bun:"attached_media,rel:has-many"`// Attachments corresponding to attachmentIDs
TagIDs[]string`validate:"dive,required,ulid" bun:"tags,array,nullzero"`// Database IDs of any tags used in this status
Tags[]*Tag`validate:"-" bun:"attached_tags,m2m:status_to_tags"`// Tags corresponding to tagIDs. https://bun.uptrace.dev/guide/relations.html#many-to-many-relation
MentionIDs[]string`validate:"dive,required,ulid" bun:"mentions,array,nullzero"`// Database IDs of any mentions in this status
Mentions[]*Mention`validate:"-" bun:"attached_mentions,rel:has-many"`// Mentions corresponding to mentionIDs
EmojiIDs[]string`validate:"dive,required,ulid" bun:"emojis,array,nullzero"`// Database IDs of any emojis used in this status
Emojis[]*Emoji`validate:"-" bun:"attached_emojis,m2m:status_to_emojis"`// Emojis corresponding to emojiIDs. https://bun.uptrace.dev/guide/relations.html#many-to-many-relation
Localbool`validate:"-" bun:",nullzero,notnull,default:false"`// is this status from a local account?
AccountIDstring`validate:"required,ulid" bun:"type:CHAR(26),nullzero,notnull"`// which account posted this status?
Account*Account`validate:"-" bun:"rel:belongs-to"`// account corresponding to accountID
AccountURIstring`validate:"required,url" bun:",nullzero,notnull"`// activitypub uri of the owner of this status
InReplyToIDstring`validate:"ulid,required_with=InReplyToURI InReplyToAccountID" bun:"type:CHAR(26),nullzero"`// id of the status this status replies to
InReplyToURIstring`validate:"required_with=InReplyToID InReplyToAccountID" bun:",nullzero"`// activitypub uri of the status this status is a reply to
InReplyToAccountIDstring`validate:"ulid,required_with=InReplyToID InReplyToURI" bun:"type:CHAR(26),nullzero"`// id of the account that this status replies to
InReplyTo*Status`validate:"-" bun:"-"`// status corresponding to inReplyToID
InReplyToAccount*Account`validate:"-" bun:"rel:belongs-to"`// account corresponding to inReplyToAccountID
BoostOfIDstring`validate:"ulid,required_with=BoostOfAccountID" bun:"type:CHAR(26),nullzero"`// id of the status this status is a boost of
BoostOfAccountIDstring`validate:"ulid,required_with=BoostOfID" bun:"type:CHAR(26),nullzero"`// id of the account that owns the boosted status
BoostOf*Status`validate:"-" bun:"-"`// status that corresponds to boostOfID
BoostOfAccount*Account`validate:"-" bun:"rel:belongs-to"`// account that corresponds to boostOfAccountID
ContentWarningstring`validate:"-" bun:",nullzero"`// cw string for this status
VisibilityVisibility`validate:"-" bun:",nullzero,notnull"`// visibility entry for this status
Sensitivebool`validate:"-" bun:",nullzero,notnull,default:false"`// mark the status as sensitive?
Languagestring`validate:"-" bun:",nullzero"`// what language is this status written in?
CreatedWithApplicationIDstring`validate:"ulid,required_if=Local true" bun:"type:CHAR(26),nullzero"`// Which application was used to create this status?
CreatedWithApplication*Application`validate:"-" bun:"rel:belongs-to"`// application corresponding to createdWithApplicationID
VisibilityAdvancedVisibilityAdvanced`validate:"required" bun:",nullzero,notnull" `// advanced visibility for this status
ActivityStreamsTypestring`validate:"required" bun:",nullzero,notnull"`// What is the activitystreams type of this status? See: https://www.w3.org/TR/activitystreams-vocabulary/#object-types. Will probably almost always be Note but who knows!.
Textstring`validate:"-" bun:",nullzero"`// Original text of the status without formatting
Pinnedbool`validate:"-" bun:",nullzero,notnull,default:false" `// Has this status been pinned by its owner?