linstrom/ap/question-object.go
2024-01-30 11:26:41 +00:00

27 lines
1.8 KiB
Go

package ap
import (
"net/url"
"time"
)
type Question struct {
Context map[string]any `json:"@context,omitempty"` // Lots of something. Not included if note is embedded as object in another object
ID url.URL `json:"id"` // Url to this object
Type string `json:"type"` // Should always be "Question"
AttributedTo url.URL `json:"attributedTo"` // Creator of this object
Content string `json:"content"` // Preformated text content
MkContent string `json:"_misskey_content"` // Misskey version of the content
Source RawNoteContent `json:"source"` // Raw version of the content
Published time.Time `json:"published"` // When this object was published
To []url.URL `json:"to"` // Who to send this to
Cc []url.URL `json:"cc"` // More targets to send to
InReplyTo *url.URL `json:"inReplyTo"` // Object this post replies to
Attachment []map[string]string `json:"attachment"` // File attachments - TODO: Move to concrete type
Sensitive bool `json:"sensitive"` // Whether this post has a content warning
Summary *string `json:"summary"` // Summary of a post (also known as content warning)
Tag []Tag `json:"tag"` // Hashtags
EndTime *time.Time `json:"endTime"` // Timestamp of when the question ends
OneOf []QuestionEntry `json:"oneOf,omitempty"` // All available options to vote for. Used if single choice vote
AnyOf []QuestionEntry `json:"anyOf,omitempty"` // All available options to vote for. Used if multiple choice vote
}