Add new LemmyTime type and remove omitempty from json tag

This commit is contained in:
Elara 2023-01-05 13:42:24 -08:00
parent 4ecce09b73
commit 0942490238
32 changed files with 1262 additions and 1276 deletions

View File

@ -24,15 +24,8 @@ func (s *StructGenerator) Generate(items []parser.Item) error {
st := item.Struct st := item.Struct
f.Type().Id(st.Name).StructFunc(func(g *jen.Group) { f.Type().Id(st.Name).StructFunc(func(g *jen.Group) {
for _, field := range st.Fields { for _, field := range st.Fields {
var t jen.Code g.Id(field.Name).Id(field.Type).Tag(map[string]string{
if field.Type == "time.Time" { "json": field.OrigName,
t = jen.Qual("time", "Time")
} else {
t = jen.Id(field.Type)
}
g.Id(field.Name).Add(t).Tag(map[string]string{
"json": field.OrigName + ",omitempty",
"url": field.OrigName + ",omitempty", "url": field.OrigName + ",omitempty",
}) })
} }

View File

@ -218,7 +218,7 @@ func TransformTypeGo(t string) string {
case "i8": case "i8":
t = "int8" t = "int8"
case "chrono::NaiveDateTime": case "chrono::NaiveDateTime":
return "time.Time" return "LemmyTime"
case "Value": case "Value":
return "any" return "any"
} }

View File

@ -1,20 +1,18 @@
package types package types
import "time"
type Activity struct { type Activity struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
Data any `json:"data,omitempty" url:"data,omitempty"` Data any `json:"data" url:"data,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID string `json:"ap_id" url:"ap_id,omitempty"`
Sensitive Optional[bool] `json:"sensitive,omitempty" url:"sensitive,omitempty"` Sensitive Optional[bool] `json:"sensitive" url:"sensitive,omitempty"`
} }
type ActivityForm struct { type ActivityForm struct {
Data any `json:"data,omitempty" url:"data,omitempty"` Data any `json:"data" url:"data,omitempty"`
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"` Local Optional[bool] `json:"local" url:"local,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID string `json:"ap_id" url:"ap_id,omitempty"`
Sensitive bool `json:"sensitive,omitempty" url:"sensitive,omitempty"` Sensitive bool `json:"sensitive" url:"sensitive,omitempty"`
} }

View File

@ -1,69 +1,67 @@
package types package types
import "time"
type Comment struct { type Comment struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"` ParentID Optional[int] `json:"parent_id" url:"parent_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID string `json:"ap_id" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
} }
type CommentAlias1 struct { type CommentAlias1 struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"` ParentID Optional[int] `json:"parent_id" url:"parent_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID string `json:"ap_id" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
} }
type CommentForm struct { type CommentForm struct {
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"` ParentID Optional[int] `json:"parent_id" url:"parent_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
Read Optional[bool] `json:"read,omitempty" url:"read,omitempty"` Read Optional[bool] `json:"read" url:"read,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
ApID Optional[string] `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"` Local Optional[bool] `json:"local" url:"local,omitempty"`
} }
type CommentLike struct { type CommentLike struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Score int16 `json:"score,omitempty" url:"score,omitempty"` Score int16 `json:"score" url:"score,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type CommentLikeForm struct { type CommentLikeForm struct {
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Score int16 `json:"score,omitempty" url:"score,omitempty"` Score int16 `json:"score" url:"score,omitempty"`
} }
type CommentSaved struct { type CommentSaved struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type CommentSavedForm struct { type CommentSavedForm struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
} }

View File

@ -1,90 +1,90 @@
package types package types
type CreateComment struct { type CreateComment struct {
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
ParentID Optional[int] `json:"parent_id,omitempty" url:"parent_id,omitempty"` ParentID Optional[int] `json:"parent_id" url:"parent_id,omitempty"`
FormID Optional[string] `json:"form_id,omitempty" url:"form_id,omitempty"` FormID Optional[string] `json:"form_id" url:"form_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetComment struct { type GetComment struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type EditComment struct { type EditComment struct {
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
FormID Optional[string] `json:"form_id,omitempty" url:"form_id,omitempty"` FormID Optional[string] `json:"form_id" url:"form_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type DeleteComment struct { type DeleteComment struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type RemoveComment struct { type RemoveComment struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type MarkCommentAsRead struct { type MarkCommentAsRead struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type SaveComment struct { type SaveComment struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Save bool `json:"save,omitempty" url:"save,omitempty"` Save bool `json:"save" url:"save,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type CommentResponse struct { type CommentResponse struct {
CommentView CommentView `json:"comment_view,omitempty" url:"comment_view,omitempty"` CommentView CommentView `json:"comment_view" url:"comment_view,omitempty"`
RecipientIds []int `json:"recipient_ids,omitempty" url:"recipient_ids,omitempty"` RecipientIds []int `json:"recipient_ids" url:"recipient_ids,omitempty"`
FormID Optional[string] `json:"form_id,omitempty" url:"form_id,omitempty"` FormID Optional[string] `json:"form_id" url:"form_id,omitempty"`
LemmyResponse LemmyResponse
} }
type CreateCommentLike struct { type CreateCommentLike struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Score int16 `json:"score,omitempty" url:"score,omitempty"` Score int16 `json:"score" url:"score,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetComments struct { type GetComments struct {
Type Optional[ListingType] `json:"type_,omitempty" url:"type_,omitempty"` Type Optional[ListingType] `json:"type_" url:"type_,omitempty"`
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
CommunityName Optional[string] `json:"community_name,omitempty" url:"community_name,omitempty"` CommunityName Optional[string] `json:"community_name" url:"community_name,omitempty"`
SavedOnly Optional[bool] `json:"saved_only,omitempty" url:"saved_only,omitempty"` SavedOnly Optional[bool] `json:"saved_only" url:"saved_only,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type GetCommentsResponse struct { type GetCommentsResponse struct {
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"` Comments []CommentView `json:"comments" url:"comments,omitempty"`
LemmyResponse LemmyResponse
} }
type CreateCommentReport struct { type CreateCommentReport struct {
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"` Reason string `json:"reason" url:"reason,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type CommentReportResponse struct { type CommentReportResponse struct {
CommentReportView CommentReportView `json:"comment_report_view,omitempty" url:"comment_report_view,omitempty"` CommentReportView CommentReportView `json:"comment_report_view" url:"comment_report_view,omitempty"`
LemmyResponse LemmyResponse
} }
type ResolveCommentReport struct { type ResolveCommentReport struct {
ReportID int `json:"report_id,omitempty" url:"report_id,omitempty"` ReportID int `json:"report_id" url:"report_id,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"` Resolved bool `json:"resolved" url:"resolved,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type ListCommentReports struct { type ListCommentReports struct {
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
UnresolvedOnly Optional[bool] `json:"unresolved_only,omitempty" url:"unresolved_only,omitempty"` UnresolvedOnly Optional[bool] `json:"unresolved_only" url:"unresolved_only,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type ListCommentReportsResponse struct { type ListCommentReportsResponse struct {
CommentReports []CommentReportView `json:"comment_reports,omitempty" url:"comment_reports,omitempty"` CommentReports []CommentReportView `json:"comment_reports" url:"comment_reports,omitempty"`
LemmyResponse LemmyResponse
} }

View File

@ -1,21 +1,19 @@
package types package types
import "time"
type CommentReport struct { type CommentReport struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
OriginalCommentText string `json:"original_comment_text,omitempty" url:"original_comment_text,omitempty"` OriginalCommentText string `json:"original_comment_text" url:"original_comment_text,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"` Reason string `json:"reason" url:"reason,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"` Resolved bool `json:"resolved" url:"resolved,omitempty"`
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"` ResolverID Optional[int] `json:"resolver_id" url:"resolver_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
} }
type CommentReportForm struct { type CommentReportForm struct {
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
OriginalCommentText string `json:"original_comment_text,omitempty" url:"original_comment_text,omitempty"` OriginalCommentText string `json:"original_comment_text" url:"original_comment_text,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"` Reason string `json:"reason" url:"reason,omitempty"`
} }

View File

@ -1,100 +1,98 @@
package types package types
import "time"
type Community struct { type Community struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Title string `json:"title,omitempty" url:"title,omitempty"` Title string `json:"title" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW bool `json:"nsfw" url:"nsfw,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey string `json:"public_key" url:"public_key,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
FollowersURL string `json:"followers_url,omitempty" url:"followers_url,omitempty"` FollowersURL string `json:"followers_url" url:"followers_url,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"` Hidden bool `json:"hidden" url:"hidden,omitempty"`
PostingRestrictedToMods bool `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"` PostingRestrictedToMods bool `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
} }
type CommunitySafe struct { type CommunitySafe struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Title string `json:"title,omitempty" url:"title,omitempty"` Title string `json:"title" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW bool `json:"nsfw" url:"nsfw,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"` Hidden bool `json:"hidden" url:"hidden,omitempty"`
PostingRestrictedToMods bool `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"` PostingRestrictedToMods bool `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
} }
type CommunityForm struct { type CommunityForm struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Title string `json:"title,omitempty" url:"title,omitempty"` Title string `json:"title" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
ActorID Optional[string] `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"` Local Optional[bool] `json:"local" url:"local,omitempty"`
PrivateKey Optional[Optional[string]] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[Optional[string]] `json:"private_key" url:"private_key,omitempty"`
PublicKey Optional[string] `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
Icon Optional[Optional[string]] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[Optional[string]] `json:"icon" url:"icon,omitempty"`
Banner Optional[Optional[string]] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[Optional[string]] `json:"banner" url:"banner,omitempty"`
FollowersURL Optional[string] `json:"followers_url,omitempty" url:"followers_url,omitempty"` FollowersURL Optional[string] `json:"followers_url" url:"followers_url,omitempty"`
InboxURL Optional[string] `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"` Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"` PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
} }
type CommunityModerator struct { type CommunityModerator struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type CommunityModeratorForm struct { type CommunityModeratorForm struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
} }
type CommunityPersonBan struct { type CommunityPersonBan struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
} }
type CommunityPersonBanForm struct { type CommunityPersonBanForm struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
} }
type CommunityFollower struct { type CommunityFollower struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Pending Optional[bool] `json:"pending,omitempty" url:"pending,omitempty"` Pending Optional[bool] `json:"pending" url:"pending,omitempty"`
} }
type CommunityFollowerForm struct { type CommunityFollowerForm struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Pending bool `json:"pending,omitempty" url:"pending,omitempty"` Pending bool `json:"pending" url:"pending,omitempty"`
} }

View File

@ -1,111 +1,111 @@
package types package types
type GetCommunity struct { type GetCommunity struct {
ID Optional[int] `json:"id,omitempty" url:"id,omitempty"` ID Optional[int] `json:"id" url:"id,omitempty"`
Name Optional[string] `json:"name,omitempty" url:"name,omitempty"` Name Optional[string] `json:"name" url:"name,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type GetCommunityResponse struct { type GetCommunityResponse struct {
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"` CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
Site Optional[Site] `json:"site,omitempty" url:"site,omitempty"` Site Optional[Site] `json:"site" url:"site,omitempty"`
Moderators []CommunityModeratorView `json:"moderators,omitempty" url:"moderators,omitempty"` Moderators []CommunityModeratorView `json:"moderators" url:"moderators,omitempty"`
Online uint `json:"online,omitempty" url:"online,omitempty"` Online uint `json:"online" url:"online,omitempty"`
LemmyResponse LemmyResponse
} }
type CreateCommunity struct { type CreateCommunity struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Title string `json:"title,omitempty" url:"title,omitempty"` Title string `json:"title" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"` PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type CommunityResponse struct { type CommunityResponse struct {
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"` CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
LemmyResponse LemmyResponse
} }
type ListCommunities struct { type ListCommunities struct {
Type Optional[ListingType] `json:"type_,omitempty" url:"type_,omitempty"` Type Optional[ListingType] `json:"type_" url:"type_,omitempty"`
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type ListCommunitiesResponse struct { type ListCommunitiesResponse struct {
Communities []CommunityView `json:"communities,omitempty" url:"communities,omitempty"` Communities []CommunityView `json:"communities" url:"communities,omitempty"`
LemmyResponse LemmyResponse
} }
type BanFromCommunity struct { type BanFromCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Ban bool `json:"ban,omitempty" url:"ban,omitempty"` Ban bool `json:"ban" url:"ban,omitempty"`
RemoveData Optional[bool] `json:"remove_data,omitempty" url:"remove_data,omitempty"` RemoveData Optional[bool] `json:"remove_data" url:"remove_data,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Expires Optional[int64] `json:"expires,omitempty" url:"expires,omitempty"` Expires Optional[int64] `json:"expires" url:"expires,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type BanFromCommunityResponse struct { type BanFromCommunityResponse struct {
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"` PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
LemmyResponse LemmyResponse
} }
type AddModToCommunity struct { type AddModToCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Added bool `json:"added,omitempty" url:"added,omitempty"` Added bool `json:"added" url:"added,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type AddModToCommunityResponse struct { type AddModToCommunityResponse struct {
Moderators []CommunityModeratorView `json:"moderators,omitempty" url:"moderators,omitempty"` Moderators []CommunityModeratorView `json:"moderators" url:"moderators,omitempty"`
LemmyResponse LemmyResponse
} }
type EditCommunity struct { type EditCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Title Optional[string] `json:"title,omitempty" url:"title,omitempty"` Title Optional[string] `json:"title" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods,omitempty" url:"posting_restricted_to_mods,omitempty"` PostingRestrictedToMods Optional[bool] `json:"posting_restricted_to_mods" url:"posting_restricted_to_mods,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type HideCommunity struct { type HideCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Hidden bool `json:"hidden,omitempty" url:"hidden,omitempty"` Hidden bool `json:"hidden" url:"hidden,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type DeleteCommunity struct { type DeleteCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type RemoveCommunity struct { type RemoveCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Expires Optional[int64] `json:"expires,omitempty" url:"expires,omitempty"` Expires Optional[int64] `json:"expires" url:"expires,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type FollowCommunity struct { type FollowCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Follow bool `json:"follow,omitempty" url:"follow,omitempty"` Follow bool `json:"follow" url:"follow,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type BlockCommunity struct { type BlockCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Block bool `json:"block,omitempty" url:"block,omitempty"` Block bool `json:"block" url:"block,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type BlockCommunityResponse struct { type BlockCommunityResponse struct {
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"` CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
Blocked bool `json:"blocked,omitempty" url:"blocked,omitempty"` Blocked bool `json:"blocked" url:"blocked,omitempty"`
LemmyResponse LemmyResponse
} }
type TransferCommunity struct { type TransferCommunity struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }

View File

@ -1,14 +1,12 @@
package types package types
import "time"
type CommunityBlock struct { type CommunityBlock struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type CommunityBlockForm struct { type CommunityBlockForm struct {
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
} }

View File

@ -1,16 +1,14 @@
package types package types
import "time"
type EmailVerification struct { type EmailVerification struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"` LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
Email string `json:"email,omitempty" url:"email,omitempty"` Email string `json:"email" url:"email,omitempty"`
VerificationCode string `json:"verification_code,omitempty" url:"verification_code,omitempty"` VerificationCode string `json:"verification_code" url:"verification_code,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type EmailVerificationForm struct { type EmailVerificationForm struct {
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"` LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
Email string `json:"email,omitempty" url:"email,omitempty"` Email string `json:"email" url:"email,omitempty"`
VerificationToken string `json:"verification_token,omitempty" url:"verification_token,omitempty"` VerificationToken string `json:"verification_token" url:"verification_token,omitempty"`
} }

View File

@ -1,61 +1,59 @@
package types package types
import "time"
type LocalUser struct { type LocalUser struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
PasswordEncrypted string `json:"password_encrypted,omitempty" url:"password_encrypted,omitempty"` PasswordEncrypted string `json:"password_encrypted" url:"password_encrypted,omitempty"`
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"` Email Optional[string] `json:"email" url:"email,omitempty"`
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"` ShowNSFW bool `json:"show_nsfw" url:"show_nsfw,omitempty"`
Theme string `json:"theme,omitempty" url:"theme,omitempty"` Theme string `json:"theme" url:"theme,omitempty"`
DefaultSortType int16 `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"` DefaultSortType int16 `json:"default_sort_type" url:"default_sort_type,omitempty"`
DefaultListingType int16 `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"` DefaultListingType int16 `json:"default_listing_type" url:"default_listing_type,omitempty"`
Lang string `json:"lang,omitempty" url:"lang,omitempty"` Lang string `json:"lang" url:"lang,omitempty"`
ShowAvatars bool `json:"show_avatars,omitempty" url:"show_avatars,omitempty"` ShowAvatars bool `json:"show_avatars" url:"show_avatars,omitempty"`
SendNotificationsToEmail bool `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"` SendNotificationsToEmail bool `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
ValidatorTime time.Time `json:"validator_time,omitempty" url:"validator_time,omitempty"` ValidatorTime LemmyTime `json:"validator_time" url:"validator_time,omitempty"`
ShowBotAccounts bool `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"` ShowBotAccounts bool `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
ShowScores bool `json:"show_scores,omitempty" url:"show_scores,omitempty"` ShowScores bool `json:"show_scores" url:"show_scores,omitempty"`
ShowReadPosts bool `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"` ShowReadPosts bool `json:"show_read_posts" url:"show_read_posts,omitempty"`
ShowNewPostNotifs bool `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"` ShowNewPostNotifs bool `json:"show_new_post_notifs" url:"show_new_post_notifs,omitempty"`
EmailVerified bool `json:"email_verified,omitempty" url:"email_verified,omitempty"` EmailVerified bool `json:"email_verified" url:"email_verified,omitempty"`
AcceptedApplication bool `json:"accepted_application,omitempty" url:"accepted_application,omitempty"` AcceptedApplication bool `json:"accepted_application" url:"accepted_application,omitempty"`
} }
type LocalUserForm struct { type LocalUserForm struct {
PersonID Optional[int] `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID Optional[int] `json:"person_id" url:"person_id,omitempty"`
PasswordEncrypted Optional[string] `json:"password_encrypted,omitempty" url:"password_encrypted,omitempty"` PasswordEncrypted Optional[string] `json:"password_encrypted" url:"password_encrypted,omitempty"`
Email Optional[Optional[string]] `json:"email,omitempty" url:"email,omitempty"` Email Optional[Optional[string]] `json:"email" url:"email,omitempty"`
ShowNSFW Optional[bool] `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"` ShowNSFW Optional[bool] `json:"show_nsfw" url:"show_nsfw,omitempty"`
Theme Optional[string] `json:"theme,omitempty" url:"theme,omitempty"` Theme Optional[string] `json:"theme" url:"theme,omitempty"`
DefaultSortType Optional[int16] `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"` DefaultSortType Optional[int16] `json:"default_sort_type" url:"default_sort_type,omitempty"`
DefaultListingType Optional[int16] `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"` DefaultListingType Optional[int16] `json:"default_listing_type" url:"default_listing_type,omitempty"`
Lang Optional[string] `json:"lang,omitempty" url:"lang,omitempty"` Lang Optional[string] `json:"lang" url:"lang,omitempty"`
ShowAvatars Optional[bool] `json:"show_avatars,omitempty" url:"show_avatars,omitempty"` ShowAvatars Optional[bool] `json:"show_avatars" url:"show_avatars,omitempty"`
SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"` SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
ShowBotAccounts Optional[bool] `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"` ShowBotAccounts Optional[bool] `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
ShowScores Optional[bool] `json:"show_scores,omitempty" url:"show_scores,omitempty"` ShowScores Optional[bool] `json:"show_scores" url:"show_scores,omitempty"`
ShowReadPosts Optional[bool] `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"` ShowReadPosts Optional[bool] `json:"show_read_posts" url:"show_read_posts,omitempty"`
ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"` ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs" url:"show_new_post_notifs,omitempty"`
EmailVerified Optional[bool] `json:"email_verified,omitempty" url:"email_verified,omitempty"` EmailVerified Optional[bool] `json:"email_verified" url:"email_verified,omitempty"`
AcceptedApplication Optional[bool] `json:"accepted_application,omitempty" url:"accepted_application,omitempty"` AcceptedApplication Optional[bool] `json:"accepted_application" url:"accepted_application,omitempty"`
} }
type LocalUserSettings struct { type LocalUserSettings struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"` Email Optional[string] `json:"email" url:"email,omitempty"`
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"` ShowNSFW bool `json:"show_nsfw" url:"show_nsfw,omitempty"`
Theme string `json:"theme,omitempty" url:"theme,omitempty"` Theme string `json:"theme" url:"theme,omitempty"`
DefaultSortType int16 `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"` DefaultSortType int16 `json:"default_sort_type" url:"default_sort_type,omitempty"`
DefaultListingType int16 `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"` DefaultListingType int16 `json:"default_listing_type" url:"default_listing_type,omitempty"`
Lang string `json:"lang,omitempty" url:"lang,omitempty"` Lang string `json:"lang" url:"lang,omitempty"`
ShowAvatars bool `json:"show_avatars,omitempty" url:"show_avatars,omitempty"` ShowAvatars bool `json:"show_avatars" url:"show_avatars,omitempty"`
SendNotificationsToEmail bool `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"` SendNotificationsToEmail bool `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
ValidatorTime time.Time `json:"validator_time,omitempty" url:"validator_time,omitempty"` ValidatorTime LemmyTime `json:"validator_time" url:"validator_time,omitempty"`
ShowBotAccounts bool `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"` ShowBotAccounts bool `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
ShowScores bool `json:"show_scores,omitempty" url:"show_scores,omitempty"` ShowScores bool `json:"show_scores" url:"show_scores,omitempty"`
ShowReadPosts bool `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"` ShowReadPosts bool `json:"show_read_posts" url:"show_read_posts,omitempty"`
ShowNewPostNotifs bool `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"` ShowNewPostNotifs bool `json:"show_new_post_notifs" url:"show_new_post_notifs,omitempty"`
EmailVerified bool `json:"email_verified,omitempty" url:"email_verified,omitempty"` EmailVerified bool `json:"email_verified" url:"email_verified,omitempty"`
AcceptedApplication bool `json:"accepted_application,omitempty" url:"accepted_application,omitempty"` AcceptedApplication bool `json:"accepted_application" url:"accepted_application,omitempty"`
} }

View File

@ -1,160 +1,158 @@
package types package types
import "time"
type ModRemovePost struct { type ModRemovePost struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModRemovePostForm struct { type ModRemovePostForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
} }
type ModLockPost struct { type ModLockPost struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"` Locked Optional[bool] `json:"locked" url:"locked,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModLockPostForm struct { type ModLockPostForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"` Locked Optional[bool] `json:"locked" url:"locked,omitempty"`
} }
type ModStickyPost struct { type ModStickyPost struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"` Stickied Optional[bool] `json:"stickied" url:"stickied,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModStickyPostForm struct { type ModStickyPostForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"` Stickied Optional[bool] `json:"stickied" url:"stickied,omitempty"`
} }
type ModRemoveComment struct { type ModRemoveComment struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModRemoveCommentForm struct { type ModRemoveCommentForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
} }
type ModRemoveCommunity struct { type ModRemoveCommunity struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModRemoveCommunityForm struct { type ModRemoveCommunityForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
} }
type ModBanFromCommunity struct { type ModBanFromCommunity struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"` Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModBanFromCommunityForm struct { type ModBanFromCommunityForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"` Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
} }
type ModBan struct { type ModBan struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"` Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModHideCommunityForm struct { type ModHideCommunityForm struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"` Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
} }
type ModHideCommunity struct { type ModHideCommunity struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Hidden Optional[bool] `json:"hidden,omitempty" url:"hidden,omitempty"` Hidden Optional[bool] `json:"hidden" url:"hidden,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModBanForm struct { type ModBanForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"` Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
Expires time.Time `json:"expires,omitempty" url:"expires,omitempty"` Expires LemmyTime `json:"expires" url:"expires,omitempty"`
} }
type ModAddCommunity struct { type ModAddCommunity struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModAddCommunityForm struct { type ModAddCommunityForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
} }
type ModTransferCommunity struct { type ModTransferCommunity struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModTransferCommunityForm struct { type ModTransferCommunityForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
} }
type ModAdd struct { type ModAdd struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
When time.Time `json:"when_,omitempty" url:"when_,omitempty"` When LemmyTime `json:"when_" url:"when_,omitempty"`
} }
type ModAddForm struct { type ModAddForm struct {
ModPersonID int `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID int `json:"mod_person_id" url:"mod_person_id,omitempty"`
OtherPersonID int `json:"other_person_id,omitempty" url:"other_person_id,omitempty"` OtherPersonID int `json:"other_person_id" url:"other_person_id,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
} }

