go-lemmy/types/source.go
2022-12-10 09:17:16 -08:00

403 lines
27 KiB
Go

package types
import "time"
type LocalUserSettings struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"`
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"`
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"`
Theme string `json:"theme,omitempty" url:"theme,omitempty"`
DefaultSortType int `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"`
DefaultListingType int `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"`
InterfaceLanguage string `json:"interface_language,omitempty" url:"interface_language,omitempty"`
ShowAvatars bool `json:"show_avatars,omitempty" url:"show_avatars,omitempty"`
SendNotifications bool `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"`
ValidatorTime string `json:"validator_time,omitempty" url:"validator_time,omitempty"`
ShowBotAccounts bool `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"`
ShowScores bool `json:"show_scores,omitempty" url:"show_scores,omitempty"`
ShowReadPosts bool `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"`
ShowNewPostNotifs bool `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"`
EmailVerified bool `json:"email_verified,omitempty" url:"email_verified,omitempty"`
AcceptedApplication bool `json:"accepted_application,omitempty" url:"accepted_application,omitempty"`
}
type PersonSafe struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"`
BanExpires Optional[string] `json:"ban_expires,omitempty" url:"ban_expires,omitempty"`
InstanceID int `json:"instance_id,omitempty" url:"instance_id,omitempty"`
}
type Site struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"`
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
LastRefreshedAt string `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"`
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"`
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"`
InstanceID int `json:"instance_id,omitempty" url:"instance_id,omitempty"`
}
type LocalSite struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
SiteID int `json:"site_id,omitempty" url:"site_id,omitempty"`
SiteSetup bool `json:"site_setup,omitempty" url:"site_setup,omitempty"`
EnableDownvotes bool `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"`
OpenRegistration bool `json:"open_registration,omitempty" url:"open_registration,omitempty"`
EnableNSFW bool `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"`
AdminOnlyCommunityCreation bool `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"`
RequireEmailVerification bool `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"`
RequireApplication bool `json:"require_application,omitempty" url:"require_application,omitempty"`
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"`
PrivateInstance bool `json:"private_instance,omitempty" url:"private_instance,omitempty"`
DefaultTheme string `json:"default_theme,omitempty" url:"default_theme,omitempty"`
DefaultPostListingType string `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"`
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"`
HideModlogModNames bool `json:"hide_modlog_mod_names,omitempty" url:"hide_modlog_mod_names,omitempty"`
ApplicationEmailAdmins bool `json:"application_email_admins,omitempty" url:"application_email_admins,omitempty"`
SlurFilterRegex Optional[string] `json:"slur_filter_regex,omitempty" url:"slur_filter_regex,omitempty"`
ActorNameMaxLength int `json:"actor_name_max_length,omitempty" url:"actor_name_max_length,omitempty"`
FederationEnabled bool `json:"federation_enabled,omitempty" url:"federation_enabled,omitempty"`
FederationDebug bool `json:"federation_debug,omitempty" url:"federation_debug,omitempty"`
FederationStrictAllowlist bool `json:"federation_strict_allowlist,omitempty" url:"federation_strict_allowlist,omitempty"`
FederationRetryLimit int `json:"federation_http_fetch_retry_limit,omitempty" url:"federation_http_fetch_retry_limit,omitempty"`
FederationWorkerCount int `json:"federation_worker_count,omitempty" url:"federation_worker_count,omitempty"`
CaptchaEnabled bool `json:"captcha_enabled,omitempty" url:"captcha_enabled,omitempty"`
CaptchaDifficulty string `json:"captcha_difficulty,omitempty" url:"captcha_difficulty,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
}
type LocalSiteRateLimit struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
LocalSiteID int `json:"local_site_id,omitempty" url:"local_site_id,omitempty"`
Message int `json:"message,omitempty" url:"message,omitempty"`
MessagePerSecond int `json:"message_per_second,omitempty" url:"message_per_second,omitempty"`
Post int `json:"post,omitempty" url:"post,omitempty"`
PostPerSecond int `json:"post_per_second,omitempty" url:"post_per_second,omitempty"`
Register int `json:"register,omitempty" url:"register,omitempty"`
RegisterPerSecond int `json:"register_per_second,omitempty" url:"register_per_second,omitempty"`
Image int `json:"image,omitempty" url:"image,omitempty"`
ImagePerSecond int `json:"image_per_second,omitempty" url:"image_per_second,omitempty"`
Comment int `json:"comment,omitempty" url:"comment,omitempty"`
CommentPerSecond int `json:"comment_per_second,omitempty" url:"comment_per_second,omitempty"`
Search int `json:"search,omitempty" url:"search,omitempty"`
SearchPerSecond int `json:"search_per_second,omitempty" url:"search_per_second,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
}
type PrivateMessage struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"`
}
type PostReport struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
OriginalPostName string `json:"original_post_name,omitempty" url:"original_post_name,omitempty"`
OriginalPostURL Optional[string] `json:"original_post_url,omitempty" url:"original_post_url,omitempty"`
OriginalPostBody Optional[string] `json:"original_post_body,omitempty" url:"original_post_body,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
}
type Post struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"`
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"`
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
Locked bool `json:"locked,omitempty" url:"locked,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"`
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"`
EmbedTitle Optional[string] `json:"embed_title,omitempty" url:"embed_title,omitempty"`
EmbedDescription Optional[string] `json:"embed_description,omitempty" url:"embed_description,omitempty"`
EmbedVideoURL Optional[string] `json:"embed_video_url,omitempty" url:"embed_video_url,omitempty"`
ThumbnailURL Optional[string] `json:"thumbnail_url,omitempty" url:"thumbnail_url,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"`
LanguageID int `json:"language_id,omitempty" url:"language_id,omitempty"`
}
type PasswordResetRequest struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
TokenEncrypted string `json:"token_encrypted,omitempty" url:"token_encrypted,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
}
type ModRemovePost struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
type ModLockPost struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModStickyPost represents a post stickied by a moderator.
type ModStickyPost struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModRemoveComment represents a comment removal by a moderator.
type ModRemoveComment struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModRemoveCommunity represents a community removal by a moderator.
type ModRemoveCommunity struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
Expires Optional[string] `json:"expires,omitempty" url:"expires,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModBanFromCommunity represents a user being banned from a community by a moderator.
type ModBanFromCommunity struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
Expires Optional[string] `json:"expires,omitempty" url:"expires,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModBan represents a user being banned by a moderator.
type ModBan struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"`
Expires Optional[string] `json:"expires,omitempty" url:"expires,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModAddCommunity represents a user being added as a moderator of a community.
type ModAddCommunity struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModTransferCommunity represents a community being transferred to another moderator.
type ModTransferCommunity struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
// ModAdd represents a user being added as a moderator.
type ModAdd struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
type AdminPurgePerson struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
AdminPersonID int `json:"admin_person_id,omitempty" url:"admin_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
type AdminPurgeCommunity struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
AdminPersonID int `json:"admin_person_id,omitempty" url:"admin_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
type AdminPurgePost struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
AdminPersonID int `json:"admin_person_id,omitempty" url:"admin_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
type AdminPurgeComment struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
AdminPersonID int `json:"admin_person_id,omitempty" url:"admin_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
When string `json:"when_,omitempty" url:"when_,omitempty"`
}
type CommunitySafe struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"`
Title string `json:"title,omitempty" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"`
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"`
PostingRestrictedToMods bool `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"`
InstanceID int `json:"instance_id,omitempty" url:"instance_id,omitempty"`
}
type CommentReport struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
OriginalCommentText string `json:"original_comment_text,omitempty" url:"original_comment_text,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
}
type Comment struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"`
APID string `json:"ap_id,omitempty" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"`
Path string `json:"path,omitempty" url:"path,omitempty"`
Distinguished bool `json:"distinguished,omitempty" url:"distinguished,omitempty"`
LanguageID int `json:"language_id,omitempty" url:"language_id,omitempty"`
}
type PersonMention struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
}
type Language struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
Code string `json:"code,omitempty" url:"code,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"`
}
type PrivateMessageReport struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"`
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"`
OriginalPMText string `json:"original_pm_text,omitempty" url:"original_pm_text,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"`
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
Updated Optional[string] `json:"updated,omitempty" url:"updated,omitempty"`
}
type RegistrationApplication struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"`
Answer string `json:"answer,omitempty" url:"answer,omitempty"`
AdminID Optional[int] `json:"admin_id,omitempty" url:"admin_id,omitempty"`
DenyReason Optional[string] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
}
type ModHideCommunityView struct {
ModHideCommunity ModHideCommunity `json:"mod_hide_community,omitempty" url:"mod_hide_community,omitempty"`
Admin Optional[PersonSafe] `json:"admin,omitempty" url:"admin,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"`
}
type ModHideCommunity struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"`
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"`
}
type CommentReply struct {
ID int `json:"id,omitempty" url:"id,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"`
Published string `json:"published,omitempty" url:"published,omitempty"`
}