Documentation ¶
Index ¶
- Constants
- type Announcement
- type Antenna
- type AntennaSource
- type App
- type Choice
- type Clip
- type Delayed
- type Emoji
- type File
- type FileProperties
- type Folder
- type FollowStatus
- type Group
- type GroupInvitation
- type Hashtag
- type Instance
- type Job
- type Log
- type ModerationLog
- type Note
- type Page
- type Poll
- type QueueStat
- type QueueStats
- type Reaction
- type Relay
- type RelayStatus
- type Report
- type User
- type UserField
- type UserFromAdmin
- type UserOrigin
- type Visibility
Constants ¶
const ( // VisibilityPublic is for public notes. VisibilityPublic = "public" // VisibilityHome is for home notes. // It means, the post will be visible only on // your timeline. VisibilityHome = "home" // VisibilityFollowers is for only followers. VisibilityFollowers = "followers" // VisibilitySpecified is the case when other fields // defines who can see it. VisibilitySpecified = "specified" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Announcement ¶
type Announcement struct { ID core.String `json:"id"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` Title core.String `json:"title"` Text core.String `json:"text"` ImageURL core.String `json:"imageUrl"` IsRead bool `json:"isRead"` Reads uint64 `json:"reads"` }
Announcement represents one announcement.
type Antenna ¶
type Antenna struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` Name string `json:"name"` Keywords [][]string `json:"keywords"` ExcludeKeywords [][]string `json:"excludeKeywords"` Source AntennaSource `json:"src"` UserListID core.String `json:"userListId"` UserGroupID core.String `json:"userGroupId"` Users []string `json:"users"` CaseSensitive bool `json:"caseSensitive"` Notify bool `json:"notify"` WithReplies bool `json:"withReplies"` WithOnlyFile bool `json:"withFile"` HasUnreadNote bool `json:"hasUnreadNote"` }
Antenna is a pure representation of an Antenna.
type AntennaSource ¶
type AntennaSource string
AntennaSource is just an "enum" like type alias.
const ( // HomeSrc is "home" as source for an Antenna. HomeSrc AntennaSource = "home" // AllSrc is "all" as source for an Antenna. AllSrc AntennaSource = "all" // UsersSrc is "users" as source for an Antenna. UsersSrc AntennaSource = "users" // ListSrc is "list" as source for an Antenna. ListSrc AntennaSource = "list" // GroupSrc is "group" as source for an Antenna. GroupSrc AntennaSource = "group" )
type App ¶ added in v1.1.1
type App struct { ID string `json:"id"` Name string `json:"name"` CallbackURL core.String `json:"callbackUrl"` Permission []string `json:"permission"` Secret string `json:"secret"` IsAuthorized bool `json:"isAuthorized"` }
App represents an App from /app endpoints.
type Choice ¶
type Choice struct { Text string `json:"text"` Votes uint64 `json:"votes"` IsVoted bool `json:"isVoted"` }
Choice is a sinple Choice in a Poll.
type Clip ¶
type Clip struct { ID string `json:"id"` CreatedAt *time.Time `json:"createdAt"` Name string `json:"name"` }
Clip is a simple representation of a Clip.
type Emoji ¶
type Emoji struct { ID core.String `json:"id"` Aliases []core.String `json:"aliases"` Name core.String `json:"name"` Category core.String `json:"category"` Host core.String `json:"host"` URL core.String `json:"url"` }
Emoji is a simple representation of an Emoji.
type File ¶
type File struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` Name core.String `json:"name"` Type string `json:"type"` Md5 string `json:"md5"` Size uint64 `json:"size"` IsSensitive bool `json:"isSensitive"` Blurhash string `json:"blurhash"` Properties FileProperties `json:"properties"` URL string `json:"url"` Comment string `json:"comment"` ThumbnailURL string `json:"thumbnailUrl"` FolderID core.String `json:"folderId"` Folder *Folder `json:"folder"` User *User `json:"user"` }
File is a file. Folder and User is defined as an interface{} because I have no idea how it looks like.
type FileProperties ¶
type FileProperties struct { Width int `json:"width"` Height int `json:"height"` Orientation int `json:"orientation"` AvgColor string `json:"avgColor"` }
FileProperties holds the properties of the file like width and height. I don't know if there are other too, so I'll go that way now.
type Folder ¶
type Folder struct { ID string `json:"id"` ParentID core.String `json:"parentId"` CreatedAt time.Time `json:"createdAt"` Name string `json:"name"` FoldersCount uint64 `json:"foldersCount"` FilesCount uint64 `json:"filesCount"` Parent *Folder `json:"parent"` }
Folder is the representation of a Folder entity.
Actually it seems, even if the API documentation says it returns with the number of sub-folders and files, it doesn't return always with them. Some of the endpoints return with the values like Show, but mostly not.
type FollowStatus ¶
type FollowStatus struct { ID string `json:"id"` CreatedAt string `json:"createdAt"` FolloweeID string `json:"followeeId"` Followee User `json:"followee"` FollowerID string `json:"followerId"` Follower User `json:"follower,omitempty"` }
FollowStatus defines the status of followers and followees.
type Group ¶ added in v1.0.4
type Group struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` Name string `json:"name"` OwnerID string `json:"ownerId"` UserIDs []string `json:"userIds"` }
Group represents a user group.
type GroupInvitation ¶ added in v1.0.4
GroupInvitation represents a group invitation.
type Hashtag ¶
type Hashtag struct { Tag string `json:"tag"` MentionedUsersCount uint64 `json:"mentionedUsersCount"` MentionedLocalUsersCount uint64 `json:"mentionedLocalUsersCount"` MentionedRemoteUsersCount uint64 `json:"mentionedRemoteUsersCount"` AttachedUsersCount uint64 `json:"attachedUsersCount"` AttachedLocalUsersCount uint64 `json:"attachedLocalUsersCount"` AttachedRemoteUsersCount uint64 `json:"attachedRemoteUsersCount"` }
Hashtag represents a hashtag.
type Instance ¶
type Instance struct { ID string `json:"id"` CaughtAt string `json:"caughtAt"` Host string `json:"host"` UserCount int `json:"userCount"` NotesCount int `json:"notesCount"` FollowingCount int `json:"followingCount"` FollowersCount int `json:"followersCount"` LatestStatus int `json:"latestStatus"` DriveUsage int64 `json:"driveUsage"` DriveFiles int64 `json:"driveFiles"` LatestRequestSentAt string `json:"latestRequestSentAt"` LatestRequestReceivedAt string `json:"latestRequestReceivedAt"` LastCommunicatedAt string `json:"lastCommunicatedAt"` SoftwareName string `json:"softwareName"` SoftwareVersion string `json:"softwareVersion"` Name string `json:"name"` Description string `json:"description"` MaintainerName string `json:"maintainerName"` MaintainerEmail string `json:"maintainerEmail"` IconURL string `json:"iconUrl"` FaviconURL string `json:"faviconUrl"` InfoUpdatedAt string `json:"infoUpdatedAt"` ThemeColor string `json:"86b300"` IsNotResponding bool `json:"isNotResponding"` IsSuspended bool `json:"isSuspended"` OpenRegistrations bool `json:"openRegistrations"` }
Instance has information about a single instance given a host.
type Job ¶ added in v1.0.1
type Job struct { ID string `json:"id"` Attempts int `json:"attempts"` MaxAttempts int `json:"maxAttempts"` Timestamp int64 `json:"timestamp"` Data interface{} `json:"data"` }
Job is one job in the queue. Data is an interface for now, as it's not a unified resposne. The response is different based on the called Queue. For example deliver has a simple response, but inbox contains the Federated Activity object itself.
type Log ¶ added in v1.0.1
type Log struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` Domain []string `json:"domain"` Level string `json:"level"` Worker string `json:"worker"` Machine string `json:"machine"` Message string `json:"message"` Data interface{} `json:"data"` }
Log from admin/logs.
type ModerationLog ¶ added in v1.0.1
type ModerationLog struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` Type string `json:"type"` UserID string `json:"userId"` User User `json:"user"` Info interface{} `json:"info"` }
ModerationLog from admin/show-moderation-logs.
type Note ¶
type Note struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` UserID string `json:"userId"` User User `json:"user"` Text string `json:"text"` CW core.String `json:"cw"` Visibility string `json:"visibility"` Mentions []string `json:"mentions"` RenoteCount uint64 `json:"renoteCount"` RepliesCount uint64 `json:"repliesCount"` Reactions map[string]uint64 `json:"reactions"` Tags []string `json:"tags"` FileIds []string `json:"fileIds"` Files []File `json:"files"` Reply *Note `json:"reply"` ReplyID core.String `json:"replyId"` RenoteID core.String `json:"renoteId"` URI string `json:"uri"` URL string `json:"url"` Instance *Instance `json:"instance"` Poll *Poll `json:"poll"` }
Note is a note.
type Page ¶
type Page struct { ID string `json:"id"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` UserID string `json:"userId"` User *User `json:"user"` Title string `json:"title"` Name string `json:"name"` HideTitleWhenPinned bool `json:"hideTitleWhenPinned"` AlignCenter bool `json:"alignCenter"` IsLiked bool `json:"isLiked"` LikedCount int `json:"likedCount"` Font string `json:"font"` Script string `json:"script"` EyeCatchingImageID string `json:"eyeCatchingImageId"` EyeCatchingImage *File `json:"eyeCatchingImage"` AttachedFiles []File `json:"attachedFiles"` Content interface{} `json:"content"` Summary interface{} `json:"summary"` Variables []interface{} `json:"variables"` }
Page is the representation of a Page.
Right now, as I'm working on Hashtags/Users, I don't know how Content, Variables and Summary are structured, so I just leave them as interface{} for now, and when we start to implement page endpoint, we can fill in the gap.
type Poll ¶
type Poll struct { Multiple bool `json:"multiple"` ExpiresAt time.Time `json:"expiresAt"` Choices []Choice `json:"choices"` }
Poll represents a Poll data structure for Misskey.
type QueueStat ¶ added in v1.0.1
type QueueStat struct { Waiting int64 `json:"waiting"` Active int64 `json:"active"` Completed int64 `json:"completed"` Failed int64 `json:"failed"` Delayed int64 `json:"delayed"` Paused int64 `json:"paused"` }
QueueStat gives an overview of a queue with numbers.
type QueueStats ¶ added in v1.0.1
type QueueStats struct { Deliver QueueStat `json:"deliver"` Inbox QueueStat `json:"inbox"` DB QueueStat `json:"db"` ObjectStorage QueueStat `json:"objectStorage"` }
QueueStats contains all available queue stats.
type Reaction ¶
type Reaction struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` User User `json:"user"` Type string `json:"type"` }
Reaction is the representation of a Reaction.
type Relay ¶ added in v1.0.4
type Relay struct { ID string `json:"id"` Inbox string `json:"inbox"` Status RelayStatus `json:"status"` }
Relay is a simple representation of a Relay.
type RelayStatus ¶ added in v1.0.4
type RelayStatus string
RelayStatus is a type to represent relay statuses.
const ( // RelayStatusRequesting is the status of a pending relay. RelayStatusRequesting RelayStatus = "requesting" // RelayStatusAccepted is the status of an accepted relay. RelayStatusAccepted RelayStatus = "accepted" // RelayStatusRejected is the status of a rejected relay. RelayStatusRejected RelayStatus = "rejected" )
type Report ¶ added in v1.0.1
type Report struct { ID string `json:"id"` CreatedAt time.Time `json:"createdAt"` Comment string `json:"comment"` Resolved bool `json:"resolved"` ReporterID string `json:"reporterId"` TargetUserID string `json:"targetUserId"` AssigneeID string `json:"assigneeId"` Reporter *User `json:"reporter"` TargetUser *User `json:"targetUser"` Assignee *User `json:"assignee"` }
Report represents a reported user. Only users can be reported, for reports on specific resource like Note, the Comment field container the URL for that resource.
type User ¶
type User struct { ID string `json:"id"` Name string `json:"name"` Username string `json:"username"` Host core.String `json:"host"` AvatarURL string `json:"avatarUrl"` AvatarBlurhash core.String `json:"avatarBlurhash"` AvatarColor core.String `json:"avatarColor"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` URL core.String `json:"url"` BannerURL string `json:"BannerUrl"` BannerBlurhash core.String `json:"BannerBlurhash"` BannerColor core.String `json:"BannerColor"` IsAdmin bool `json:"isAdmin"` IsModerator bool `json:"isModerator"` IsBot bool `json:"isBot"` IsCat bool `json:"isCat"` IsLocked bool `json:"isLocked"` IsSilenced bool `json:"isSilenced"` IsSuspended bool `json:"isSuspended"` TwoFactorEnabled bool `json:"twoFactorEnabled"` UsePasswordLessLogin bool `json:"usePasswordLessLogin"` SecurityKeys bool `json:"securityKeys"` IsFollowing bool `json:"isFollowing"` IsFollowed bool `json:"isFollowed"` HasPendingFollowRequestFromYou bool `json:"hasPendingFollowRequestFromYou"` HasPendingFollowRequestToYou bool `json:"hasPendingFollowRequestToYou"` IsBlocking bool `json:"isBlocking"` IsBlocked bool `json:"isBlocked"` IsMuted bool `json:"isMuted"` Description string `json:"description"` Location core.String `json:"location"` Birthday core.String `json:"birthday"` Fields []UserField `json:"fields"` FollowersCount uint64 `json:"followersCount"` FollowingCount uint64 `json:"followingCount"` NotesCount uint64 `json:"notesCount"` PinnedNoteIDs []string `json:"pinnedNoteIds"` PinnedNotes []Note `json:"pinnedNotes"` PinnedPageID core.String `json:"pinnedPageId"` PinnedPage core.String `json:"pinnedPage"` }
User is a... user.
type UserFromAdmin ¶ added in v1.0.1
type UserFromAdmin struct { User InjectFeaturedNote bool `json:"injectFeaturedNote"` AlwaysMarkNSFW bool `json:"alwaysMarkNsfw"` CarefulBot bool `json:"carefulBot"` AutoAcceptFollowed bool `json:"autoAcceptFollowed"` EmailVerified bool `json:"emailVerified"` Email string `json:"email"` Token string `json:"token"` SecurityKeysList []string `json:"securityKeysList"` Emojis []string `json:"emojis"` }
UserFromAdmin represents a user from admin/users/show. Usually user has an Emoji list of 'Emoji', but from /api/admin/show-user, it's a list of strings.
type UserOrigin ¶ added in v1.0.1
type UserOrigin string
UserOrigin of a user.
const ( // OriginCombined for local and remote users. OriginCombined UserOrigin = "combined" // OriginLocal for only local users. OriginLocal UserOrigin = "local" // OriginRemote for only remote users. OriginRemote UserOrigin = "remote" )
type Visibility ¶
type Visibility string
Visibility is a simple string, but type alias for readability.