View File

@ -1,14 +1,12 @@
package types package types
import "time"
type PasswordResetRequest struct { type PasswordResetRequest struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
TokenEncrypted string `json:"token_encrypted,omitempty" url:"token_encrypted,omitempty"` TokenEncrypted string `json:"token_encrypted" url:"token_encrypted,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"` LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
} }
type PasswordResetRequestForm struct { type PasswordResetRequestForm struct {
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"` LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
TokenEncrypted string `json:"token_encrypted,omitempty" url:"token_encrypted,omitempty"` TokenEncrypted string `json:"token_encrypted" url:"token_encrypted,omitempty"`
} }

View File

@ -1,155 +1,153 @@
package types package types
import "time"
type Person struct { type Person struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey string `json:"public_key" url:"public_key,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"` Admin bool `json:"admin" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }
type PersonSafe struct { type PersonSafe struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"` Admin bool `json:"admin" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }
type PersonAlias1 struct { type PersonAlias1 struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey string `json:"public_key" url:"public_key,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"` Admin bool `json:"admin" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }
type PersonSafeAlias1 struct { type PersonSafeAlias1 struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"` Admin bool `json:"admin" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }
type PersonAlias2 struct { type PersonAlias2 struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey string `json:"public_key" url:"public_key,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"` Admin bool `json:"admin" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }
type PersonSafeAlias2 struct { type PersonSafeAlias2 struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[string] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[string] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin bool `json:"admin,omitempty" url:"admin,omitempty"` Admin bool `json:"admin" url:"admin,omitempty"`
BotAccount bool `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount bool `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }
type PersonForm struct { type PersonForm struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
DisplayName Optional[Optional[string]] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[Optional[string]] `json:"display_name" url:"display_name,omitempty"`
Avatar Optional[Optional[string]] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[Optional[string]] `json:"avatar" url:"avatar,omitempty"`
Banned Optional[bool] `json:"banned,omitempty" url:"banned,omitempty"` Banned Optional[bool] `json:"banned" url:"banned,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ActorID Optional[string] `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
Bio Optional[Optional[string]] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[Optional[string]] `json:"bio" url:"bio,omitempty"`
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"` Local Optional[bool] `json:"local" url:"local,omitempty"`
PrivateKey Optional[Optional[string]] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[Optional[string]] `json:"private_key" url:"private_key,omitempty"`
PublicKey Optional[string] `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
Banner Optional[Optional[string]] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[Optional[string]] `json:"banner" url:"banner,omitempty"`
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
InboxURL Optional[string] `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url,omitempty" url:"shared_inbox_url,omitempty"` SharedInboxURL Optional[Optional[string]] `json:"shared_inbox_url" url:"shared_inbox_url,omitempty"`
MatrixUserID Optional[Optional[string]] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[Optional[string]] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
Admin Optional[bool] `json:"admin,omitempty" url:"admin,omitempty"` Admin Optional[bool] `json:"admin" url:"admin,omitempty"`
BotAccount Optional[bool] `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount Optional[bool] `json:"bot_account" url:"bot_account,omitempty"`
BanExpires time.Time `json:"ban_expires,omitempty" url:"ban_expires,omitempty"` BanExpires LemmyTime `json:"ban_expires" url:"ban_expires,omitempty"`
} }

View File

@ -1,227 +1,227 @@
package types package types
type Login struct { type Login struct {
UsernameOrEmail string `json:"username_or_email,omitempty" url:"username_or_email,omitempty"` UsernameOrEmail string `json:"username_or_email" url:"username_or_email,omitempty"`
Password string `json:"password,omitempty" url:"password,omitempty"` Password string `json:"password" url:"password,omitempty"`
} }
type Register struct { type Register struct {
Username string `json:"username,omitempty" url:"username,omitempty"` Username string `json:"username" url:"username,omitempty"`
Password string `json:"password,omitempty" url:"password,omitempty"` Password string `json:"password" url:"password,omitempty"`
PasswordVerify string `json:"password_verify,omitempty" url:"password_verify,omitempty"` PasswordVerify string `json:"password_verify" url:"password_verify,omitempty"`
ShowNSFW bool `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"` ShowNSFW bool `json:"show_nsfw" url:"show_nsfw,omitempty"`
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"` Email Optional[string] `json:"email" url:"email,omitempty"`
CaptchaUuid Optional[string] `json:"captcha_uuid,omitempty" url:"captcha_uuid,omitempty"` CaptchaUuid Optional[string] `json:"captcha_uuid" url:"captcha_uuid,omitempty"`
CaptchaAnswer Optional[string] `json:"captcha_answer,omitempty" url:"captcha_answer,omitempty"` CaptchaAnswer Optional[string] `json:"captcha_answer" url:"captcha_answer,omitempty"`
Honeypot Optional[string] `json:"honeypot,omitempty" url:"honeypot,omitempty"` Honeypot Optional[string] `json:"honeypot" url:"honeypot,omitempty"`
Answer Optional[string] `json:"answer,omitempty" url:"answer,omitempty"` Answer Optional[string] `json:"answer" url:"answer,omitempty"`
} }
type GetCaptcha struct{} type GetCaptcha struct{}
type GetCaptchaResponse struct { type GetCaptchaResponse struct {
Ok Optional[CaptchaResponse] `json:"ok,omitempty" url:"ok,omitempty"` Ok Optional[CaptchaResponse] `json:"ok" url:"ok,omitempty"`
LemmyResponse LemmyResponse
} }
type CaptchaResponse struct { type CaptchaResponse struct {
Png string `json:"png,omitempty" url:"png,omitempty"` Png string `json:"png" url:"png,omitempty"`
Wav string `json:"wav,omitempty" url:"wav,omitempty"` Wav string `json:"wav" url:"wav,omitempty"`
Uuid string `json:"uuid,omitempty" url:"uuid,omitempty"` Uuid string `json:"uuid" url:"uuid,omitempty"`
LemmyResponse LemmyResponse
} }
type SaveUserSettings struct { type SaveUserSettings struct {
ShowNSFW Optional[bool] `json:"show_nsfw,omitempty" url:"show_nsfw,omitempty"` ShowNSFW Optional[bool] `json:"show_nsfw" url:"show_nsfw,omitempty"`
ShowScores Optional[bool] `json:"show_scores,omitempty" url:"show_scores,omitempty"` ShowScores Optional[bool] `json:"show_scores" url:"show_scores,omitempty"`
Theme Optional[string] `json:"theme,omitempty" url:"theme,omitempty"` Theme Optional[string] `json:"theme" url:"theme,omitempty"`
DefaultSortType Optional[int16] `json:"default_sort_type,omitempty" url:"default_sort_type,omitempty"` DefaultSortType Optional[int16] `json:"default_sort_type" url:"default_sort_type,omitempty"`
DefaultListingType Optional[int16] `json:"default_listing_type,omitempty" url:"default_listing_type,omitempty"` DefaultListingType Optional[int16] `json:"default_listing_type" url:"default_listing_type,omitempty"`
Lang Optional[string] `json:"lang,omitempty" url:"lang,omitempty"` Lang Optional[string] `json:"lang" url:"lang,omitempty"`
Avatar Optional[string] `json:"avatar,omitempty" url:"avatar,omitempty"` Avatar Optional[string] `json:"avatar" url:"avatar,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
DisplayName Optional[string] `json:"display_name,omitempty" url:"display_name,omitempty"` DisplayName Optional[string] `json:"display_name" url:"display_name,omitempty"`
Email Optional[string] `json:"email,omitempty" url:"email,omitempty"` Email Optional[string] `json:"email" url:"email,omitempty"`
Bio Optional[string] `json:"bio,omitempty" url:"bio,omitempty"` Bio Optional[string] `json:"bio" url:"bio,omitempty"`
MatrixUserID Optional[string] `json:"matrix_user_id,omitempty" url:"matrix_user_id,omitempty"` MatrixUserID Optional[string] `json:"matrix_user_id" url:"matrix_user_id,omitempty"`
ShowAvatars Optional[bool] `json:"show_avatars,omitempty" url:"show_avatars,omitempty"` ShowAvatars Optional[bool] `json:"show_avatars" url:"show_avatars,omitempty"`
SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email,omitempty" url:"send_notifications_to_email,omitempty"` SendNotificationsToEmail Optional[bool] `json:"send_notifications_to_email" url:"send_notifications_to_email,omitempty"`
BotAccount Optional[bool] `json:"bot_account,omitempty" url:"bot_account,omitempty"` BotAccount Optional[bool] `json:"bot_account" url:"bot_account,omitempty"`
ShowBotAccounts Optional[bool] `json:"show_bot_accounts,omitempty" url:"show_bot_accounts,omitempty"` ShowBotAccounts Optional[bool] `json:"show_bot_accounts" url:"show_bot_accounts,omitempty"`
ShowReadPosts Optional[bool] `json:"show_read_posts,omitempty" url:"show_read_posts,omitempty"` ShowReadPosts Optional[bool] `json:"show_read_posts" url:"show_read_posts,omitempty"`
ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs,omitempty" url:"show_new_post_notifs,omitempty"` ShowNewPostNotifs Optional[bool] `json:"show_new_post_notifs" url:"show_new_post_notifs,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type ChangePassword struct { type ChangePassword struct {
NewPassword string `json:"new_password,omitempty" url:"new_password,omitempty"` NewPassword string `json:"new_password" url:"new_password,omitempty"`
NewPasswordVerify string `json:"new_password_verify,omitempty" url:"new_password_verify,omitempty"` NewPasswordVerify string `json:"new_password_verify" url:"new_password_verify,omitempty"`
OldPassword string `json:"old_password,omitempty" url:"old_password,omitempty"` OldPassword string `json:"old_password" url:"old_password,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type LoginResponse struct { type LoginResponse struct {
Jwt Optional[string] `json:"jwt,omitempty" url:"jwt,omitempty"` Jwt Optional[string] `json:"jwt" url:"jwt,omitempty"`
RegistrationCreated bool `json:"registration_created,omitempty" url:"registration_created,omitempty"` RegistrationCreated bool `json:"registration_created" url:"registration_created,omitempty"`
VerifyEmailSent bool `json:"verify_email_sent,omitempty" url:"verify_email_sent,omitempty"` VerifyEmailSent bool `json:"verify_email_sent" url:"verify_email_sent,omitempty"`
LemmyResponse LemmyResponse
} }
type GetPersonDetails struct { type GetPersonDetails struct {
PersonID Optional[int] `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID Optional[int] `json:"person_id" url:"person_id,omitempty"`
Username Optional[string] `json:"username,omitempty" url:"username,omitempty"` Username Optional[string] `json:"username" url:"username,omitempty"`
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
SavedOnly Optional[bool] `json:"saved_only,omitempty" url:"saved_only,omitempty"` SavedOnly Optional[bool] `json:"saved_only" url:"saved_only,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type GetPersonDetailsResponse struct { type GetPersonDetailsResponse struct {
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"` PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"` Comments []CommentView `json:"comments" url:"comments,omitempty"`
Posts []PostView `json:"posts,omitempty" url:"posts,omitempty"` Posts []PostView `json:"posts" url:"posts,omitempty"`
Moderates []CommunityModeratorView `json:"moderates,omitempty" url:"moderates,omitempty"` Moderates []CommunityModeratorView `json:"moderates" url:"moderates,omitempty"`
LemmyResponse LemmyResponse
} }
type GetRepliesResponse struct { type GetRepliesResponse struct {
Replies []CommentView `json:"replies,omitempty" url:"replies,omitempty"` Replies []CommentView `json:"replies" url:"replies,omitempty"`
LemmyResponse LemmyResponse
} }
type GetPersonMentionsResponse struct { type GetPersonMentionsResponse struct {
Mentions []PersonMentionView `json:"mentions,omitempty" url:"mentions,omitempty"` Mentions []PersonMentionView `json:"mentions" url:"mentions,omitempty"`
LemmyResponse LemmyResponse
} }
type MarkAllAsRead struct { type MarkAllAsRead struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type AddAdmin struct { type AddAdmin struct {
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Added bool `json:"added,omitempty" url:"added,omitempty"` Added bool `json:"added" url:"added,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type AddAdminResponse struct { type AddAdminResponse struct {
Admins []PersonViewSafe `json:"admins,omitempty" url:"admins,omitempty"` Admins []PersonViewSafe `json:"admins" url:"admins,omitempty"`
LemmyResponse LemmyResponse
} }
type BanPerson struct { type BanPerson struct {
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Ban bool `json:"ban,omitempty" url:"ban,omitempty"` Ban bool `json:"ban" url:"ban,omitempty"`
RemoveData Optional[bool] `json:"remove_data,omitempty" url:"remove_data,omitempty"` RemoveData Optional[bool] `json:"remove_data" url:"remove_data,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Expires Optional[int64] `json:"expires,omitempty" url:"expires,omitempty"` Expires Optional[int64] `json:"expires" url:"expires,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetBannedPersons struct { type GetBannedPersons struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type BannedPersonsResponse struct { type BannedPersonsResponse struct {
Banned []PersonViewSafe `json:"banned,omitempty" url:"banned,omitempty"` Banned []PersonViewSafe `json:"banned" url:"banned,omitempty"`
LemmyResponse LemmyResponse
} }
type BanPersonResponse struct { type BanPersonResponse struct {
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"` PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
Banned bool `json:"banned,omitempty" url:"banned,omitempty"` Banned bool `json:"banned" url:"banned,omitempty"`
LemmyResponse LemmyResponse
} }
type BlockPerson struct { type BlockPerson struct {
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Block bool `json:"block,omitempty" url:"block,omitempty"` Block bool `json:"block" url:"block,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type BlockPersonResponse struct { type BlockPersonResponse struct {
PersonView PersonViewSafe `json:"person_view,omitempty" url:"person_view,omitempty"` PersonView PersonViewSafe `json:"person_view" url:"person_view,omitempty"`
Blocked bool `json:"blocked,omitempty" url:"blocked,omitempty"` Blocked bool `json:"blocked" url:"blocked,omitempty"`
LemmyResponse LemmyResponse
} }
type GetReplies struct { type GetReplies struct {
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"` UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetPersonMentions struct { type GetPersonMentions struct {
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"` UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type MarkPersonMentionAsRead struct { type MarkPersonMentionAsRead struct {
PersonMentionID int `json:"person_mention_id,omitempty" url:"person_mention_id,omitempty"` PersonMentionID int `json:"person_mention_id" url:"person_mention_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type PersonMentionResponse struct { type PersonMentionResponse struct {
PersonMentionView PersonMentionView `json:"person_mention_view,omitempty" url:"person_mention_view,omitempty"` PersonMentionView PersonMentionView `json:"person_mention_view" url:"person_mention_view,omitempty"`
LemmyResponse LemmyResponse
} }
type DeleteAccount struct { type DeleteAccount struct {
Password string `json:"password,omitempty" url:"password,omitempty"` Password string `json:"password" url:"password,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type DeleteAccountResponse struct { type DeleteAccountResponse struct {
LemmyResponse LemmyResponse
} }
type PasswordReset struct { type PasswordReset struct {
Email string `json:"email,omitempty" url:"email,omitempty"` Email string `json:"email" url:"email,omitempty"`
} }
type PasswordResetResponse struct { type PasswordResetResponse struct {
LemmyResponse LemmyResponse
} }
type PasswordChangeAfterReset struct { type PasswordChangeAfterReset struct {
Token string `json:"token,omitempty" url:"token,omitempty"` Token string `json:"token" url:"token,omitempty"`
Password string `json:"password,omitempty" url:"password,omitempty"` Password string `json:"password" url:"password,omitempty"`
PasswordVerify string `json:"password_verify,omitempty" url:"password_verify,omitempty"` PasswordVerify string `json:"password_verify" url:"password_verify,omitempty"`
} }
type CreatePrivateMessage struct { type CreatePrivateMessage struct {
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"` RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type EditPrivateMessage struct { type EditPrivateMessage struct {
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"` PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type DeletePrivateMessage struct { type DeletePrivateMessage struct {
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"` PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type MarkPrivateMessageAsRead struct { type MarkPrivateMessageAsRead struct {
PrivateMessageID int `json:"private_message_id,omitempty" url:"private_message_id,omitempty"` PrivateMessageID int `json:"private_message_id" url:"private_message_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetPrivateMessages struct { type GetPrivateMessages struct {
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"` UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type PrivateMessagesResponse struct { type PrivateMessagesResponse struct {
PrivateMessages []PrivateMessageView `json:"private_messages,omitempty" url:"private_messages,omitempty"` PrivateMessages []PrivateMessageView `json:"private_messages" url:"private_messages,omitempty"`
LemmyResponse LemmyResponse
} }
type PrivateMessageResponse struct { type PrivateMessageResponse struct {
PrivateMessageView PrivateMessageView `json:"private_message_view,omitempty" url:"private_message_view,omitempty"` PrivateMessageView PrivateMessageView `json:"private_message_view" url:"private_message_view,omitempty"`
LemmyResponse LemmyResponse
} }
type GetReportCount struct { type GetReportCount struct {
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetReportCountResponse struct { type GetReportCountResponse struct {
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
CommentReports int64 `json:"comment_reports,omitempty" url:"comment_reports,omitempty"` CommentReports int64 `json:"comment_reports" url:"comment_reports,omitempty"`
PostReports int64 `json:"post_reports,omitempty" url:"post_reports,omitempty"` PostReports int64 `json:"post_reports" url:"post_reports,omitempty"`
LemmyResponse LemmyResponse
} }
type GetUnreadCount struct { type GetUnreadCount struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetUnreadCountResponse struct { type GetUnreadCountResponse struct {
Replies int64 `json:"replies,omitempty" url:"replies,omitempty"` Replies int64 `json:"replies" url:"replies,omitempty"`
Mentions int64 `json:"mentions,omitempty" url:"mentions,omitempty"` Mentions int64 `json:"mentions" url:"mentions,omitempty"`
PrivateMessages int64 `json:"private_messages,omitempty" url:"private_messages,omitempty"` PrivateMessages int64 `json:"private_messages" url:"private_messages,omitempty"`
LemmyResponse LemmyResponse
} }
type VerifyEmail struct { type VerifyEmail struct {
Token string `json:"token,omitempty" url:"token,omitempty"` Token string `json:"token" url:"token,omitempty"`
} }
type VerifyEmailResponse struct { type VerifyEmailResponse struct {
LemmyResponse LemmyResponse

View File

@ -1,14 +1,12 @@
package types package types
import "time"
type PersonBlock struct { type PersonBlock struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
TargetID int `json:"target_id,omitempty" url:"target_id,omitempty"` TargetID int `json:"target_id" url:"target_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type PersonBlockForm struct { type PersonBlockForm struct {
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
TargetID int `json:"target_id,omitempty" url:"target_id,omitempty"` TargetID int `json:"target_id" url:"target_id,omitempty"`
} }

View File

@ -1,16 +1,14 @@
package types package types
import "time"
type PersonMention struct { type PersonMention struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"` RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type PersonMentionForm struct { type PersonMentionForm struct {
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"` RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Read Optional[bool] `json:"read,omitempty" url:"read,omitempty"` Read Optional[bool] `json:"read" url:"read,omitempty"`
} }

View File

@ -1,77 +1,75 @@
package types package types
import "time"
type Post struct { type Post struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"` URL Optional[string] `json:"url" url:"url,omitempty"`
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"` Body Optional[string] `json:"body" url:"body,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Locked bool `json:"locked,omitempty" url:"locked,omitempty"` Locked bool `json:"locked" url:"locked,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
NSFW bool `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW bool `json:"nsfw" url:"nsfw,omitempty"`
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"` Stickied bool `json:"stickied" url:"stickied,omitempty"`
EmbedTitle Optional[string] `json:"embed_title,omitempty" url:"embed_title,omitempty"` EmbedTitle Optional[string] `json:"embed_title" url:"embed_title,omitempty"`
EmbedDescription Optional[string] `json:"embed_description,omitempty" url:"embed_description,omitempty"` EmbedDescription Optional[string] `json:"embed_description" url:"embed_description,omitempty"`
EmbedHtml Optional[string] `json:"embed_html,omitempty" url:"embed_html,omitempty"` EmbedHtml Optional[string] `json:"embed_html" url:"embed_html,omitempty"`
ThumbnailURL Optional[string] `json:"thumbnail_url,omitempty" url:"thumbnail_url,omitempty"` ThumbnailURL Optional[string] `json:"thumbnail_url" url:"thumbnail_url,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID string `json:"ap_id" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
} }
type PostForm struct { type PostForm struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"` URL Optional[string] `json:"url" url:"url,omitempty"`
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"` Body Optional[string] `json:"body" url:"body,omitempty"`
Removed Optional[bool] `json:"removed,omitempty" url:"removed,omitempty"` Removed Optional[bool] `json:"removed" url:"removed,omitempty"`
Locked Optional[bool] `json:"locked,omitempty" url:"locked,omitempty"` Locked Optional[bool] `json:"locked" url:"locked,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
Stickied Optional[bool] `json:"stickied,omitempty" url:"stickied,omitempty"` Stickied Optional[bool] `json:"stickied" url:"stickied,omitempty"`
EmbedTitle Optional[string] `json:"embed_title,omitempty" url:"embed_title,omitempty"` EmbedTitle Optional[string] `json:"embed_title" url:"embed_title,omitempty"`
EmbedDescription Optional[string] `json:"embed_description,omitempty" url:"embed_description,omitempty"` EmbedDescription Optional[string] `json:"embed_description" url:"embed_description,omitempty"`
EmbedHtml Optional[string] `json:"embed_html,omitempty" url:"embed_html,omitempty"` EmbedHtml Optional[string] `json:"embed_html" url:"embed_html,omitempty"`
ThumbnailURL Optional[string] `json:"thumbnail_url,omitempty" url:"thumbnail_url,omitempty"` ThumbnailURL Optional[string] `json:"thumbnail_url" url:"thumbnail_url,omitempty"`
ApID Optional[string] `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"` Local Optional[bool] `json:"local" url:"local,omitempty"`
} }
type PostLike struct { type PostLike struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Score int16 `json:"score,omitempty" url:"score,omitempty"` Score int16 `json:"score" url:"score,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type PostLikeForm struct { type PostLikeForm struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Score int16 `json:"score,omitempty" url:"score,omitempty"` Score int16 `json:"score" url:"score,omitempty"`
} }
type PostSaved struct { type PostSaved struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type PostSavedForm struct { type PostSavedForm struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
} }
type PostRead struct { type PostRead struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type PostReadForm struct { type PostReadForm struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
} }

View File

@ -1,123 +1,123 @@
package types package types
type CreatePost struct { type CreatePost struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"` URL Optional[string] `json:"url" url:"url,omitempty"`
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"` Body Optional[string] `json:"body" url:"body,omitempty"`
Honeypot Optional[string] `json:"honeypot,omitempty" url:"honeypot,omitempty"` Honeypot Optional[string] `json:"honeypot" url:"honeypot,omitempty"`
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type PostResponse struct { type PostResponse struct {
PostView PostView `json:"post_view,omitempty" url:"post_view,omitempty"` PostView PostView `json:"post_view" url:"post_view,omitempty"`
LemmyResponse LemmyResponse
} }
type GetPost struct { type GetPost struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type GetPostResponse struct { type GetPostResponse struct {
PostView PostView `json:"post_view,omitempty" url:"post_view,omitempty"` PostView PostView `json:"post_view" url:"post_view,omitempty"`
CommunityView CommunityView `json:"community_view,omitempty" url:"community_view,omitempty"` CommunityView CommunityView `json:"community_view" url:"community_view,omitempty"`
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"` Comments []CommentView `json:"comments" url:"comments,omitempty"`
Moderators []CommunityModeratorView `json:"moderators,omitempty" url:"moderators,omitempty"` Moderators []CommunityModeratorView `json:"moderators" url:"moderators,omitempty"`
Online uint `json:"online,omitempty" url:"online,omitempty"` Online uint `json:"online" url:"online,omitempty"`
LemmyResponse LemmyResponse
} }
type GetPosts struct { type GetPosts struct {
Type Optional[ListingType] `json:"type_,omitempty" url:"type_,omitempty"` Type Optional[ListingType] `json:"type_" url:"type_,omitempty"`
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
CommunityName Optional[string] `json:"community_name,omitempty" url:"community_name,omitempty"` CommunityName Optional[string] `json:"community_name" url:"community_name,omitempty"`
SavedOnly Optional[bool] `json:"saved_only,omitempty" url:"saved_only,omitempty"` SavedOnly Optional[bool] `json:"saved_only" url:"saved_only,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type GetPostsResponse struct { type GetPostsResponse struct {
Posts []PostView `json:"posts,omitempty" url:"posts,omitempty"` Posts []PostView `json:"posts" url:"posts,omitempty"`
LemmyResponse LemmyResponse
} }
type CreatePostLike struct { type CreatePostLike struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Score int16 `json:"score,omitempty" url:"score,omitempty"` Score int16 `json:"score" url:"score,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type EditPost struct { type EditPost struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Name Optional[string] `json:"name,omitempty" url:"name,omitempty"` Name Optional[string] `json:"name" url:"name,omitempty"`
URL Optional[string] `json:"url,omitempty" url:"url,omitempty"` URL Optional[string] `json:"url" url:"url,omitempty"`
Body Optional[string] `json:"body,omitempty" url:"body,omitempty"` Body Optional[string] `json:"body" url:"body,omitempty"`
NSFW Optional[bool] `json:"nsfw,omitempty" url:"nsfw,omitempty"` NSFW Optional[bool] `json:"nsfw" url:"nsfw,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type DeletePost struct { type DeletePost struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type RemovePost struct { type RemovePost struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Removed bool `json:"removed,omitempty" url:"removed,omitempty"` Removed bool `json:"removed" url:"removed,omitempty"`
Reason Optional[string] `json:"reason,omitempty" url:"reason,omitempty"` Reason Optional[string] `json:"reason" url:"reason,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type MarkPostAsRead struct { type MarkPostAsRead struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type LockPost struct { type LockPost struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Locked bool `json:"locked,omitempty" url:"locked,omitempty"` Locked bool `json:"locked" url:"locked,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type StickyPost struct { type StickyPost struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"` Stickied bool `json:"stickied" url:"stickied,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type SavePost struct { type SavePost struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Save bool `json:"save,omitempty" url:"save,omitempty"` Save bool `json:"save" url:"save,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type CreatePostReport struct { type CreatePostReport struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"` Reason string `json:"reason" url:"reason,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type PostReportResponse struct { type PostReportResponse struct {
PostReportView PostReportView `json:"post_report_view,omitempty" url:"post_report_view,omitempty"` PostReportView PostReportView `json:"post_report_view" url:"post_report_view,omitempty"`
LemmyResponse LemmyResponse
} }
type ResolvePostReport struct { type ResolvePostReport struct {
ReportID int `json:"report_id,omitempty" url:"report_id,omitempty"` ReportID int `json:"report_id" url:"report_id,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"` Resolved bool `json:"resolved" url:"resolved,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type ListPostReports struct { type ListPostReports struct {
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
UnresolvedOnly Optional[bool] `json:"unresolved_only,omitempty" url:"unresolved_only,omitempty"` UnresolvedOnly Optional[bool] `json:"unresolved_only" url:"unresolved_only,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type ListPostReportsResponse struct { type ListPostReportsResponse struct {
PostReports []PostReportView `json:"post_reports,omitempty" url:"post_reports,omitempty"` PostReports []PostReportView `json:"post_reports" url:"post_reports,omitempty"`
LemmyResponse LemmyResponse
} }
type GetSiteMetadata struct { type GetSiteMetadata struct {
URL string `json:"url,omitempty" url:"url,omitempty"` URL string `json:"url" url:"url,omitempty"`
} }
type GetSiteMetadataResponse struct { type GetSiteMetadataResponse struct {
Metadata SiteMetadata `json:"metadata,omitempty" url:"metadata,omitempty"` Metadata SiteMetadata `json:"metadata" url:"metadata,omitempty"`
LemmyResponse LemmyResponse
} }
type SiteMetadata struct { type SiteMetadata struct {
Title Optional[string] `json:"title,omitempty" url:"title,omitempty"` Title Optional[string] `json:"title" url:"title,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Image Optional[string] `json:"image,omitempty" url:"image,omitempty"` Image Optional[string] `json:"image" url:"image,omitempty"`
Html Optional[string] `json:"html,omitempty" url:"html,omitempty"` Html Optional[string] `json:"html" url:"html,omitempty"`
} }

View File

@ -1,25 +1,23 @@
package types package types
import "time"
type PostReport struct { type PostReport struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
OriginalPostName string `json:"original_post_name,omitempty" url:"original_post_name,omitempty"` OriginalPostName string `json:"original_post_name" url:"original_post_name,omitempty"`
OriginalPostURL Optional[string] `json:"original_post_url,omitempty" url:"original_post_url,omitempty"` OriginalPostURL Optional[string] `json:"original_post_url" url:"original_post_url,omitempty"`
OriginalPostBody Optional[string] `json:"original_post_body,omitempty" url:"original_post_body,omitempty"` OriginalPostBody Optional[string] `json:"original_post_body" url:"original_post_body,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"` Reason string `json:"reason" url:"reason,omitempty"`
Resolved bool `json:"resolved,omitempty" url:"resolved,omitempty"` Resolved bool `json:"resolved" url:"resolved,omitempty"`
ResolverID Optional[int] `json:"resolver_id,omitempty" url:"resolver_id,omitempty"` ResolverID Optional[int] `json:"resolver_id" url:"resolver_id,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
} }
type PostReportForm struct { type PostReportForm struct {
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
OriginalPostName string `json:"original_post_name,omitempty" url:"original_post_name,omitempty"` OriginalPostName string `json:"original_post_name" url:"original_post_name,omitempty"`
OriginalPostURL Optional[string] `json:"original_post_url,omitempty" url:"original_post_url,omitempty"` OriginalPostURL Optional[string] `json:"original_post_url" url:"original_post_url,omitempty"`
OriginalPostBody Optional[string] `json:"original_post_body,omitempty" url:"original_post_body,omitempty"` OriginalPostBody Optional[string] `json:"original_post_body" url:"original_post_body,omitempty"`
Reason string `json:"reason,omitempty" url:"reason,omitempty"` Reason string `json:"reason" url:"reason,omitempty"`
} }

View File

@ -1,27 +1,25 @@
package types package types
import "time"
type PrivateMessage struct { type PrivateMessage struct {
ID int `json:"id,omitempty" url:"id,omitempty"` ID int `json:"id" url:"id,omitempty"`
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"` RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
Deleted bool `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted bool `json:"deleted" url:"deleted,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ApID string `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID string `json:"ap_id" url:"ap_id,omitempty"`
Local bool `json:"local,omitempty" url:"local,omitempty"` Local bool `json:"local" url:"local,omitempty"`
} }
type PrivateMessageForm struct { type PrivateMessageForm struct {
CreatorID int `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID int `json:"creator_id" url:"creator_id,omitempty"`
RecipientID int `json:"recipient_id,omitempty" url:"recipient_id,omitempty"` RecipientID int `json:"recipient_id" url:"recipient_id,omitempty"`
Content string `json:"content,omitempty" url:"content,omitempty"` Content string `json:"content" url:"content,omitempty"`
Deleted Optional[bool] `json:"deleted,omitempty" url:"deleted,omitempty"` Deleted Optional[bool] `json:"deleted" url:"deleted,omitempty"`
Read Optional[bool] `json:"read,omitempty" url:"read,omitempty"` Read Optional[bool] `json:"read" url:"read,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
ApID Optional[string] `json:"ap_id,omitempty" url:"ap_id,omitempty"` ApID Optional[string] `json:"ap_id" url:"ap_id,omitempty"`
Local Optional[bool] `json:"local,omitempty" url:"local,omitempty"` Local Optional[bool] `json:"local" url:"local,omitempty"`
} }

View File

@ -1,18 +1,16 @@
package types package types
import "time"
type RegistrationApplication struct { type RegistrationApplication struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
LocalUserID int `json:"local_user_id,omitempty" url:"local_user_id,omitempty"` LocalUserID int `json:"local_user_id" url:"local_user_id,omitempty"`
Answer string `json:"answer,omitempty" url:"answer,omitempty"` Answer string `json:"answer" url:"answer,omitempty"`
AdminID Optional[int] `json:"admin_id,omitempty" url:"admin_id,omitempty"` AdminID Optional[int] `json:"admin_id" url:"admin_id,omitempty"`
DenyReason Optional[string] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"` DenyReason Optional[string] `json:"deny_reason" url:"deny_reason,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type RegistrationApplicationForm struct { type RegistrationApplicationForm struct {
LocalUserID Optional[int] `json:"local_user_id,omitempty" url:"local_user_id,omitempty"` LocalUserID Optional[int] `json:"local_user_id" url:"local_user_id,omitempty"`
Answer Optional[string] `json:"answer,omitempty" url:"answer,omitempty"` Answer Optional[string] `json:"answer" url:"answer,omitempty"`
AdminID Optional[int] `json:"admin_id,omitempty" url:"admin_id,omitempty"` AdminID Optional[int] `json:"admin_id" url:"admin_id,omitempty"`
DenyReason Optional[Optional[string]] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"` DenyReason Optional[Optional[string]] `json:"deny_reason" url:"deny_reason,omitempty"`
} }

View File

@ -1,6 +1,6 @@
package types package types
type Secret struct { type Secret struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
JwtSecret string `json:"jwt_secret,omitempty" url:"jwt_secret,omitempty"` JwtSecret string `json:"jwt_secret" url:"jwt_secret,omitempty"`
} }

View File

@ -1,54 +1,52 @@
package types package types
import "time"
type Site struct { type Site struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"` Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
EnableDownvotes bool `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"` EnableDownvotes bool `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
OpenRegistration bool `json:"open_registration,omitempty" url:"open_registration,omitempty"` OpenRegistration bool `json:"open_registration" url:"open_registration,omitempty"`
EnableNSFW bool `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"` EnableNSFW bool `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
CommunityCreationAdminOnly bool `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"` CommunityCreationAdminOnly bool `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
RequireEmailVerification bool `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"` RequireEmailVerification bool `json:"require_email_verification" url:"require_email_verification,omitempty"`
RequireApplication bool `json:"require_application,omitempty" url:"require_application,omitempty"` RequireApplication bool `json:"require_application" url:"require_application,omitempty"`
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"` ApplicationQuestion Optional[string] `json:"application_question" url:"application_question,omitempty"`
PrivateInstance bool `json:"private_instance,omitempty" url:"private_instance,omitempty"` PrivateInstance bool `json:"private_instance" url:"private_instance,omitempty"`
ActorID string `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID string `json:"actor_id" url:"actor_id,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
InboxURL string `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL string `json:"inbox_url" url:"inbox_url,omitempty"`
PrivateKey Optional[string] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[string] `json:"private_key" url:"private_key,omitempty"`
PublicKey string `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey string `json:"public_key" url:"public_key,omitempty"`
DefaultTheme string `json:"default_theme,omitempty" url:"default_theme,omitempty"` DefaultTheme string `json:"default_theme" url:"default_theme,omitempty"`
DefaultPostListingType string `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"` DefaultPostListingType string `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"` LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
} }
type SiteForm struct { type SiteForm struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Sidebar Optional[Optional[string]] `json:"sidebar,omitempty" url:"sidebar,omitempty"` Sidebar Optional[Optional[string]] `json:"sidebar" url:"sidebar,omitempty"`
Updated time.Time `json:"updated,omitempty" url:"updated,omitempty"` Updated LemmyTime `json:"updated" url:"updated,omitempty"`
EnableDownvotes Optional[bool] `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"` EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
OpenRegistration Optional[bool] `json:"open_registration,omitempty" url:"open_registration,omitempty"` OpenRegistration Optional[bool] `json:"open_registration" url:"open_registration,omitempty"`
EnableNSFW Optional[bool] `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"` EnableNSFW Optional[bool] `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
Icon Optional[Optional[string]] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[Optional[string]] `json:"icon" url:"icon,omitempty"`
Banner Optional[Optional[string]] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[Optional[string]] `json:"banner" url:"banner,omitempty"`
Description Optional[Optional[string]] `json:"description,omitempty" url:"description,omitempty"` Description Optional[Optional[string]] `json:"description" url:"description,omitempty"`
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"` CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
RequireEmailVerification Optional[bool] `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"` RequireEmailVerification Optional[bool] `json:"require_email_verification" url:"require_email_verification,omitempty"`
RequireApplication Optional[bool] `json:"require_application,omitempty" url:"require_application,omitempty"` RequireApplication Optional[bool] `json:"require_application" url:"require_application,omitempty"`
ApplicationQuestion Optional[Optional[string]] `json:"application_question,omitempty" url:"application_question,omitempty"` ApplicationQuestion Optional[Optional[string]] `json:"application_question" url:"application_question,omitempty"`
PrivateInstance Optional[bool] `json:"private_instance,omitempty" url:"private_instance,omitempty"` PrivateInstance Optional[bool] `json:"private_instance" url:"private_instance,omitempty"`
ActorID Optional[string] `json:"actor_id,omitempty" url:"actor_id,omitempty"` ActorID Optional[string] `json:"actor_id" url:"actor_id,omitempty"`
LastRefreshedAt time.Time `json:"last_refreshed_at,omitempty" url:"last_refreshed_at,omitempty"` LastRefreshedAt LemmyTime `json:"last_refreshed_at" url:"last_refreshed_at,omitempty"`
InboxURL Optional[string] `json:"inbox_url,omitempty" url:"inbox_url,omitempty"` InboxURL Optional[string] `json:"inbox_url" url:"inbox_url,omitempty"`
PrivateKey Optional[Optional[string]] `json:"private_key,omitempty" url:"private_key,omitempty"` PrivateKey Optional[Optional[string]] `json:"private_key" url:"private_key,omitempty"`
PublicKey Optional[string] `json:"public_key,omitempty" url:"public_key,omitempty"` PublicKey Optional[string] `json:"public_key" url:"public_key,omitempty"`
DefaultTheme Optional[string] `json:"default_theme,omitempty" url:"default_theme,omitempty"` DefaultTheme Optional[string] `json:"default_theme" url:"default_theme,omitempty"`
DefaultPostListingType Optional[string] `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"` DefaultPostListingType Optional[string] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"` LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
} }

View File

@ -1,160 +1,160 @@
package types package types
type Search struct { type Search struct {
Q string `json:"q,omitempty" url:"q,omitempty"` Q string `json:"q" url:"q,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
CommunityName Optional[string] `json:"community_name,omitempty" url:"community_name,omitempty"` CommunityName Optional[string] `json:"community_name" url:"community_name,omitempty"`
CreatorID Optional[int] `json:"creator_id,omitempty" url:"creator_id,omitempty"` CreatorID Optional[int] `json:"creator_id" url:"creator_id,omitempty"`
Type Optional[SearchType] `json:"type_,omitempty" url:"type_,omitempty"` Type Optional[SearchType] `json:"type_" url:"type_,omitempty"`
Sort Optional[SortType] `json:"sort,omitempty" url:"sort,omitempty"` Sort Optional[SortType] `json:"sort" url:"sort,omitempty"`
ListingType Optional[ListingType] `json:"listing_type,omitempty" url:"listing_type,omitempty"` ListingType Optional[ListingType] `json:"listing_type" url:"listing_type,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type SearchResponse struct { type SearchResponse struct {
Type string `json:"type_,omitempty" url:"type_,omitempty"` Type string `json:"type_" url:"type_,omitempty"`
Comments []CommentView `json:"comments,omitempty" url:"comments,omitempty"` Comments []CommentView `json:"comments" url:"comments,omitempty"`
Posts []PostView `json:"posts,omitempty" url:"posts,omitempty"` Posts []PostView `json:"posts" url:"posts,omitempty"`
Communities []CommunityView `json:"communities,omitempty" url:"communities,omitempty"` Communities []CommunityView `json:"communities" url:"communities,omitempty"`
Users []PersonViewSafe `json:"users,omitempty" url:"users,omitempty"` Users []PersonViewSafe `json:"users" url:"users,omitempty"`
LemmyResponse LemmyResponse
} }
type ResolveObject struct { type ResolveObject struct {
Q string `json:"q,omitempty" url:"q,omitempty"` Q string `json:"q" url:"q,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type ResolveObjectResponse struct { type ResolveObjectResponse struct {
Comment Optional[CommentView] `json:"comment,omitempty" url:"comment,omitempty"` Comment Optional[CommentView] `json:"comment" url:"comment,omitempty"`
Post Optional[PostView] `json:"post,omitempty" url:"post,omitempty"` Post Optional[PostView] `json:"post" url:"post,omitempty"`
Community Optional[CommunityView] `json:"community,omitempty" url:"community,omitempty"` Community Optional[CommunityView] `json:"community" url:"community,omitempty"`
Person Optional[PersonViewSafe] `json:"person,omitempty" url:"person,omitempty"` Person Optional[PersonViewSafe] `json:"person" url:"person,omitempty"`
LemmyResponse LemmyResponse
} }
type GetModlog struct { type GetModlog struct {
ModPersonID Optional[int] `json:"mod_person_id,omitempty" url:"mod_person_id,omitempty"` ModPersonID Optional[int] `json:"mod_person_id" url:"mod_person_id,omitempty"`
CommunityID Optional[int] `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID Optional[int] `json:"community_id" url:"community_id,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type GetModlogResponse struct { type GetModlogResponse struct {
RemovedPosts []ModRemovePostView `json:"removed_posts,omitempty" url:"removed_posts,omitempty"` RemovedPosts []ModRemovePostView `json:"removed_posts" url:"removed_posts,omitempty"`
LockedPosts []ModLockPostView `json:"locked_posts,omitempty" url:"locked_posts,omitempty"` LockedPosts []ModLockPostView `json:"locked_posts" url:"locked_posts,omitempty"`
StickiedPosts []ModStickyPostView `json:"stickied_posts,omitempty" url:"stickied_posts,omitempty"` StickiedPosts []ModStickyPostView `json:"stickied_posts" url:"stickied_posts,omitempty"`
RemovedComments []ModRemoveCommentView `json:"removed_comments,omitempty" url:"removed_comments,omitempty"` RemovedComments []ModRemoveCommentView `json:"removed_comments" url:"removed_comments,omitempty"`
RemovedCommunities []ModRemoveCommunityView `json:"removed_communities,omitempty" url:"removed_communities,omitempty"` RemovedCommunities []ModRemoveCommunityView `json:"removed_communities" url:"removed_communities,omitempty"`
BannedFromCommunity []ModBanFromCommunityView `json:"banned_from_community,omitempty" url:"banned_from_community,omitempty"` BannedFromCommunity []ModBanFromCommunityView `json:"banned_from_community" url:"banned_from_community,omitempty"`
Banned []ModBanView `json:"banned,omitempty" url:"banned,omitempty"` Banned []ModBanView `json:"banned" url:"banned,omitempty"`
AddedToCommunity []ModAddCommunityView `json:"added_to_community,omitempty" url:"added_to_community,omitempty"` AddedToCommunity []ModAddCommunityView `json:"added_to_community" url:"added_to_community,omitempty"`
TransferredToCommunity []ModTransferCommunityView `json:"transferred_to_community,omitempty" url:"transferred_to_community,omitempty"` TransferredToCommunity []ModTransferCommunityView `json:"transferred_to_community" url:"transferred_to_community,omitempty"`
Added []ModAddView `json:"added,omitempty" url:"added,omitempty"` Added []ModAddView `json:"added" url:"added,omitempty"`
HiddenCommunities []ModHideCommunityView `json:"hidden_communities,omitempty" url:"hidden_communities,omitempty"` HiddenCommunities []ModHideCommunityView `json:"hidden_communities" url:"hidden_communities,omitempty"`
LemmyResponse LemmyResponse
} }
type CreateSite struct { type CreateSite struct {
Name string `json:"name,omitempty" url:"name,omitempty"` Name string `json:"name" url:"name,omitempty"`
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"` Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
EnableDownvotes Optional[bool] `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"` EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
OpenRegistration Optional[bool] `json:"open_registration,omitempty" url:"open_registration,omitempty"` OpenRegistration Optional[bool] `json:"open_registration" url:"open_registration,omitempty"`
EnableNSFW Optional[bool] `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"` EnableNSFW Optional[bool] `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"` CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
RequireEmailVerification Optional[bool] `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"` RequireEmailVerification Optional[bool] `json:"require_email_verification" url:"require_email_verification,omitempty"`
RequireApplication Optional[bool] `json:"require_application,omitempty" url:"require_application,omitempty"` RequireApplication Optional[bool] `json:"require_application" url:"require_application,omitempty"`
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"` ApplicationQuestion Optional[string] `json:"application_question" url:"application_question,omitempty"`
PrivateInstance Optional[bool] `json:"private_instance,omitempty" url:"private_instance,omitempty"` PrivateInstance Optional[bool] `json:"private_instance" url:"private_instance,omitempty"`
DefaultTheme Optional[string] `json:"default_theme,omitempty" url:"default_theme,omitempty"` DefaultTheme Optional[string] `json:"default_theme" url:"default_theme,omitempty"`
DefaultPostListingType Optional[string] `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"` DefaultPostListingType Optional[string] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type EditSite struct { type EditSite struct {
Name Optional[string] `json:"name,omitempty" url:"name,omitempty"` Name Optional[string] `json:"name" url:"name,omitempty"`
Sidebar Optional[string] `json:"sidebar,omitempty" url:"sidebar,omitempty"` Sidebar Optional[string] `json:"sidebar" url:"sidebar,omitempty"`
Description Optional[string] `json:"description,omitempty" url:"description,omitempty"` Description Optional[string] `json:"description" url:"description,omitempty"`
Icon Optional[string] `json:"icon,omitempty" url:"icon,omitempty"` Icon Optional[string] `json:"icon" url:"icon,omitempty"`
Banner Optional[string] `json:"banner,omitempty" url:"banner,omitempty"` Banner Optional[string] `json:"banner" url:"banner,omitempty"`
EnableDownvotes Optional[bool] `json:"enable_downvotes,omitempty" url:"enable_downvotes,omitempty"` EnableDownvotes Optional[bool] `json:"enable_downvotes" url:"enable_downvotes,omitempty"`
OpenRegistration Optional[bool] `json:"open_registration,omitempty" url:"open_registration,omitempty"` OpenRegistration Optional[bool] `json:"open_registration" url:"open_registration,omitempty"`
EnableNSFW Optional[bool] `json:"enable_nsfw,omitempty" url:"enable_nsfw,omitempty"` EnableNSFW Optional[bool] `json:"enable_nsfw" url:"enable_nsfw,omitempty"`
CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only,omitempty" url:"community_creation_admin_only,omitempty"` CommunityCreationAdminOnly Optional[bool] `json:"community_creation_admin_only" url:"community_creation_admin_only,omitempty"`
RequireEmailVerification Optional[bool] `json:"require_email_verification,omitempty" url:"require_email_verification,omitempty"` RequireEmailVerification Optional[bool] `json:"require_email_verification" url:"require_email_verification,omitempty"`
RequireApplication Optional[bool] `json:"require_application,omitempty" url:"require_application,omitempty"` RequireApplication Optional[bool] `json:"require_application" url:"require_application,omitempty"`
ApplicationQuestion Optional[string] `json:"application_question,omitempty" url:"application_question,omitempty"` ApplicationQuestion Optional[string] `json:"application_question" url:"application_question,omitempty"`
PrivateInstance Optional[bool] `json:"private_instance,omitempty" url:"private_instance,omitempty"` PrivateInstance Optional[bool] `json:"private_instance" url:"private_instance,omitempty"`
DefaultTheme Optional[string] `json:"default_theme,omitempty" url:"default_theme,omitempty"` DefaultTheme Optional[string] `json:"default_theme" url:"default_theme,omitempty"`
DefaultPostListingType Optional[string] `json:"default_post_listing_type,omitempty" url:"default_post_listing_type,omitempty"` DefaultPostListingType Optional[string] `json:"default_post_listing_type" url:"default_post_listing_type,omitempty"`
LegalInformation Optional[string] `json:"legal_information,omitempty" url:"legal_information,omitempty"` LegalInformation Optional[string] `json:"legal_information" url:"legal_information,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetSite struct { type GetSite struct {
Auth Optional[string] `json:"auth,omitempty" url:"auth,omitempty"` Auth Optional[string] `json:"auth" url:"auth,omitempty"`
} }
type SiteResponse struct { type SiteResponse struct {
SiteView SiteView `json:"site_view,omitempty" url:"site_view,omitempty"` SiteView SiteView `json:"site_view" url:"site_view,omitempty"`
LemmyResponse LemmyResponse
} }
type GetSiteResponse struct { type GetSiteResponse struct {
SiteView Optional[SiteView] `json:"site_view,omitempty" url:"site_view,omitempty"` SiteView Optional[SiteView] `json:"site_view" url:"site_view,omitempty"`
Admins []PersonViewSafe `json:"admins,omitempty" url:"admins,omitempty"` Admins []PersonViewSafe `json:"admins" url:"admins,omitempty"`
Online uint `json:"online,omitempty" url:"online,omitempty"` Online uint `json:"online" url:"online,omitempty"`
Version string `json:"version,omitempty" url:"version,omitempty"` Version string `json:"version" url:"version,omitempty"`
MyUser Optional[MyUserInfo] `json:"my_user,omitempty" url:"my_user,omitempty"` MyUser Optional[MyUserInfo] `json:"my_user" url:"my_user,omitempty"`
FederatedInstances Optional[FederatedInstances] `json:"federated_instances,omitempty" url:"federated_instances,omitempty"` FederatedInstances Optional[FederatedInstances] `json:"federated_instances" url:"federated_instances,omitempty"`
LemmyResponse LemmyResponse
} }
type MyUserInfo struct { type MyUserInfo struct {
LocalUserView LocalUserSettingsView `json:"local_user_view,omitempty" url:"local_user_view,omitempty"` LocalUserView LocalUserSettingsView `json:"local_user_view" url:"local_user_view,omitempty"`
Follows []CommunityFollowerView `json:"follows,omitempty" url:"follows,omitempty"` Follows []CommunityFollowerView `json:"follows" url:"follows,omitempty"`
Moderates []CommunityModeratorView `json:"moderates,omitempty" url:"moderates,omitempty"` Moderates []CommunityModeratorView `json:"moderates" url:"moderates,omitempty"`
CommunityBlocks []CommunityBlockView `json:"community_blocks,omitempty" url:"community_blocks,omitempty"` CommunityBlocks []CommunityBlockView `json:"community_blocks" url:"community_blocks,omitempty"`
PersonBlocks []PersonBlockView `json:"person_blocks,omitempty" url:"person_blocks,omitempty"` PersonBlocks []PersonBlockView `json:"person_blocks" url:"person_blocks,omitempty"`
} }
type LeaveAdmin struct { type LeaveAdmin struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetSiteConfig struct { type GetSiteConfig struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetSiteConfigResponse struct { type GetSiteConfigResponse struct {
ConfigHjson string `json:"config_hjson,omitempty" url:"config_hjson,omitempty"` ConfigHjson string `json:"config_hjson" url:"config_hjson,omitempty"`
LemmyResponse LemmyResponse
} }
type SaveSiteConfig struct { type SaveSiteConfig struct {
ConfigHjson string `json:"config_hjson,omitempty" url:"config_hjson,omitempty"` ConfigHjson string `json:"config_hjson" url:"config_hjson,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type FederatedInstances struct { type FederatedInstances struct {
Linked []string `json:"linked,omitempty" url:"linked,omitempty"` Linked []string `json:"linked" url:"linked,omitempty"`
Allowed Optional[[]string] `json:"allowed,omitempty" url:"allowed,omitempty"` Allowed Optional[[]string] `json:"allowed" url:"allowed,omitempty"`
Blocked Optional[[]string] `json:"blocked,omitempty" url:"blocked,omitempty"` Blocked Optional[[]string] `json:"blocked" url:"blocked,omitempty"`
} }
type ListRegistrationApplications struct { type ListRegistrationApplications struct {
UnreadOnly Optional[bool] `json:"unread_only,omitempty" url:"unread_only,omitempty"` UnreadOnly Optional[bool] `json:"unread_only" url:"unread_only,omitempty"`
Page Optional[int64] `json:"page,omitempty" url:"page,omitempty"` Page Optional[int64] `json:"page" url:"page,omitempty"`
Limit Optional[int64] `json:"limit,omitempty" url:"limit,omitempty"` Limit Optional[int64] `json:"limit" url:"limit,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type ListRegistrationApplicationsResponse struct { type ListRegistrationApplicationsResponse struct {
RegistrationApplications []RegistrationApplicationView `json:"registration_applications,omitempty" url:"registration_applications,omitempty"` RegistrationApplications []RegistrationApplicationView `json:"registration_applications" url:"registration_applications,omitempty"`
LemmyResponse LemmyResponse
} }
type ApproveRegistrationApplication struct { type ApproveRegistrationApplication struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
Approve bool `json:"approve,omitempty" url:"approve,omitempty"` Approve bool `json:"approve" url:"approve,omitempty"`
DenyReason Optional[string] `json:"deny_reason,omitempty" url:"deny_reason,omitempty"` DenyReason Optional[string] `json:"deny_reason" url:"deny_reason,omitempty"`
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type RegistrationApplicationResponse struct { type RegistrationApplicationResponse struct {
RegistrationApplication RegistrationApplicationView `json:"registration_application,omitempty" url:"registration_application,omitempty"` RegistrationApplication RegistrationApplicationView `json:"registration_application" url:"registration_application,omitempty"`
LemmyResponse LemmyResponse
} }
type GetUnreadRegistrationApplicationCount struct { type GetUnreadRegistrationApplicationCount struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type GetUnreadRegistrationApplicationCountResponse struct { type GetUnreadRegistrationApplicationCountResponse struct {
RegistrationApplications int64 `json:"registration_applications,omitempty" url:"registration_applications,omitempty"` RegistrationApplications int64 `json:"registration_applications" url:"registration_applications,omitempty"`
LemmyResponse LemmyResponse
} }

View File

@ -1,75 +1,75 @@
package types package types
type CommentReportView struct { type CommentReportView struct {
CommentReport CommentReport `json:"comment_report,omitempty" url:"comment_report,omitempty"` CommentReport CommentReport `json:"comment_report" url:"comment_report,omitempty"`
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"` Comment Comment `json:"comment" url:"comment,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
CommentCreator PersonSafeAlias1 `json:"comment_creator,omitempty" url:"comment_creator,omitempty"` CommentCreator PersonSafeAlias1 `json:"comment_creator" url:"comment_creator,omitempty"`
Counts CommentAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"` CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"` MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
Resolver Optional[PersonSafeAlias2] `json:"resolver,omitempty" url:"resolver,omitempty"` Resolver Optional[PersonSafeAlias2] `json:"resolver" url:"resolver,omitempty"`
} }
type CommentView struct { type CommentView struct {
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"` Comment Comment `json:"comment" url:"comment,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
Recipient Optional[PersonSafeAlias1] `json:"recipient,omitempty" url:"recipient,omitempty"` Recipient Optional[PersonSafeAlias1] `json:"recipient" url:"recipient,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Counts CommentAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"` CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"` Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
Saved bool `json:"saved,omitempty" url:"saved,omitempty"` Saved bool `json:"saved" url:"saved,omitempty"`
CreatorBlocked bool `json:"creator_blocked,omitempty" url:"creator_blocked,omitempty"` CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"` MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
} }
type LocalUserView struct { type LocalUserView struct {
LocalUser LocalUser `json:"local_user,omitempty" url:"local_user,omitempty"` LocalUser LocalUser `json:"local_user" url:"local_user,omitempty"`
Person Person `json:"person,omitempty" url:"person,omitempty"` Person Person `json:"person" url:"person,omitempty"`
Counts PersonAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
} }
type LocalUserSettingsView struct { type LocalUserSettingsView struct {
LocalUser LocalUserSettings `json:"local_user,omitempty" url:"local_user,omitempty"` LocalUser LocalUserSettings `json:"local_user" url:"local_user,omitempty"`
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"` Person PersonSafe `json:"person" url:"person,omitempty"`
Counts PersonAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
} }
type PostReportView struct { type PostReportView struct {
PostReport PostReport `json:"post_report,omitempty" url:"post_report,omitempty"` PostReport PostReport `json:"post_report" url:"post_report,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
PostCreator PersonSafeAlias1 `json:"post_creator,omitempty" url:"post_creator,omitempty"` PostCreator PersonSafeAlias1 `json:"post_creator" url:"post_creator,omitempty"`
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"` CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"` MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
Counts PostAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts PostAggregates `json:"counts" url:"counts,omitempty"`
Resolver Optional[PersonSafeAlias2] `json:"resolver,omitempty" url:"resolver,omitempty"` Resolver Optional[PersonSafeAlias2] `json:"resolver" url:"resolver,omitempty"`
} }
type PostView struct { type PostView struct {
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"` CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
Counts PostAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts PostAggregates `json:"counts" url:"counts,omitempty"`
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"` Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
Saved bool `json:"saved,omitempty" url:"saved,omitempty"` Saved bool `json:"saved" url:"saved,omitempty"`
Read bool `json:"read,omitempty" url:"read,omitempty"` Read bool `json:"read" url:"read,omitempty"`
CreatorBlocked bool `json:"creator_blocked,omitempty" url:"creator_blocked,omitempty"` CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"` MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
} }
type PrivateMessageView struct { type PrivateMessageView struct {
PrivateMessage PrivateMessage `json:"private_message,omitempty" url:"private_message,omitempty"` PrivateMessage PrivateMessage `json:"private_message" url:"private_message,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
Recipient PersonSafeAlias1 `json:"recipient,omitempty" url:"recipient,omitempty"` Recipient PersonSafeAlias1 `json:"recipient" url:"recipient,omitempty"`
} }
type RegistrationApplicationView struct { type RegistrationApplicationView struct {
RegistrationApplication RegistrationApplication `json:"registration_application,omitempty" url:"registration_application,omitempty"` RegistrationApplication RegistrationApplication `json:"registration_application" url:"registration_application,omitempty"`
CreatorLocalUser LocalUserSettings `json:"creator_local_user,omitempty" url:"creator_local_user,omitempty"` CreatorLocalUser LocalUserSettings `json:"creator_local_user" url:"creator_local_user,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
Admin Optional[PersonSafeAlias1] `json:"admin,omitempty" url:"admin,omitempty"` Admin Optional[PersonSafeAlias1] `json:"admin" url:"admin,omitempty"`
} }
type SiteView struct { type SiteView struct {
Site Site `json:"site,omitempty" url:"site,omitempty"` Site Site `json:"site" url:"site,omitempty"`
Counts SiteAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts SiteAggregates `json:"counts" url:"counts,omitempty"`
} }

View File

@ -1,66 +1,66 @@
package types package types
type ModAddCommunityView struct { type ModAddCommunityView struct {
ModAddCommunity ModAddCommunity `json:"mod_add_community,omitempty" url:"mod_add_community,omitempty"` ModAddCommunity ModAddCommunity `json:"mod_add_community" url:"mod_add_community,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
ModdedPerson PersonSafeAlias1 `json:"modded_person,omitempty" url:"modded_person,omitempty"` ModdedPerson PersonSafeAlias1 `json:"modded_person" url:"modded_person,omitempty"`
} }
type ModAddView struct { type ModAddView struct {
ModAdd ModAdd `json:"mod_add,omitempty" url:"mod_add,omitempty"` ModAdd ModAdd `json:"mod_add" url:"mod_add,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
ModdedPerson PersonSafeAlias1 `json:"modded_person,omitempty" url:"modded_person,omitempty"` ModdedPerson PersonSafeAlias1 `json:"modded_person" url:"modded_person,omitempty"`
} }
type ModBanFromCommunityView struct { type ModBanFromCommunityView struct {
ModBanFromCommunity ModBanFromCommunity `json:"mod_ban_from_community,omitempty" url:"mod_ban_from_community,omitempty"` ModBanFromCommunity ModBanFromCommunity `json:"mod_ban_from_community" url:"mod_ban_from_community,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
BannedPerson PersonSafeAlias1 `json:"banned_person,omitempty" url:"banned_person,omitempty"` BannedPerson PersonSafeAlias1 `json:"banned_person" url:"banned_person,omitempty"`
} }
type ModBanView struct { type ModBanView struct {
ModBan ModBan `json:"mod_ban,omitempty" url:"mod_ban,omitempty"` ModBan ModBan `json:"mod_ban" url:"mod_ban,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
BannedPerson PersonSafeAlias1 `json:"banned_person,omitempty" url:"banned_person,omitempty"` BannedPerson PersonSafeAlias1 `json:"banned_person" url:"banned_person,omitempty"`
} }
type ModHideCommunityView struct { type ModHideCommunityView struct {
ModHideCommunity ModHideCommunity `json:"mod_hide_community,omitempty" url:"mod_hide_community,omitempty"` ModHideCommunity ModHideCommunity `json:"mod_hide_community" url:"mod_hide_community,omitempty"`
Admin PersonSafe `json:"admin,omitempty" url:"admin,omitempty"` Admin PersonSafe `json:"admin" url:"admin,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type ModLockPostView struct { type ModLockPostView struct {
ModLockPost ModLockPost `json:"mod_lock_post,omitempty" url:"mod_lock_post,omitempty"` ModLockPost ModLockPost `json:"mod_lock_post" url:"mod_lock_post,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type ModRemoveCommentView struct { type ModRemoveCommentView struct {
ModRemoveComment ModRemoveComment `json:"mod_remove_comment,omitempty" url:"mod_remove_comment,omitempty"` ModRemoveComment ModRemoveComment `json:"mod_remove_comment" url:"mod_remove_comment,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"` Comment Comment `json:"comment" url:"comment,omitempty"`
Commenter PersonSafeAlias1 `json:"commenter,omitempty" url:"commenter,omitempty"` Commenter PersonSafeAlias1 `json:"commenter" url:"commenter,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type ModRemoveCommunityView struct { type ModRemoveCommunityView struct {
ModRemoveCommunity ModRemoveCommunity `json:"mod_remove_community,omitempty" url:"mod_remove_community,omitempty"` ModRemoveCommunity ModRemoveCommunity `json:"mod_remove_community" url:"mod_remove_community,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type ModRemovePostView struct { type ModRemovePostView struct {
ModRemovePost ModRemovePost `json:"mod_remove_post,omitempty" url:"mod_remove_post,omitempty"` ModRemovePost ModRemovePost `json:"mod_remove_post" url:"mod_remove_post,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type ModStickyPostView struct { type ModStickyPostView struct {
ModStickyPost ModStickyPost `json:"mod_sticky_post,omitempty" url:"mod_sticky_post,omitempty"` ModStickyPost ModStickyPost `json:"mod_sticky_post" url:"mod_sticky_post,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type ModTransferCommunityView struct { type ModTransferCommunityView struct {
ModTransferCommunity ModTransferCommunity `json:"mod_transfer_community,omitempty" url:"mod_transfer_community,omitempty"` ModTransferCommunity ModTransferCommunity `json:"mod_transfer_community" url:"mod_transfer_community,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
ModdedPerson PersonSafeAlias1 `json:"modded_person,omitempty" url:"modded_person,omitempty"` ModdedPerson PersonSafeAlias1 `json:"modded_person" url:"modded_person,omitempty"`
} }

View File

@ -1,56 +1,54 @@
package types package types
import "time"
type CommentAggregates struct { type CommentAggregates struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommentID int `json:"comment_id,omitempty" url:"comment_id,omitempty"` CommentID int `json:"comment_id" url:"comment_id,omitempty"`
Score int64 `json:"score,omitempty" url:"score,omitempty"` Score int64 `json:"score" url:"score,omitempty"`
Upvotes int64 `json:"upvotes,omitempty" url:"upvotes,omitempty"` Upvotes int64 `json:"upvotes" url:"upvotes,omitempty"`
Downvotes int64 `json:"downvotes,omitempty" url:"downvotes,omitempty"` Downvotes int64 `json:"downvotes" url:"downvotes,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
} }
type CommunityAggregates struct { type CommunityAggregates struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
Subscribers int64 `json:"subscribers,omitempty" url:"subscribers,omitempty"` Subscribers int64 `json:"subscribers" url:"subscribers,omitempty"`
Posts int64 `json:"posts,omitempty" url:"posts,omitempty"` Posts int64 `json:"posts" url:"posts,omitempty"`
Comments int64 `json:"comments,omitempty" url:"comments,omitempty"` Comments int64 `json:"comments" url:"comments,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
UsersActiveDay int64 `json:"users_active_day,omitempty" url:"users_active_day,omitempty"` UsersActiveDay int64 `json:"users_active_day" url:"users_active_day,omitempty"`
UsersActiveWeek int64 `json:"users_active_week,omitempty" url:"users_active_week,omitempty"` UsersActiveWeek int64 `json:"users_active_week" url:"users_active_week,omitempty"`
UsersActiveMonth int64 `json:"users_active_month,omitempty" url:"users_active_month,omitempty"` UsersActiveMonth int64 `json:"users_active_month" url:"users_active_month,omitempty"`
UsersActiveHalfYear int64 `json:"users_active_half_year,omitempty" url:"users_active_half_year,omitempty"` UsersActiveHalfYear int64 `json:"users_active_half_year" url:"users_active_half_year,omitempty"`
} }
type PersonAggregates struct { type PersonAggregates struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
PersonID int `json:"person_id,omitempty" url:"person_id,omitempty"` PersonID int `json:"person_id" url:"person_id,omitempty"`
PostCount int64 `json:"post_count,omitempty" url:"post_count,omitempty"` PostCount int64 `json:"post_count" url:"post_count,omitempty"`
PostScore int64 `json:"post_score,omitempty" url:"post_score,omitempty"` PostScore int64 `json:"post_score" url:"post_score,omitempty"`
CommentCount int64 `json:"comment_count,omitempty" url:"comment_count,omitempty"` CommentCount int64 `json:"comment_count" url:"comment_count,omitempty"`
CommentScore int64 `json:"comment_score,omitempty" url:"comment_score,omitempty"` CommentScore int64 `json:"comment_score" url:"comment_score,omitempty"`
} }
type PostAggregates struct { type PostAggregates struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
Comments int64 `json:"comments,omitempty" url:"comments,omitempty"` Comments int64 `json:"comments" url:"comments,omitempty"`
Score int64 `json:"score,omitempty" url:"score,omitempty"` Score int64 `json:"score" url:"score,omitempty"`
Upvotes int64 `json:"upvotes,omitempty" url:"upvotes,omitempty"` Upvotes int64 `json:"upvotes" url:"upvotes,omitempty"`
Downvotes int64 `json:"downvotes,omitempty" url:"downvotes,omitempty"` Downvotes int64 `json:"downvotes" url:"downvotes,omitempty"`
Stickied bool `json:"stickied,omitempty" url:"stickied,omitempty"` Stickied bool `json:"stickied" url:"stickied,omitempty"`
Published time.Time `json:"published,omitempty" url:"published,omitempty"` Published LemmyTime `json:"published" url:"published,omitempty"`
NewestCommentTimeNecro time.Time `json:"newest_comment_time_necro,omitempty" url:"newest_comment_time_necro,omitempty"` NewestCommentTimeNecro LemmyTime `json:"newest_comment_time_necro" url:"newest_comment_time_necro,omitempty"`
NewestCommentTime time.Time `json:"newest_comment_time,omitempty" url:"newest_comment_time,omitempty"` NewestCommentTime LemmyTime `json:"newest_comment_time" url:"newest_comment_time,omitempty"`
} }
type SiteAggregates struct { type SiteAggregates struct {
ID int32 `json:"id,omitempty" url:"id,omitempty"` ID int32 `json:"id" url:"id,omitempty"`
SiteID int32 `json:"site_id,omitempty" url:"site_id,omitempty"` SiteID int32 `json:"site_id" url:"site_id,omitempty"`
Users int64 `json:"users,omitempty" url:"users,omitempty"` Users int64 `json:"users" url:"users,omitempty"`
Posts int64 `json:"posts,omitempty" url:"posts,omitempty"` Posts int64 `json:"posts" url:"posts,omitempty"`
Comments int64 `json:"comments,omitempty" url:"comments,omitempty"` Comments int64 `json:"comments" url:"comments,omitempty"`
Communities int64 `json:"communities,omitempty" url:"communities,omitempty"` Communities int64 `json:"communities" url:"communities,omitempty"`
UsersActiveDay int64 `json:"users_active_day,omitempty" url:"users_active_day,omitempty"` UsersActiveDay int64 `json:"users_active_day" url:"users_active_day,omitempty"`
UsersActiveWeek int64 `json:"users_active_week,omitempty" url:"users_active_week,omitempty"` UsersActiveWeek int64 `json:"users_active_week" url:"users_active_week,omitempty"`
UsersActiveMonth int64 `json:"users_active_month,omitempty" url:"users_active_month,omitempty"` UsersActiveMonth int64 `json:"users_active_month" url:"users_active_month,omitempty"`
UsersActiveHalfYear int64 `json:"users_active_half_year,omitempty" url:"users_active_half_year,omitempty"` UsersActiveHalfYear int64 `json:"users_active_half_year" url:"users_active_half_year,omitempty"`
} }

View File

@ -1,46 +1,46 @@
package types package types
type CommunityBlockView struct { type CommunityBlockView struct {
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"` Person PersonSafe `json:"person" url:"person,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
} }
type CommunityFollowerView struct { type CommunityFollowerView struct {
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Follower PersonSafe `json:"follower,omitempty" url:"follower,omitempty"` Follower PersonSafe `json:"follower" url:"follower,omitempty"`
} }
type CommunityModeratorView struct { type CommunityModeratorView struct {
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Moderator PersonSafe `json:"moderator,omitempty" url:"moderator,omitempty"` Moderator PersonSafe `json:"moderator" url:"moderator,omitempty"`
} }
type CommunityPersonBanView struct { type CommunityPersonBanView struct {
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"` Person PersonSafe `json:"person" url:"person,omitempty"`
} }
type CommunityView struct { type CommunityView struct {
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"` Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
Blocked bool `json:"blocked,omitempty" url:"blocked,omitempty"` Blocked bool `json:"blocked" url:"blocked,omitempty"`
Counts CommunityAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts CommunityAggregates `json:"counts" url:"counts,omitempty"`
} }
type PersonBlockView struct { type PersonBlockView struct {
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"` Person PersonSafe `json:"person" url:"person,omitempty"`
Target PersonSafeAlias1 `json:"target,omitempty" url:"target,omitempty"` Target PersonSafeAlias1 `json:"target" url:"target,omitempty"`
} }
type PersonMentionView struct { type PersonMentionView struct {
PersonMention PersonMention `json:"person_mention,omitempty" url:"person_mention,omitempty"` PersonMention PersonMention `json:"person_mention" url:"person_mention,omitempty"`
Comment Comment `json:"comment,omitempty" url:"comment,omitempty"` Comment Comment `json:"comment" url:"comment,omitempty"`
Creator PersonSafe `json:"creator,omitempty" url:"creator,omitempty"` Creator PersonSafe `json:"creator" url:"creator,omitempty"`
Post Post `json:"post,omitempty" url:"post,omitempty"` Post Post `json:"post" url:"post,omitempty"`
Community CommunitySafe `json:"community,omitempty" url:"community,omitempty"` Community CommunitySafe `json:"community" url:"community,omitempty"`
Recipient PersonSafeAlias1 `json:"recipient,omitempty" url:"recipient,omitempty"` Recipient PersonSafeAlias1 `json:"recipient" url:"recipient,omitempty"`
Counts CommentAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts CommentAggregates `json:"counts" url:"counts,omitempty"`
CreatorBannedFromCommunity bool `json:"creator_banned_from_community,omitempty" url:"creator_banned_from_community,omitempty"` CreatorBannedFromCommunity bool `json:"creator_banned_from_community" url:"creator_banned_from_community,omitempty"`
Subscribed bool `json:"subscribed,omitempty" url:"subscribed,omitempty"` Subscribed bool `json:"subscribed" url:"subscribed,omitempty"`
Saved bool `json:"saved,omitempty" url:"saved,omitempty"` Saved bool `json:"saved" url:"saved,omitempty"`
CreatorBlocked bool `json:"creator_blocked,omitempty" url:"creator_blocked,omitempty"` CreatorBlocked bool `json:"creator_blocked" url:"creator_blocked,omitempty"`
MyVote Optional[int16] `json:"my_vote,omitempty" url:"my_vote,omitempty"` MyVote Optional[int16] `json:"my_vote" url:"my_vote,omitempty"`
} }
type PersonViewSafe struct { type PersonViewSafe struct {
Person PersonSafe `json:"person,omitempty" url:"person,omitempty"` Person PersonSafe `json:"person" url:"person,omitempty"`
Counts PersonAggregates `json:"counts,omitempty" url:"counts,omitempty"` Counts PersonAggregates `json:"counts" url:"counts,omitempty"`
} }

View File

@ -4,6 +4,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"net/http" "net/http"
"time"
) )
type LemmyResponse struct { type LemmyResponse struct {
@ -27,6 +28,31 @@ func (le LemmyError) Error() string {
return fmt.Sprintf("%d %s: %s", le.Code, http.StatusText(le.Code), le.ErrStr) return fmt.Sprintf("%d %s: %s", le.Code, http.StatusText(le.Code), le.ErrStr)
} }
type LemmyTime struct {
time.Time
}
func (lt *LemmyTime) UnmarshalJSON(b []byte) error {
var timeStr string
err := json.Unmarshal(b, &timeStr)
if err != nil {
return err
}
if timeStr == "" {
lt.Time = time.Unix(0, 0)
return nil
}
t, err := time.Parse("2006-01-02T15:04:05", timeStr)
if err != nil {
return err
}
lt.Time = t
return nil
}
type LemmyWebSocketMsg struct { type LemmyWebSocketMsg struct {
Op string `json:"op"` Op string `json:"op"`
Data json.RawMessage `json:"data"` Data json.RawMessage `json:"data"`

View File

@ -1,30 +1,30 @@
package types package types
type UserJoin struct { type UserJoin struct {
Auth string `json:"auth,omitempty" url:"auth,omitempty"` Auth string `json:"auth" url:"auth,omitempty"`
} }
type UserJoinResponse struct { type UserJoinResponse struct {
Joined bool `json:"joined,omitempty" url:"joined,omitempty"` Joined bool `json:"joined" url:"joined,omitempty"`
LemmyResponse LemmyResponse
} }
type CommunityJoin struct { type CommunityJoin struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
} }
type CommunityJoinResponse struct { type CommunityJoinResponse struct {
Joined bool `json:"joined,omitempty" url:"joined,omitempty"` Joined bool `json:"joined" url:"joined,omitempty"`
LemmyResponse LemmyResponse
} }
type ModJoin struct { type ModJoin struct {
CommunityID int `json:"community_id,omitempty" url:"community_id,omitempty"` CommunityID int `json:"community_id" url:"community_id,omitempty"`
} }
type ModJoinResponse struct { type ModJoinResponse struct {
Joined bool `json:"joined,omitempty" url:"joined,omitempty"` Joined bool `json:"joined" url:"joined,omitempty"`
LemmyResponse LemmyResponse
} }
type PostJoin struct { type PostJoin struct {
PostID int `json:"post_id,omitempty" url:"post_id,omitempty"` PostID int `json:"post_id" url:"post_id,omitempty"`
} }
type PostJoinResponse struct { type PostJoinResponse struct {
Joined bool `json:"joined,omitempty" url:"joined,omitempty"` Joined bool `json:"joined" url:"joined,omitempty"`
LemmyResponse LemmyResponse
} }

View File

@ -3,6 +3,7 @@ package lemmy
import ( import (
"context" "context"
"encoding/json" "encoding/json"
"fmt"
"net/http" "net/http"
"net/url" "net/url"
"reflect" "reflect"
@ -98,6 +99,8 @@ func (c *WSClient) Request(op types.Operation, data any) error {
return err return err
} }
fmt.Println(data, string(d))
return c.conn.WriteJSON(types.LemmyWebSocketMsg{ return c.conn.WriteJSON(types.LemmyWebSocketMsg{
Op: op.Operation(), Op: op.Operation(),
Data: d, Data: d,