diff --git a/ACTIVE_CHANGES.md b/ACTIVE_CHANGES.md index 8525d53b..5c59899b 100644 --- a/ACTIVE_CHANGES.md +++ b/ACTIVE_CHANGES.md @@ -3,6 +3,11 @@ This document lists the changes that you will need to actively handle, through feature flags. +## 0.19.11 + +- Added `last_donation_notification` field to LocalUser +- Donation Dialog Shown Endpoint + ## 0.19.6 - ImageDetails diff --git a/GeneratorScripts/src/main/kotlin/MapperGenerator0x19x11.kt b/GeneratorScripts/src/main/kotlin/MapperGenerator0x19x11.kt new file mode 100644 index 00000000..192f838a --- /dev/null +++ b/GeneratorScripts/src/main/kotlin/MapperGenerator0x19x11.kt @@ -0,0 +1,238 @@ +@file:Suppress("unused", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") + +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.* + +// @Konverter( +// options = [ +// Konfig(key = "konvert.konverter.generate-class", value = "true"), +// Konfig(key = "konvert.enable-converters", value = "FloatToIntConverter"), +// Konfig(key = "konvert.add-generated-konverter-annotation", value = "false"), +// ], +// ) +internal interface MapperGenerator0x19x11 { + + fun toUni(d: AddAdminResponse): it.vercruysse.lemmyapi.datatypes.AddAdminResponse + fun toUni(d: AddModToCommunityResponse): it.vercruysse.lemmyapi.datatypes.AddModToCommunityResponse + fun toUni(d: AdminPurgeComment): it.vercruysse.lemmyapi.datatypes.AdminPurgeComment + fun toUni(d: AdminPurgeCommentView): it.vercruysse.lemmyapi.datatypes.AdminPurgeCommentView + fun toUni(d: AdminPurgeCommunity): it.vercruysse.lemmyapi.datatypes.AdminPurgeCommunity + fun toUni(d: AdminPurgeCommunityView): it.vercruysse.lemmyapi.datatypes.AdminPurgeCommunityView + fun toUni(d: AdminPurgePerson): it.vercruysse.lemmyapi.datatypes.AdminPurgePerson + fun toUni(d: AdminPurgePersonView): it.vercruysse.lemmyapi.datatypes.AdminPurgePersonView + fun toUni(d: AdminPurgePost): it.vercruysse.lemmyapi.datatypes.AdminPurgePost + fun toUni(d: AdminPurgePostView): it.vercruysse.lemmyapi.datatypes.AdminPurgePostView + fun toUni(d: BanFromCommunityResponse): it.vercruysse.lemmyapi.datatypes.BanFromCommunityResponse + fun toUni(d: BannedPersonsResponse): it.vercruysse.lemmyapi.datatypes.BannedPersonsResponse + fun toUni(d: BanPersonResponse): it.vercruysse.lemmyapi.datatypes.BanPersonResponse + fun toUni(d: BlockCommunityResponse): it.vercruysse.lemmyapi.datatypes.BlockCommunityResponse + fun toUni(d: BlockInstanceResponse): it.vercruysse.lemmyapi.datatypes.BlockInstanceResponse + fun toUni(d: BlockPersonResponse): it.vercruysse.lemmyapi.datatypes.BlockPersonResponse + fun toUni(d: CaptchaResponse): it.vercruysse.lemmyapi.datatypes.CaptchaResponse + fun toUni(d: Comment): it.vercruysse.lemmyapi.datatypes.Comment + fun toUni(d: CommentAggregates): it.vercruysse.lemmyapi.datatypes.CommentAggregates + fun toUni(d: CommentReply): it.vercruysse.lemmyapi.datatypes.CommentReply + fun toUni(d: CommentReplyResponse): it.vercruysse.lemmyapi.datatypes.CommentReplyResponse + fun toUni(d: CommentReplyView): it.vercruysse.lemmyapi.datatypes.CommentReplyView + fun toUni(d: CommentReport): it.vercruysse.lemmyapi.datatypes.CommentReport + fun toUni(d: CommentReportResponse): it.vercruysse.lemmyapi.datatypes.CommentReportResponse + fun toUni(d: CommentReportView): it.vercruysse.lemmyapi.datatypes.CommentReportView + fun toUni(d: CommentResponse): it.vercruysse.lemmyapi.datatypes.CommentResponse + fun toUni(d: CommentView): it.vercruysse.lemmyapi.datatypes.CommentView + fun toUni(d: Community): it.vercruysse.lemmyapi.datatypes.Community + fun toUni(d: CommunityAggregates): it.vercruysse.lemmyapi.datatypes.CommunityAggregates + fun toUni(d: CommunityBlockView): it.vercruysse.lemmyapi.datatypes.CommunityBlockView + fun toUni(d: CommunityFollowerView): it.vercruysse.lemmyapi.datatypes.CommunityFollowerView + fun toUni(d: CommunityModeratorView): it.vercruysse.lemmyapi.datatypes.CommunityModeratorView + fun toUni(d: CommunityResponse): it.vercruysse.lemmyapi.datatypes.CommunityResponse + fun toUni(d: CommunityView): it.vercruysse.lemmyapi.datatypes.CommunityView + fun toUni(d: CustomEmoji): it.vercruysse.lemmyapi.datatypes.CustomEmoji + fun toUni(d: CustomEmojiKeyword): it.vercruysse.lemmyapi.datatypes.CustomEmojiKeyword + fun toUni(d: CustomEmojiResponse): it.vercruysse.lemmyapi.datatypes.CustomEmojiResponse + fun toUni(d: CustomEmojiView): it.vercruysse.lemmyapi.datatypes.CustomEmojiView + fun toUni(d: FederatedInstances): it.vercruysse.lemmyapi.datatypes.FederatedInstances + fun toUni(d: GenerateTotpSecretResponse): it.vercruysse.lemmyapi.datatypes.GenerateTotpSecretResponse + fun toUni(d: GetCaptchaResponse): it.vercruysse.lemmyapi.datatypes.GetCaptchaResponse + fun toUni(d: GetCommentsResponse): it.vercruysse.lemmyapi.datatypes.GetCommentsResponse + fun toUni(d: GetCommunityResponse): it.vercruysse.lemmyapi.datatypes.GetCommunityResponse + fun toUni(d: GetFederatedInstancesResponse): it.vercruysse.lemmyapi.datatypes.GetFederatedInstancesResponse + fun toUni(d: GetModlogResponse): it.vercruysse.lemmyapi.datatypes.GetModlogResponse + fun toUni(d: GetPersonDetailsResponse): it.vercruysse.lemmyapi.datatypes.GetPersonDetailsResponse + fun toUni(d: GetPersonMentionsResponse): it.vercruysse.lemmyapi.datatypes.GetPersonMentionsResponse + fun toUni(d: GetPostResponse): it.vercruysse.lemmyapi.datatypes.GetPostResponse + fun toUni(d: GetPostsResponse): it.vercruysse.lemmyapi.datatypes.GetPostsResponse + fun toUni(d: GetRepliesResponse): it.vercruysse.lemmyapi.datatypes.GetRepliesResponse + fun toUni(d: GetReportCountResponse): it.vercruysse.lemmyapi.datatypes.GetReportCountResponse + fun toUni(d: GetSiteMetadataResponse): it.vercruysse.lemmyapi.datatypes.GetSiteMetadataResponse + fun toUni(d: GetSiteResponse): it.vercruysse.lemmyapi.datatypes.GetSiteResponse + fun toUni(d: GetUnreadCountResponse): it.vercruysse.lemmyapi.datatypes.GetUnreadCountResponse + fun toUni(d: GetUnreadRegistrationApplicationCountResponse): it.vercruysse.lemmyapi.datatypes.GetUnreadRegistrationApplicationCountResponse + fun toUni(d: ImageDetails): it.vercruysse.lemmyapi.datatypes.ImageDetails + fun toUni(d: Instance): it.vercruysse.lemmyapi.datatypes.Instance + fun toUni(d: InstanceBlockView): it.vercruysse.lemmyapi.datatypes.InstanceBlockView + fun toUni(d: InstanceWithFederationState): it.vercruysse.lemmyapi.datatypes.InstanceWithFederationState + fun toUni(d: Language): it.vercruysse.lemmyapi.datatypes.Language + fun toUni(d: LinkMetadata): it.vercruysse.lemmyapi.datatypes.LinkMetadata + fun toUni(d: ListCommentLikesResponse): it.vercruysse.lemmyapi.datatypes.ListCommentLikesResponse + fun toUni(d: ListCommentReportsResponse): it.vercruysse.lemmyapi.datatypes.ListCommentReportsResponse + fun toUni(d: ListCommunitiesResponse): it.vercruysse.lemmyapi.datatypes.ListCommunitiesResponse + fun toUni(d: ListMediaResponse): it.vercruysse.lemmyapi.datatypes.ListMediaResponse + fun toUni(d: ListPostLikesResponse): it.vercruysse.lemmyapi.datatypes.ListPostLikesResponse + fun toUni(d: ListPostReportsResponse): it.vercruysse.lemmyapi.datatypes.ListPostReportsResponse + fun toUni(d: ListPrivateMessageReportsResponse): it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReportsResponse + fun toUni(d: ListRegistrationApplicationsResponse): it.vercruysse.lemmyapi.datatypes.ListRegistrationApplicationsResponse + fun toUni(d: LocalImage): it.vercruysse.lemmyapi.datatypes.LocalImage + fun toUni(d: LocalImageView): it.vercruysse.lemmyapi.datatypes.LocalImageView + fun toUni(d: LocalSite): it.vercruysse.lemmyapi.datatypes.LocalSite + fun toUni(d: LocalSiteRateLimit): it.vercruysse.lemmyapi.datatypes.LocalSiteRateLimit + fun toUni(d: LocalSiteUrlBlocklist): it.vercruysse.lemmyapi.datatypes.LocalSiteUrlBlocklist + fun toUni(d: LocalUser): it.vercruysse.lemmyapi.datatypes.LocalUser + fun toUni(d: LocalUserView): it.vercruysse.lemmyapi.datatypes.LocalUserView + fun toUni(d: LocalUserVoteDisplayMode): it.vercruysse.lemmyapi.datatypes.LocalUserVoteDisplayMode + fun toUni(d: LoginResponse): it.vercruysse.lemmyapi.datatypes.LoginResponse + fun toUni(d: LoginToken): it.vercruysse.lemmyapi.datatypes.LoginToken + fun toUni(d: ModAdd): it.vercruysse.lemmyapi.datatypes.ModAdd + fun toUni(d: ModAddCommunity): it.vercruysse.lemmyapi.datatypes.ModAddCommunity + fun toUni(d: ModAddCommunityView): it.vercruysse.lemmyapi.datatypes.ModAddCommunityView + fun toUni(d: ModAddView): it.vercruysse.lemmyapi.datatypes.ModAddView + fun toUni(d: ModBan): it.vercruysse.lemmyapi.datatypes.ModBan + fun toUni(d: ModBanFromCommunity): it.vercruysse.lemmyapi.datatypes.ModBanFromCommunity + fun toUni(d: ModBanFromCommunityView): it.vercruysse.lemmyapi.datatypes.ModBanFromCommunityView + fun toUni(d: ModBanView): it.vercruysse.lemmyapi.datatypes.ModBanView + fun toUni(d: ModFeaturePost): it.vercruysse.lemmyapi.datatypes.ModFeaturePost + fun toUni(d: ModFeaturePostView): it.vercruysse.lemmyapi.datatypes.ModFeaturePostView + fun toUni(d: ModHideCommunity): it.vercruysse.lemmyapi.datatypes.ModHideCommunity + fun toUni(d: ModHideCommunityView): it.vercruysse.lemmyapi.datatypes.ModHideCommunityView + fun toUni(d: ModLockPost): it.vercruysse.lemmyapi.datatypes.ModLockPost + fun toUni(d: ModLockPostView): it.vercruysse.lemmyapi.datatypes.ModLockPostView + fun toUni(d: ModlogListParams): it.vercruysse.lemmyapi.datatypes.ModlogListParams + fun toUni(d: ModRemoveComment): it.vercruysse.lemmyapi.datatypes.ModRemoveComment + fun toUni(d: ModRemoveCommentView): it.vercruysse.lemmyapi.datatypes.ModRemoveCommentView + fun toUni(d: ModRemoveCommunity): it.vercruysse.lemmyapi.datatypes.ModRemoveCommunity + fun toUni(d: ModRemoveCommunityView): it.vercruysse.lemmyapi.datatypes.ModRemoveCommunityView + fun toUni(d: ModRemovePost): it.vercruysse.lemmyapi.datatypes.ModRemovePost + fun toUni(d: ModRemovePostView): it.vercruysse.lemmyapi.datatypes.ModRemovePostView + fun toUni(d: ModTransferCommunity): it.vercruysse.lemmyapi.datatypes.ModTransferCommunity + fun toUni(d: ModTransferCommunityView): it.vercruysse.lemmyapi.datatypes.ModTransferCommunityView + fun toUni(d: MyUserInfo): it.vercruysse.lemmyapi.datatypes.MyUserInfo + fun toUni(d: Person): it.vercruysse.lemmyapi.datatypes.Person + fun toUni(d: PersonAggregates): it.vercruysse.lemmyapi.datatypes.PersonAggregates + fun toUni(d: PersonBlockView): it.vercruysse.lemmyapi.datatypes.PersonBlockView + fun toUni(d: PersonMention): it.vercruysse.lemmyapi.datatypes.PersonMention + fun toUni(d: PersonMentionResponse): it.vercruysse.lemmyapi.datatypes.PersonMentionResponse + fun toUni(d: PersonMentionView): it.vercruysse.lemmyapi.datatypes.PersonMentionView + fun toUni(d: PersonView): it.vercruysse.lemmyapi.datatypes.PersonView + fun toUni(d: Post): it.vercruysse.lemmyapi.datatypes.Post + fun toUni(d: PostAggregates): it.vercruysse.lemmyapi.datatypes.PostAggregates + fun toUni(d: PostReport): it.vercruysse.lemmyapi.datatypes.PostReport + fun toUni(d: PostReportResponse): it.vercruysse.lemmyapi.datatypes.PostReportResponse + fun toUni(d: PostReportView): it.vercruysse.lemmyapi.datatypes.PostReportView + fun toUni(d: PostResponse): it.vercruysse.lemmyapi.datatypes.PostResponse + fun toUni(d: PostView): it.vercruysse.lemmyapi.datatypes.PostView + fun toUni(d: PrivateMessage): it.vercruysse.lemmyapi.datatypes.PrivateMessage + fun toUni(d: PrivateMessageReport): it.vercruysse.lemmyapi.datatypes.PrivateMessageReport + fun toUni(d: PrivateMessageReportResponse): it.vercruysse.lemmyapi.datatypes.PrivateMessageReportResponse + fun toUni(d: PrivateMessageReportView): it.vercruysse.lemmyapi.datatypes.PrivateMessageReportView + fun toUni(d: PrivateMessageResponse): it.vercruysse.lemmyapi.datatypes.PrivateMessageResponse + fun toUni(d: PrivateMessagesResponse): it.vercruysse.lemmyapi.datatypes.PrivateMessagesResponse + fun toUni(d: PrivateMessageView): it.vercruysse.lemmyapi.datatypes.PrivateMessageView + fun toUni(d: ReadableFederationState): it.vercruysse.lemmyapi.datatypes.ReadableFederationState + fun toUni(d: RegistrationApplication): it.vercruysse.lemmyapi.datatypes.RegistrationApplication + fun toUni(d: RegistrationApplicationResponse): it.vercruysse.lemmyapi.datatypes.RegistrationApplicationResponse + fun toUni(d: RegistrationApplicationView): it.vercruysse.lemmyapi.datatypes.RegistrationApplicationView + fun toUni(d: ResolveObjectResponse): it.vercruysse.lemmyapi.datatypes.ResolveObjectResponse + fun toUni(d: SearchResponse): it.vercruysse.lemmyapi.datatypes.SearchResponse + fun toUni(d: Site): it.vercruysse.lemmyapi.datatypes.Site + fun toUni(d: SiteAggregates): it.vercruysse.lemmyapi.datatypes.SiteAggregates + fun toUni(d: SiteResponse): it.vercruysse.lemmyapi.datatypes.SiteResponse + fun toUni(d: SiteView): it.vercruysse.lemmyapi.datatypes.SiteView + fun toUni(d: Tagline): it.vercruysse.lemmyapi.datatypes.Tagline + fun toUni(d: UpdateTotpResponse): it.vercruysse.lemmyapi.datatypes.UpdateTotpResponse + fun toUni(d: VoteView): it.vercruysse.lemmyapi.datatypes.VoteView + +// body mappings + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.AddAdmin): AddAdmin + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.AddModToCommunity): AddModToCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ApproveRegistrationApplication): ApproveRegistrationApplication + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BanFromCommunity): BanFromCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BanPerson): BanPerson + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BlockCommunity): BlockCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BlockInstance): BlockInstance + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BlockPerson): BlockPerson + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ChangePassword): ChangePassword + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateComment): CreateComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCommentLike): CreateCommentLike + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCommentReport): CreateCommentReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCommunity): CreateCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCustomEmoji): CreateCustomEmoji + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePost): CreatePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePostLike): CreatePostLike + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePostReport): CreatePostReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePrivateMessage): CreatePrivateMessage + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePrivateMessageReport): CreatePrivateMessageReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateSite): CreateSite + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteAccount): DeleteAccount + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteComment): DeleteComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteCommunity): DeleteCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteCustomEmoji): DeleteCustomEmoji + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeletePost): DeletePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeletePrivateMessage): DeletePrivateMessage + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DistinguishComment): DistinguishComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditComment): EditComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditCommunity): EditCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditCustomEmoji): EditCustomEmoji + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditPost): EditPost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditPrivateMessage): EditPrivateMessage + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditSite): EditSite + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.FeaturePost): FeaturePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.FollowCommunity): FollowCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetComment): GetComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetComments): GetComments + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetCommunity): GetCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetModlog): GetModlog + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPersonDetails): GetPersonDetails + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPersonMentions): GetPersonMentions + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPost): GetPost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPosts): GetPosts + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPrivateMessages): GetPrivateMessages + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetRegistrationApplication): GetRegistrationApplication + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetReplies): GetReplies + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetReportCount): GetReportCount + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetSiteMetadata): GetSiteMetadata + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.HideCommunity): HideCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.HidePost): HidePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListCommentLikes): ListCommentLikes + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListCommentReports): ListCommentReports + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListCommunities): ListCommunities + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListMedia): ListMedia + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListPostLikes): ListPostLikes + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListPostReports): ListPostReports + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReports): ListPrivateMessageReports + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListRegistrationApplications): ListRegistrationApplications + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.LockPost): LockPost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.Login): Login + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkCommentReplyAsRead): MarkCommentReplyAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkPersonMentionAsRead): MarkPersonMentionAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkPostAsRead): MarkPostAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkPrivateMessageAsRead): MarkPrivateMessageAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PasswordChangeAfterReset): PasswordChangeAfterReset + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PasswordReset): PasswordReset + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgeComment): PurgeComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgeCommunity): PurgeCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgePerson): PurgePerson + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgePost): PurgePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.Register): Register + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.RemoveComment): RemoveComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.RemoveCommunity): RemoveCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.RemovePost): RemovePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolveCommentReport): ResolveCommentReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolveObject): ResolveObject + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolvePostReport): ResolvePostReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolvePrivateMessageReport): ResolvePrivateMessageReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.SaveComment): SaveComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.SavePost): SavePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.SaveUserSettings): SaveUserSettings + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.Search): Search + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.TransferCommunity): TransferCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.UpdateTotp): UpdateTotp + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.VerifyEmail): VerifyEmail +} diff --git a/GeneratorScripts/src/main/kotlin/autogenscripts/GenMapperRoutes.kt b/GeneratorScripts/src/main/kotlin/autogenscripts/GenMapperRoutes.kt index 2da5c5fa..42cb65ff 100644 --- a/GeneratorScripts/src/main/kotlin/autogenscripts/GenMapperRoutes.kt +++ b/GeneratorScripts/src/main/kotlin/autogenscripts/GenMapperRoutes.kt @@ -79,5 +79,5 @@ fun main() { val exclusionTarget = setOf( // "LocalUser", "MyUserInfo", "LocalSiteRateLimit" ) - genMapRoutes("v0/x19/x6", exclusionSrc, exclusionTarget) + genMapRoutes("v0/x19/x11", exclusionSrc, exclusionTarget) } diff --git a/GeneratorScripts/src/main/kotlin/autogenscripts/GenTypes.kt b/GeneratorScripts/src/main/kotlin/autogenscripts/GenTypes.kt index 0f19c4c7..99942c06 100644 --- a/GeneratorScripts/src/main/kotlin/autogenscripts/GenTypes.kt +++ b/GeneratorScripts/src/main/kotlin/autogenscripts/GenTypes.kt @@ -84,9 +84,11 @@ suspend fun downloadTypes( println(String(proc.inputStream.readAllBytes())) for (typeFile in datatypes.listFiles()!!) { - if (typeFile.name.startsWith("lib") || !typeFile.name.contains("module")) { + if (typeFile.name.startsWith("lib")) { typeFile.delete() } else if (typeFile.name.endsWith(".kt") && typeFile.isFile()) { + val originalTypeFile = typeFile.readText() + val fileName = typeFile.name.substringBefore(".") val f = File(datatypes, "$fileName.kt") f.createNewFile() @@ -102,12 +104,12 @@ suspend fun downloadTypes( var imports = "" // typealiases are not serializable - if (!typeFile.readText().contains("typealias")) { + if (!originalTypeFile.contains("typealias")) { imports += "import kotlinx.serialization.Serializable\n\n@Serializable" } val lines = - typeFile.readText() + originalTypeFile .split(Regex("\r?\n")) .drop(15) // Remove weird dukat imports .filter { !it.contains("definedExternally") } // Remove these weird getters and setters @@ -219,8 +221,6 @@ suspend fun downloadTypes( if (lines.last() != "" && lines.last() != "\r") { f.appendText("\n") } - - typeFile.delete() } } @@ -230,5 +230,5 @@ suspend fun downloadTypes( } suspend fun main() { - downloadTypes("0.19.6", "v0/x19/x6") + downloadTypes("0.19.11-donation-dialog.1", "v0/x19/x11") } diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/FeatureFlags.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/FeatureFlags.kt index dd91b402..4905b669 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/FeatureFlags.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/FeatureFlags.kt @@ -13,6 +13,7 @@ class FeatureFlags(val version: Version) { private val v0x19x2Plus = version.withoutSuffixes() >= "0.19.2".toVersion() private val v0x19x4Plus = version.withoutSuffixes() >= "0.19.4".toVersion() private val v0x19x6Plus = version.withoutSuffixes() >= "0.19.6".toVersion() + private val v0x19x11Plus = version.withoutSuffixes() >= "0.19.11".toVersion() /** * InstanceBlock Feature added in 0.19 @@ -98,4 +99,9 @@ class FeatureFlags(val version: Version) { * Search posts on title, feature added in 0.19.6 */ fun searchPostsOnTitle(): Boolean = v0x19x6Plus + + /** + * Mark donation dialog as shown, feature added in 0.19.11 + */ + fun markDonationDialogShown(): Boolean = v0x19x11Plus } diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApi.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApi.kt index 58dab43a..d5168a9e 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApi.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApi.kt @@ -140,8 +140,9 @@ object LemmyApi { 0, 1 -> it.vercruysse.lemmyapi.v0.x19.x0.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) 2, 3 -> it.vercruysse.lemmyapi.v0.x19.x3.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) 4, 5 -> it.vercruysse.lemmyapi.v0.x19.x4.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) - 6, 7, 8 -> it.vercruysse.lemmyapi.v0.x19.x6.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) - else -> it.vercruysse.lemmyapi.v0.x19.x6.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) + 6, 7, 8, 9, 10 -> it.vercruysse.lemmyapi.v0.x19.x6.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) + 11 -> it.vercruysse.lemmyapi.v0.x19.x11.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) + else -> it.vercruysse.lemmyapi.v0.x19.x11.LemmyApiUniWrapper(client, semverV, baseUrlInstance, auth) } else -> throw NotSupportedException("Unsupported Lemmy minor version: $version") diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApiBaseController.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApiBaseController.kt index b8cca2e3..92d1a8ea 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApiBaseController.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/LemmyApiBaseController.kt @@ -538,6 +538,13 @@ abstract class LemmyApiBaseController(client: HttpClient, actualVersion: Version */ abstract suspend fun leaveAdmin(): Result + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + abstract suspend fun markDonationDialogShown(): Result + /** * Add an admin to your site. * diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/datatypes/LocalUser.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/datatypes/LocalUser.kt index 238eaabb..721bed3b 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/datatypes/LocalUser.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/datatypes/LocalUser.kt @@ -37,4 +37,6 @@ data class LocalUser( val enable_keyboard_navigation: Boolean, val enable_animated_images: Boolean, val collapse_bot_comments: Boolean, + /** Added in 0.19.11 */ + val last_donation_notification: String = "", ) : DatatypeRoot, Identity diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x18/x5/LemmyApiUniWrapper.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x18/x5/LemmyApiUniWrapper.kt index ab13cf1f..e4d9f71d 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x18/x5/LemmyApiUniWrapper.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x18/x5/LemmyApiUniWrapper.kt @@ -737,6 +737,13 @@ internal class LemmyApiUniWrapper(client: HttpClient, actualVersion: Version, ba override suspend fun leaveAdmin(): Result = apiV18.leaveAdmin(it.vercruysse.lemmyapi.v0.x18.x5.datatypes.LeaveAdmin(auth ?: "")).map(transformer::toUni) + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = notSupported() + /** * Add an admin to your site. * diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x0/LemmyApiUniWrapper.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x0/LemmyApiUniWrapper.kt index a0322d6f..30750850 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x0/LemmyApiUniWrapper.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x0/LemmyApiUniWrapper.kt @@ -722,6 +722,13 @@ internal class LemmyApiUniWrapper(client: HttpClient, actualVersion: Version, ba override suspend fun leaveAdmin(): Result = api.leaveAdmin().map(transformer::toUni) + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = notSupported() + /** * Add an admin to your site. * diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiController.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiController.kt new file mode 100644 index 00000000..27a57ff2 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiController.kt @@ -0,0 +1,831 @@ +package it.vercruysse.lemmyapi.v0.x19.x11 + +import io.ktor.client.HttpClient +import it.vercruysse.lemmyapi.dto.ExportUserSettingsResponse +import it.vercruysse.lemmyapi.dto.ImportUserSettings +import it.vercruysse.lemmyapi.utils.getResult +import it.vercruysse.lemmyapi.utils.postResult +import it.vercruysse.lemmyapi.utils.putResult +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.* + +internal class LemmyApiController(client: HttpClient, auth: String?) : + LemmyApiRouter( + client, + auth, + ) { + + /** + * Gets the site, and your user data. + * + * @GET("site") + */ + override suspend fun getSite(): Result = + client.getResult("site") + + /** + * Create your site. + * + * @POST("site") + */ + override suspend fun createSite(form: CreateSite): Result = + client.postResult("site", form) + + /** + * Edit your site. + * + * @PUT("site") + */ + override suspend fun editSite(form: EditSite): Result = + client.putResult("site", form) + + /** + * Get the modlog. + * + * @GET("modlog") + */ + override suspend fun getModlog(form: GetModlog): Result = + client.getResult("modlog", form) + + /** + * Search lemmy. + * + * @GET("search") + */ + override suspend fun search(form: Search): Result = + client.getResult("search", form) + + /** + * Fetch a non-local / federated object. + * + * @GET("resolve_object") + */ + override suspend fun resolveObject(form: ResolveObject): Result = + client.getResult("resolve_object", form) + + /** + * Get / fetch a community. + * + * @GET("community") + */ + override suspend fun getCommunity(form: GetCommunity): Result = + client.getResult("community", form) + + /** + * Create a new community. + * + * @POST("community") + */ + override suspend fun createCommunity(form: CreateCommunity): Result = + client.postResult("community", form) + + /** + * Edit a community. + * + * @PUT("community") + */ + override suspend fun editCommunity(form: EditCommunity): Result = + client.putResult("community", form) + + /** + * Hide a community from public / "All" view. Admins only. + * + * @PUT("community/hide") + */ + override suspend fun hideCommunity(form: HideCommunity): Result = + client.putResult("community/hide", form) + + /** + * List communities, with various filters. + * + * @GET("community/list") + */ + override suspend fun listCommunities(form: ListCommunities): Result = + client.getResult("community/list", form) + + /** + * Follow / subscribe to a community. + * + * @POST("community/follow") + */ + override suspend fun followCommunity(form: FollowCommunity): Result = + client.postResult("community/follow", form) + + /** + * Block a community. + * + * @POST("community/block") + */ + override suspend fun blockCommunity(form: BlockCommunity): Result = + client.postResult("community/block", form) + + /** + * Delete a community. + * + * @POST("community/delete") + */ + override suspend fun deleteCommunity(form: DeleteCommunity): Result = + client.postResult("community/delete", form) + + /** + * A moderator remove for a community. + * + * @POST("community/remove") + */ + override suspend fun removeCommunity(form: RemoveCommunity): Result = + client.postResult("community/remove", form) + + /** + * Transfer your community to an existing moderator. + * + * @POST("community/transfer") + */ + override suspend fun transferCommunity(form: TransferCommunity): Result = + client.postResult("community/transfer", form) + + /** + * Ban a user from a community. + * + * @POST("community/ban_user") + */ + override suspend fun banFromCommunity(form: BanFromCommunity): Result = + client.postResult("community/ban_user", form) + + /** + * Add a moderator to your community. + * + * @POST("community/mod") + */ + override suspend fun addModToCommunity(form: AddModToCommunity): Result = + client.postResult("community/mod", form) + + /** + * Fetch federated instances. + * + * @GET("federated_instances") + */ + override suspend fun getFederatedInstances(): Result = + client.getResult("federated_instances") + + /** + * Get / fetch a post. + * + * @GET("post") + */ + override suspend fun getPost(form: GetPost): Result = + client.getResult("post", form) + + /** + * Edit a post. + * + * @PUT("post") + */ + override suspend fun editPost(form: EditPost): Result = + client.putResult("post", form) + + /** + * Create a post. + * + * @POST("post") + */ + override suspend fun createPost(form: CreatePost): Result = + client.postResult("post", form) + + /** + * Get / fetch posts, with various filters. + * + * @GET("post/list") + */ + override suspend fun getPosts(form: GetPosts): Result = + client.getResult("post/list", form) + + /** + * Delete a post. + * + * @POST("post/delete") + */ + override suspend fun deletePost(form: DeletePost): Result = + client.postResult("post/delete", form) + + /** + * A moderator remove for a post. + * + * @POST("post/remove") + */ + override suspend fun removePost(form: RemovePost): Result = + client.postResult("post/remove", form) + + /** + * Mark a post as read. + * + * @POST("post/mark_as_read") + */ + override suspend fun markPostAsRead(form: MarkPostAsRead): Result = + client.postResult("post/mark_as_read", form) + + /** + * A moderator can lock a post ( IE disable new comments ). + * + * @POST("post/lock") + */ + override suspend fun lockPost(form: LockPost): Result = + client.postResult("post/lock", form) + + /** + * A moderator can feature a community post ( IE stick it to the top of a community ). + * + * @POST("post/feature") + */ + override suspend fun featurePost(form: FeaturePost): Result = + client.postResult("post/feature", form) + + /** + * Like / vote on a post. + * + * @POST("post/like") + */ + override suspend fun createPostLike(form: CreatePostLike): Result = + client.postResult("post/like", form) + + /** + * Save a post. + * + * @PUT("post/save") + */ + override suspend fun savePost(form: SavePost): Result = + client.putResult("post/save", form) + + /** + * Report a post. + * + * @POST("post/report") + */ + override suspend fun createPostReport(form: CreatePostReport): Result = + client.postResult("post/report", form) + + /** + * Resolve a post report. Only a mod can do this. + * + * @PUT("post/report/resolve") + */ + override suspend fun resolvePostReport(form: ResolvePostReport): Result = + client.putResult("post/report/resolve", form) + + /** + * List post reports. + * + * @GET("post/report/list") + */ + override suspend fun listPostReports(form: ListPostReports): Result = + client.getResult("post/report/list", form) + + /** + * Fetch metadata for any given site. + * + * @GET("post/site_metadata") + */ + override suspend fun getSiteMetadata(form: GetSiteMetadata): Result = + client.getResult("post/site_metadata", form) + + /** + * Get / fetch comment. + * + * @GET("comment") + */ + override suspend fun getComment(form: GetComment): Result = + client.getResult("comment", form) + + /** + * Create a comment. + * + * @POST("comment") + */ + override suspend fun createComment(form: CreateComment): Result = + client.postResult("comment", form) + + /** + * Edit a comment. + * + * @PUT("comment") + */ + override suspend fun editComment(form: EditComment): Result = + client.putResult("comment", form) + + /** + * Get / fetch comments. + * + * @GET("comment/list") + */ + override suspend fun getComments(form: GetComments): Result = + client.getResult("comment/list", form) + + /** + * Delete a comment. + * + * @POST("comment/delete") + */ + override suspend fun deleteComment(form: DeleteComment): Result = + client.postResult("comment/delete", form) + + /** + * A moderator remove for a comment. + * + * @POST("comment/remove") + */ + override suspend fun removeComment(form: RemoveComment): Result = + client.postResult("comment/remove", form) + + /** + * Mark a comment as read. + * + * @POST("comment/mark_as_read") + */ + override suspend fun markCommentReplyAsRead(form: MarkCommentReplyAsRead): Result = + client.postResult("comment/mark_as_read", form) + + /** + * Distinguishes a comment (speak as moderator) + * + * @POST("comment/distinguish") + */ + override suspend fun distinguishComment(form: DistinguishComment): Result = + client.postResult("comment/distinguish", form) + + /** + * Like / vote on a comment. + * + * @POST("comment/like") + */ + override suspend fun createCommentLike(form: CreateCommentLike): Result = + client.postResult("comment/like", form) + + /** + * Save a comment. + * + * @PUT("comment/save") + */ + override suspend fun saveComment(form: SaveComment): Result = + client.putResult("comment/save", form) + + /** + * Report a comment. + * + * @POST("comment/report") + */ + override suspend fun createCommentReport(form: CreateCommentReport): Result = + client.postResult("comment/report", form) + + /** + * Resolve a comment report. Only a mod can do this. + * + * @PUT("comment/report/resolve") + */ + override suspend fun resolveCommentReport(form: ResolveCommentReport): Result = + client.putResult("comment/report/resolve", form) + + /** + * List comment reports. + * + * @GET("comment/report/list") + */ + override suspend fun listCommentReports(form: ListCommentReports): Result = + client.getResult("comment/report/list", form) + + /** + * Edit a private message. + * + * @PUT("private_message") + */ + override suspend fun editPrivateMessage(form: EditPrivateMessage): Result = + client.putResult("private_message", form) + + /** + * Create a private message. + * + * @POST("private_message") + */ + override suspend fun createPrivateMessage(form: CreatePrivateMessage): Result = + client.postResult("private_message", form) + + /** + * Get / fetch private messages. + * + * @GET("private_message/list") + */ + override suspend fun getPrivateMessages(form: GetPrivateMessages): Result = + client.getResult("private_message/list", form) + + /** + * Delete a private message. + * + * @POST("private_message/delete") + */ + override suspend fun deletePrivateMessage(form: DeletePrivateMessage): Result = + client.postResult("private_message/delete", form) + + /** + * Mark a private message as read. + * + * @POST("private_message/mark_as_read") + */ + override suspend fun markPrivateMessageAsRead(form: MarkPrivateMessageAsRead): Result = + client.postResult("private_message/mark_as_read", form) + + /** + * Create a report for a private message. + * + * @POST("private_message/report") + */ + override suspend fun createPrivateMessageReport(form: CreatePrivateMessageReport): Result = + client.postResult("private_message/report", form) + + /** + * Resolve a report for a private message. + * + * @PUT("private_message/report/resolve") + */ + override suspend fun resolvePrivateMessageReport(form: ResolvePrivateMessageReport): Result = + client.putResult("private_message/report/resolve", form) + + /** + * List private message reports. + * + * @GET("private_message/report/list") + */ + override suspend fun listPrivateMessageReports(form: ListPrivateMessageReports): Result = + client.getResult("private_message/report/list", form) + + /** + * Get the details for a person. + * + * @GET("user") + */ + override suspend fun getPersonDetails(form: GetPersonDetails): Result = + client.getResult("user", form) + + /** + * Register a new user. + * + * @POST("user/register") + */ + override suspend fun register(form: Register): Result = + client.postResult("user/register", form) + + /** + * Fetch a Captcha. + * + * @GET("user/get_captcha") + */ + override suspend fun getCaptcha(): Result = + client.getResult("user/get_captcha") + + /** + * Get mentions for your user. + * + * @GET("user/mention") + */ + override suspend fun getPersonMentions(form: GetPersonMentions): Result = + client.getResult("user/mention", form) + + /** + * Mark a person mention as read. + * + * @POST("user/mention/mark_as_read") + */ + override suspend fun markPersonMentionAsRead(form: MarkPersonMentionAsRead): Result = + client.postResult("user/mention/mark_as_read", form) + + /** + * Get comment replies. + * + * @GET("user/replies") + */ + override suspend fun getReplies(form: GetReplies): Result = + client.getResult("user/replies", form) + + /** + * Ban a person from your site. + * + * @POST("user/ban") + */ + override suspend fun banPerson(form: BanPerson): Result = + client.postResult("user/ban", form) + + /** + * Get a list of banned users + * + * @GET("user/banned") + */ + override suspend fun getBannedPersons(): Result = + client.getResult("user/banned") + + /** + * Block a person. + * + * @POST("user/block") + */ + override suspend fun blockPerson(form: BlockPerson): Result = + client.postResult("user/block", form) + + /** + * Log into lemmy. + * + * @POST("user/login") + */ + override suspend fun login(form: Login): Result = + client.postResult("user/login", form) + + /** + * Delete your account. + * + * @POST("user/delete_account") + */ + override suspend fun deleteAccount(form: DeleteAccount): Result = + client.postResult("user/delete_account", form) + + /** + * Reset your password. + * + * @POST("user/password_reset") + */ + override suspend fun resetPassword(form: PasswordReset): Result = + client.postResult("user/password_reset", form) + + /** + * Change your password from an email / token based reset. + * + * @POST("user/password_change") + */ + override suspend fun changePasswordAfterReset(form: PasswordChangeAfterReset): Result = + client.postResult("user/password_change", form) + + /** + * Mark all replies as read. + * + * @POST("user/mark_all_as_read") + */ + override suspend fun markAllAsRead(): Result = + client.postResult("user/mark_all_as_read") + + /** + * Save your user settings. + * + * @PUT("user/save_user_settings") + */ + override suspend fun saveUserSettings(form: SaveUserSettings): Result = + client.putResult("user/save_user_settings", form) + + /** + * Change your user password. + * + * @PUT("user/change_password") + */ + override suspend fun changePassword(form: ChangePassword): Result = + client.putResult("user/change_password", form) + + /** + * Get counts for your reports + * + * @GET("user/report_count") + */ + override suspend fun getReportCount(form: GetReportCount): Result = + client.getResult("user/report_count", form) + + /** + * Get your unread counts + * + * @GET("user/unread_count") + */ + override suspend fun getUnreadCount(): Result = + client.getResult("user/unread_count") + + /** + * Verify your email + * + * @POST("user/verify_email") + */ + override suspend fun verifyEmail(form: VerifyEmail): Result = + client.postResult("user/verify_email", form) + + /** + * Leave the Site admins. + * + * @POST("user/leave_admin") + */ + override suspend fun leaveAdmin(): Result = + client.postResult("user/leave_admin") + + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = + client.postResult("user/donation_dialog_shown") + + /** + * Add an admin to your site. + * + * @POST("admin/add") + */ + override suspend fun addAdmin(form: AddAdmin): Result = + client.postResult("admin/add", form) + + /** + * Get the unread registration applications count. + * + * @GET("admin/registration_application/count") + */ + override suspend fun getUnreadRegistrationApplicationCount(): Result = + client.getResult("admin/registration_application/count") + + /** + * List the registration applications. + * + * @GET("admin/registration_application/list") + */ + override suspend fun listRegistrationApplications(form: ListRegistrationApplications): Result = + client.getResult("admin/registration_application/list", form) + + /** + * Approve a registration application + * + * @PUT("admin/registration_application/approve") + */ + override suspend fun approveRegistrationApplication(form: ApproveRegistrationApplication): Result = + client.putResult("admin/registration_application/approve", form) + + /** + * Purge / Delete a person from the database. + * + * @POST("admin/purge/person") + */ + override suspend fun purgePerson(form: PurgePerson): Result = + client.postResult("admin/purge/person", form) + + /** + * Purge / Delete a community from the database. + * + * @POST("admin/purge/community") + */ + override suspend fun purgeCommunity(form: PurgeCommunity): Result = + client.postResult("admin/purge/community", form) + + /** + * Purge / Delete a post from the database. + * + * @POST("admin/purge/post") + */ + override suspend fun purgePost(form: PurgePost): Result = + client.postResult("admin/purge/post", form) + + /** + * Purge / Delete a comment from the database. + * + * @POST("admin/purge/comment") + */ + override suspend fun purgeComment(form: PurgeComment): Result = + client.postResult("admin/purge/comment", form) + + /** + * Edit an existing custom emoji + * + * @PUT("custom_emoji") + */ + override suspend fun editCustomEmoji(form: EditCustomEmoji): Result = + client.putResult("custom_emoji", form) + + /** + * Create a new custom emoji + * + * @POST("custom_emoji") + */ + override suspend fun createCustomEmoji(form: CreateCustomEmoji): Result = + client.postResult("custom_emoji", form) + + /** + * Delete a custom emoji + * + * @POST("custom_emoji/delete") + */ + override suspend fun deleteCustomEmoji(form: DeleteCustomEmoji): Result = + client.postResult("custom_emoji/delete", form) + + /** + * Block an instance. + * + * @POST("site/block") + */ + override suspend fun blockInstance(form: BlockInstance): Result = + client.postResult("site/block", form) + + /** + * Generate a TOTP / two-factor secret. + * + * Afterwards you need to call `/user/totp/update` with a valid token to enable it. + * + * @POST("user/totp/generate") + */ + override suspend fun generateTotpSecret(): Result = + client.postResult("user/totp/generate") + + /** + * Enable / Disable TOTP / two-factor authentication. + * + * To enable, you need to first call `/user/totp/generate` and then pass a valid token to this. + * + * Disabling is only possible if 2FA was previously enabled. Again it is necessary to pass a valid token. + * + * @POST("user/totp/update") + */ + override suspend fun updateTotp(form: UpdateTotp): Result = + client.postResult("user/totp/update", form) + + /** + * Export a backup of your user settings, including your saved content, + * followed communities, and blocks. + * + * @GET("user/export_settings") + */ + override suspend fun exportUserSettings(): Result = + client.getResult("user/export_settings") + + /** + * Import a backup of your user settings. + * + * @POST("user/import_settings") + */ + override suspend fun importUserSettings(form: ImportUserSettings): Result = + client.postResult("user/import_settings", form) + + /** + * List login tokens for your user + * + * @GET("user/list_logins") + */ + override suspend fun listLogins(): Result> = + client.getResult("user/list_logins") + + /** + * Returns an error message if your auth token is invalid + * + * @GET("user/validate_auth") + */ + override suspend fun validateAuth(): Result = + client.getResult("user/validate_auth") + + /** + * Invalidate the currently used auth token. + * + * @POST("user/logout") + */ + override suspend fun logout(): Result = + client.postResult("user/logout") + + /** + * List a post's likes. Admin-only. + * + * @GET("post/like/list") + */ + override suspend fun listPostLikes(form: ListPostLikes): Result = + client.getResult("post/like/list", form) + + /** + * List a comment's likes. Admin-only. + * + * @GET("comment/like/list") + */ + override suspend fun listCommentLikes(form: ListCommentLikes): Result = + client.getResult("comment/like/list", form) + + /** + * List all the media for your user + * + * @GET("account/list_media") + */ + override suspend fun listMedia(form: ListMedia): Result = + client.getResult("account/list_media", form) + + /** + * List all the media known to your instance. + * + * @GET("admin/list_all_media") + */ + override suspend fun listAllMedia(form: ListMedia): Result = + client.getResult("admin/list_all_media", form) + + /** + * Hide a post from list views. + * + * @POST("post/hide") + */ + override suspend fun hidePost(form: HidePost): Result = + client.postResult("post/hide", form) + + /** + * Get the application a user submitted when they first registered their account + * + * @GET("admin/registration_application") + */ + override suspend fun getRegistrationApplication(form: GetRegistrationApplication): Result = + client.getResult("admin/registration_application", form) +} diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiRouter.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiRouter.kt new file mode 100644 index 00000000..36c59b88 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiRouter.kt @@ -0,0 +1,724 @@ +package it.vercruysse.lemmyapi.v0.x19.x11 + +import io.ktor.client.HttpClient +import it.vercruysse.lemmyapi.AuthBaseClient +import it.vercruysse.lemmyapi.dto.ExportUserSettingsResponse +import it.vercruysse.lemmyapi.dto.ImportUserSettings +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.* + +internal abstract class LemmyApiRouter(client: HttpClient, auth: String?) : AuthBaseClient(client, auth) { + + /** + * Gets the site, and your user data. + * + * @GET("site") + */ + abstract suspend fun getSite(): Result + + /** + * Create your site. + * + * @POST("site") + */ + abstract suspend fun createSite(form: CreateSite): Result + + /** + * Edit your site. + * + * @PUT("site") + */ + abstract suspend fun editSite(form: EditSite): Result + + /** + * Get the modlog. + * + * @GET("modlog") + */ + abstract suspend fun getModlog(form: GetModlog): Result + + /** + * Search lemmy. + * + * @GET("search") + */ + abstract suspend fun search(form: Search): Result + + /** + * Fetch a non-local / federated object. + * + * @GET("resolve_object") + */ + abstract suspend fun resolveObject(form: ResolveObject): Result + + /** + * Get / fetch a community. + * + * @GET("community") + */ + abstract suspend fun getCommunity(form: GetCommunity): Result + + /** + * Create a new community. + * + * @POST("community") + */ + abstract suspend fun createCommunity(form: CreateCommunity): Result + + /** + * Edit a community. + * + * @PUT("community") + */ + abstract suspend fun editCommunity(form: EditCommunity): Result + + /** + * Hide a community from public / "All" view. Admins only. + * + * @PUT("community/hide") + */ + abstract suspend fun hideCommunity(form: HideCommunity): Result + + /** + * List communities, with various filters. + * + * @GET("community/list") + */ + abstract suspend fun listCommunities(form: ListCommunities): Result + + /** + * Follow / subscribe to a community. + * + * @POST("community/follow") + */ + abstract suspend fun followCommunity(form: FollowCommunity): Result + + /** + * Block a community. + * + * @POST("community/block") + */ + abstract suspend fun blockCommunity(form: BlockCommunity): Result + + /** + * Delete a community. + * + * @POST("community/delete") + */ + abstract suspend fun deleteCommunity(form: DeleteCommunity): Result + + /** + * A moderator remove for a community. + * + * @POST("community/remove") + */ + abstract suspend fun removeCommunity(form: RemoveCommunity): Result + + /** + * Transfer your community to an existing moderator. + * + * @POST("community/transfer") + */ + abstract suspend fun transferCommunity(form: TransferCommunity): Result + + /** + * Ban a user from a community. + * + * @POST("community/ban_user") + */ + abstract suspend fun banFromCommunity(form: BanFromCommunity): Result + + /** + * Add a moderator to your community. + * + * @POST("community/mod") + */ + abstract suspend fun addModToCommunity(form: AddModToCommunity): Result + + /** + * Fetch federated instances. + * + * @GET("federated_instances") + */ + abstract suspend fun getFederatedInstances(): Result + + /** + * Get / fetch a post. + * + * @GET("post") + */ + abstract suspend fun getPost(form: GetPost): Result + + /** + * Edit a post. + * + * @PUT("post") + */ + abstract suspend fun editPost(form: EditPost): Result + + /** + * Create a post. + * + * @POST("post") + */ + abstract suspend fun createPost(form: CreatePost): Result + + /** + * Get / fetch posts, with various filters. + * + * @GET("post/list") + */ + abstract suspend fun getPosts(form: GetPosts): Result + + /** + * Delete a post. + * + * @POST("post/delete") + */ + abstract suspend fun deletePost(form: DeletePost): Result + + /** + * A moderator remove for a post. + * + * @POST("post/remove") + */ + abstract suspend fun removePost(form: RemovePost): Result + + /** + * Mark a post as read. + * + * @POST("post/mark_as_read") + */ + abstract suspend fun markPostAsRead(form: MarkPostAsRead): Result + + /** + * A moderator can lock a post ( IE disable new comments ). + * + * @POST("post/lock") + */ + abstract suspend fun lockPost(form: LockPost): Result + + /** + * A moderator can feature a community post ( IE stick it to the top of a community ). + * + * @POST("post/feature") + */ + abstract suspend fun featurePost(form: FeaturePost): Result + + /** + * Like / vote on a post. + * + * @POST("post/like") + */ + abstract suspend fun createPostLike(form: CreatePostLike): Result + + /** + * Save a post. + * + * @PUT("post/save") + */ + abstract suspend fun savePost(form: SavePost): Result + + /** + * Report a post. + * + * @POST("post/report") + */ + abstract suspend fun createPostReport(form: CreatePostReport): Result + + /** + * Resolve a post report. Only a mod can do this. + * + * @PUT("post/report/resolve") + */ + abstract suspend fun resolvePostReport(form: ResolvePostReport): Result + + /** + * List post reports. + * + * @GET("post/report/list") + */ + abstract suspend fun listPostReports(form: ListPostReports): Result + + /** + * Fetch metadata for any given site. + * + * @GET("post/site_metadata") + */ + abstract suspend fun getSiteMetadata(form: GetSiteMetadata): Result + + /** + * Get / fetch comment. + * + * @GET("comment") + */ + abstract suspend fun getComment(form: GetComment): Result + + /** + * Create a comment. + * + * @POST("comment") + */ + abstract suspend fun createComment(form: CreateComment): Result + + /** + * Edit a comment. + * + * @PUT("comment") + */ + abstract suspend fun editComment(form: EditComment): Result + + /** + * Get / fetch comments. + * + * @GET("comment/list") + */ + abstract suspend fun getComments(form: GetComments): Result + + /** + * Delete a comment. + * + * @POST("comment/delete") + */ + abstract suspend fun deleteComment(form: DeleteComment): Result + + /** + * A moderator remove for a comment. + * + * @POST("comment/remove") + */ + abstract suspend fun removeComment(form: RemoveComment): Result + + /** + * Mark a comment as read. + * + * @POST("comment/mark_as_read") + */ + abstract suspend fun markCommentReplyAsRead(form: MarkCommentReplyAsRead): Result + + /** + * Distinguishes a comment (speak as moderator) + * + * @POST("comment/distinguish") + */ + abstract suspend fun distinguishComment(form: DistinguishComment): Result + + /** + * Like / vote on a comment. + * + * @POST("comment/like") + */ + abstract suspend fun createCommentLike(form: CreateCommentLike): Result + + /** + * Save a comment. + * + * @PUT("comment/save") + */ + abstract suspend fun saveComment(form: SaveComment): Result + + /** + * Report a comment. + * + * @POST("comment/report") + */ + abstract suspend fun createCommentReport(form: CreateCommentReport): Result + + /** + * Resolve a comment report. Only a mod can do this. + * + * @PUT("comment/report/resolve") + */ + abstract suspend fun resolveCommentReport(form: ResolveCommentReport): Result + + /** + * List comment reports. + * + * @GET("comment/report/list") + */ + abstract suspend fun listCommentReports(form: ListCommentReports): Result + + /** + * Edit a private message. + * + * @PUT("private_message") + */ + abstract suspend fun editPrivateMessage(form: EditPrivateMessage): Result + + /** + * Create a private message. + * + * @POST("private_message") + */ + abstract suspend fun createPrivateMessage(form: CreatePrivateMessage): Result + + /** + * Get / fetch private messages. + * + * @GET("private_message/list") + */ + abstract suspend fun getPrivateMessages(form: GetPrivateMessages): Result + + /** + * Delete a private message. + * + * @POST("private_message/delete") + */ + abstract suspend fun deletePrivateMessage(form: DeletePrivateMessage): Result + + /** + * Mark a private message as read. + * + * @POST("private_message/mark_as_read") + */ + abstract suspend fun markPrivateMessageAsRead(form: MarkPrivateMessageAsRead): Result + + /** + * Create a report for a private message. + * + * @POST("private_message/report") + */ + abstract suspend fun createPrivateMessageReport(form: CreatePrivateMessageReport): Result + + /** + * Resolve a report for a private message. + * + * @PUT("private_message/report/resolve") + */ + abstract suspend fun resolvePrivateMessageReport(form: ResolvePrivateMessageReport): Result + + /** + * List private message reports. + * + * @GET("private_message/report/list") + */ + abstract suspend fun listPrivateMessageReports(form: ListPrivateMessageReports): Result + + /** + * Get the details for a person. + * + * @GET("user") + */ + abstract suspend fun getPersonDetails(form: GetPersonDetails): Result + + /** + * Register a new user. + * + * @POST("user/register") + */ + abstract suspend fun register(form: Register): Result + + /** + * Fetch a Captcha. + * + * @GET("user/get_captcha") + */ + abstract suspend fun getCaptcha(): Result + + /** + * Get mentions for your user. + * + * @GET("user/mention") + */ + abstract suspend fun getPersonMentions(form: GetPersonMentions): Result + + /** + * Mark a person mention as read. + * + * @POST("user/mention/mark_as_read") + */ + abstract suspend fun markPersonMentionAsRead(form: MarkPersonMentionAsRead): Result + + /** + * Get comment replies. + * + * @GET("user/replies") + */ + abstract suspend fun getReplies(form: GetReplies): Result + + /** + * Ban a person from your site. + * + * @POST("user/ban") + */ + abstract suspend fun banPerson(form: BanPerson): Result + + /** + * Get a list of banned users + * + * @GET("user/banned") + */ + abstract suspend fun getBannedPersons(): Result + + /** + * Block a person. + * + * @POST("user/block") + */ + abstract suspend fun blockPerson(form: BlockPerson): Result + + /** + * Log into lemmy. + * + * @POST("user/login") + */ + abstract suspend fun login(form: Login): Result + + /** + * Delete your account. + * + * @POST("user/delete_account") + */ + abstract suspend fun deleteAccount(form: DeleteAccount): Result + + /** + * Reset your password. + * + * @POST("user/password_reset") + */ + abstract suspend fun resetPassword(form: PasswordReset): Result + + /** + * Change your password from an email / token based reset. + * + * @POST("user/password_change") + */ + abstract suspend fun changePasswordAfterReset(form: PasswordChangeAfterReset): Result + + /** + * Mark all replies as read. + * + * @POST("user/mark_all_as_read") + */ + abstract suspend fun markAllAsRead(): Result + + /** + * Save your user settings. + * + * @PUT("user/save_user_settings") + */ + abstract suspend fun saveUserSettings(form: SaveUserSettings): Result + + /** + * Change your user password. + * + * @PUT("user/change_password") + */ + abstract suspend fun changePassword(form: ChangePassword): Result + + /** + * Get counts for your reports + * + * @GET("user/report_count") + */ + abstract suspend fun getReportCount(form: GetReportCount): Result + + /** + * Get your unread counts + * + * @GET("user/unread_count") + */ + abstract suspend fun getUnreadCount(): Result + + /** + * Verify your email + * + * @POST("user/verify_email") + */ + abstract suspend fun verifyEmail(form: VerifyEmail): Result + + /** + * Leave the Site admins. + * + * @POST("user/leave_admin") + */ + abstract suspend fun leaveAdmin(): Result + + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + abstract suspend fun markDonationDialogShown(): Result + + /** + * Add an admin to your site. + * + * @POST("admin/add") + */ + abstract suspend fun addAdmin(form: AddAdmin): Result + + /** + * Get the unread registration applications count. + * + * @GET("admin/registration_application/count") + */ + abstract suspend fun getUnreadRegistrationApplicationCount(): Result + + /** + * List the registration applications. + * + * @GET("admin/registration_application/list") + */ + abstract suspend fun listRegistrationApplications(form: ListRegistrationApplications): Result + + /** + * Approve a registration application + * + * @PUT("admin/registration_application/approve") + */ + abstract suspend fun approveRegistrationApplication(form: ApproveRegistrationApplication): Result + + /** + * Purge / Delete a person from the database. + * + * @POST("admin/purge/person") + */ + abstract suspend fun purgePerson(form: PurgePerson): Result + + /** + * Purge / Delete a community from the database. + * + * @POST("admin/purge/community") + */ + abstract suspend fun purgeCommunity(form: PurgeCommunity): Result + + /** + * Purge / Delete a post from the database. + * + * @POST("admin/purge/post") + */ + abstract suspend fun purgePost(form: PurgePost): Result + + /** + * Purge / Delete a comment from the database. + * + * @POST("admin/purge/comment") + */ + abstract suspend fun purgeComment(form: PurgeComment): Result + + /** + * Edit an existing custom emoji + * + * @PUT("custom_emoji") + */ + abstract suspend fun editCustomEmoji(form: EditCustomEmoji): Result + + /** + * Create a new custom emoji + * + * @POST("custom_emoji") + */ + abstract suspend fun createCustomEmoji(form: CreateCustomEmoji): Result + + /** + * Delete a custom emoji + * + * @POST("custom_emoji/delete") + */ + abstract suspend fun deleteCustomEmoji(form: DeleteCustomEmoji): Result + + /** + * Block an instance. + * + * @POST("site/block") + */ + abstract suspend fun blockInstance(form: BlockInstance): Result + + /** + * Generate a TOTP / two-factor secret. + * + * Afterwards you need to call `/user/totp/update` with a valid token to enable it. + * + * @POST("user/totp/generate") + */ + abstract suspend fun generateTotpSecret(): Result + + /** + * Enable / Disable TOTP / two-factor authentication. + * + * To enable, you need to first call `/user/totp/generate` and then pass a valid token to this. + * + * Disabling is only possible if 2FA was previously enabled. Again it is necessary to pass a valid token. + * + * @POST("user/totp/update") + */ + abstract suspend fun updateTotp(form: UpdateTotp): Result + + /** + * Export a backup of your user settings, including your saved content, + * followed communities, and blocks. + * + * @GET("user/export_settings") + */ + abstract suspend fun exportUserSettings(): Result + + /** + * Import a backup of your user settings. + * + * @POST("user/import_settings") + */ + abstract suspend fun importUserSettings(form: ImportUserSettings): Result + + /** + * List login tokens for your user + * + * @GET("user/list_logins") + */ + abstract suspend fun listLogins(): Result> + + /** + * Returns an error message if your auth token is invalid + * + * @GET("user/validate_auth") + */ + abstract suspend fun validateAuth(): Result + + /** + * Invalidate the currently used auth token. + * + * @POST("user/logout") + */ + abstract suspend fun logout(): Result + + /** + * List a post's likes. Admin-only. + * + * @GET("post/like/list") + */ + abstract suspend fun listPostLikes(form: ListPostLikes): Result + + /** + * List a comment's likes. Admin-only. + * + * @GET("comment/like/list") + */ + abstract suspend fun listCommentLikes(form: ListCommentLikes): Result + + /** + * List all the media for your user + * + * @GET("account/list_media") + */ + abstract suspend fun listMedia(form: ListMedia): Result + + /** + * List all the media known to your instance. + * + * @GET("admin/list_all_media") + */ + abstract suspend fun listAllMedia(form: ListMedia): Result + + /** + * Hide a post from list views. + * + * @POST("post/hide") + */ + abstract suspend fun hidePost(form: HidePost): Result + + /** + * Get the application a user submitted when they first registered their account + * + * @GET("admin/registration_application") + */ + abstract suspend fun getRegistrationApplication(form: GetRegistrationApplication): Result +} diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiUniWrapper.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiUniWrapper.kt new file mode 100644 index 00000000..48cab544 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/LemmyApiUniWrapper.kt @@ -0,0 +1,961 @@ +package it.vercruysse.lemmyapi.v0.x19.x11 + +import io.github.z4kn4fein.semver.Version +import io.ktor.client.HttpClient +import it.vercruysse.lemmyapi.LemmyApiBaseController +import it.vercruysse.lemmyapi.dto.ExportUserSettingsResponse +import it.vercruysse.lemmyapi.dto.ImportUserSettings + +internal class LemmyApiUniWrapper(client: HttpClient, actualVersion: Version, baseUrl: String, auth: String?) : + LemmyApiBaseController(client, actualVersion, baseUrl, auth) { + private val api = LemmyApiController(client, auth) + private val transformer = Transformer() + + override var auth: String? + get() = super.auth + set(value) { + super.auth = value + api.auth = value + } + + /** + * Gets the site, and your user data. + * + * @GET("site") + */ + override suspend fun getSite(): Result = api.getSite().map { transformer.toUni(it) } + + /** + * Create your site. + * + * @POST("site") + */ + override suspend fun createSite( + form: it.vercruysse.lemmyapi.datatypes.CreateSite, + ): Result = api.createSite(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Edit your site. + * + * @PUT("site") + */ + override suspend fun editSite(form: it.vercruysse.lemmyapi.datatypes.EditSite): Result = + api.editSite(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get the modlog. + * + * @GET("modlog") + */ + override suspend fun getModlog( + form: it.vercruysse.lemmyapi.datatypes.GetModlog, + ): Result = + api.getModlog(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Search lemmy. + * + * @GET("search") + */ + override suspend fun search(form: it.vercruysse.lemmyapi.datatypes.Search): Result = + api.search(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Fetch a non-local / federated object. + * + * @GET("resolve_object") + */ + override suspend fun resolveObject( + form: it.vercruysse.lemmyapi.datatypes.ResolveObject, + ): Result = + api.resolveObject(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get / fetch a community. + * + * @GET("community") + */ + override suspend fun getCommunity( + form: it.vercruysse.lemmyapi.datatypes.GetCommunity, + ): Result = + api.getCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Create a new community. + * + * @POST("community") + */ + override suspend fun createCommunity( + form: it.vercruysse.lemmyapi.datatypes.CreateCommunity, + ): Result = + api.createCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Edit a community. + * + * @PUT("community") + */ + override suspend fun editCommunity( + form: it.vercruysse.lemmyapi.datatypes.EditCommunity, + ): Result = + api.editCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Hide a community from public view. + * + * @PUT("community/hide") + */ + override suspend fun hideCommunity(form: it.vercruysse.lemmyapi.datatypes.HideCommunity): Result = + api.hideCommunity(transformer.fromUni(form)) + + /** + * List communities, with various filters. + * + * @GET("community/list") + */ + override suspend fun listCommunities( + form: it.vercruysse.lemmyapi.datatypes.ListCommunities, + ): Result = + api.listCommunities(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Follow / subscribe to a community. + * + * @POST("community/follow") + */ + override suspend fun followCommunity( + form: it.vercruysse.lemmyapi.datatypes.FollowCommunity, + ): Result = + api.followCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Block a community. + * + * @POST("community/block") + */ + override suspend fun blockCommunity( + form: it.vercruysse.lemmyapi.datatypes.BlockCommunity, + ): Result = + api.blockCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Delete a community. + * + * @POST("community/delete") + */ + override suspend fun deleteCommunity( + form: it.vercruysse.lemmyapi.datatypes.DeleteCommunity, + ): Result = + api.deleteCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * A moderator remove for a community. + * + * @POST("community/remove") + */ + override suspend fun removeCommunity( + form: it.vercruysse.lemmyapi.datatypes.RemoveCommunity, + ): Result = + api.removeCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Transfer your community to an existing moderator. + * + * @POST("community/transfer") + */ + override suspend fun transferCommunity( + form: it.vercruysse.lemmyapi.datatypes.TransferCommunity, + ): Result = + api.transferCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Ban a user from a community. + * + * @POST("community/ban_user") + */ + override suspend fun banFromCommunity( + form: it.vercruysse.lemmyapi.datatypes.BanFromCommunity, + ): Result = + api.banFromCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Add a moderator to your community. + * + * @POST("community/mod") + */ + override suspend fun addModToCommunity( + form: it.vercruysse.lemmyapi.datatypes.AddModToCommunity, + ): Result = + api.addModToCommunity(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Fetch federated instances. + * + * @GET("federated_instances") + */ + override suspend fun getFederatedInstances(): Result = + api.getFederatedInstances().map(transformer::toUni) + + /** + * Get / fetch a post. + * + * @GET("post") + */ + override suspend fun getPost(form: it.vercruysse.lemmyapi.datatypes.GetPost): Result = + api.getPost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Edit a post. + * + * @PUT("post") + */ + override suspend fun editPost(form: it.vercruysse.lemmyapi.datatypes.EditPost): Result = + api.editPost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Create a post. + * + * @POST("post") + */ + override suspend fun createPost( + form: it.vercruysse.lemmyapi.datatypes.CreatePost, + ): Result = + api.createPost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get / fetch posts, with various filters. + * + * @GET("post/list") + */ + override suspend fun getPosts( + form: it.vercruysse.lemmyapi.datatypes.GetPosts, + ): Result = + api.getPosts(transformer.fromUni(form.toValidatedForm())).map(transformer::toUni) + + /** + * Delete a post. + * + * @POST("post/delete") + */ + override suspend fun deletePost( + form: it.vercruysse.lemmyapi.datatypes.DeletePost, + ): Result = + api.deletePost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * A moderator remove for a post. + * + * @POST("post/remove") + */ + override suspend fun removePost( + form: it.vercruysse.lemmyapi.datatypes.RemovePost, + ): Result = + api.removePost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Mark a post as read. + * + * @POST("post/mark_as_read") + */ + override suspend fun markPostAsRead(form: it.vercruysse.lemmyapi.datatypes.MarkPostAsRead): Result = + api.markPostAsRead(transformer.fromUni(form)) + + /** + * A moderator can lock a post ( IE disable new comments ). + * + * @POST("post/lock") + */ + override suspend fun lockPost(form: it.vercruysse.lemmyapi.datatypes.LockPost): Result = + api.lockPost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * A moderator can feature a community post ( IE stick it to the top of a community ). + * + * @POST("post/feature") + */ + override suspend fun featurePost( + form: it.vercruysse.lemmyapi.datatypes.FeaturePost, + ): Result = + api.featurePost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Like / vote on a post. + * + * @POST("post/like") + */ + override suspend fun createPostLike( + form: it.vercruysse.lemmyapi.datatypes.CreatePostLike, + ): Result = + api.createPostLike(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Save a post. + * + * @PUT("post/save") + */ + override suspend fun savePost(form: it.vercruysse.lemmyapi.datatypes.SavePost): Result = + api.savePost(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Report a post. + * + * @POST("post/report") + */ + override suspend fun createPostReport( + form: it.vercruysse.lemmyapi.datatypes.CreatePostReport, + ): Result = + api.createPostReport(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Resolve a post report. Only a mod can do this. + * + * @PUT("post/report/resolve") + */ + override suspend fun resolvePostReport( + form: it.vercruysse.lemmyapi.datatypes.ResolvePostReport, + ): Result = + api.resolvePostReport(transformer.fromUni(form)).map(transformer::toUni) + + /** + * List post reports. + * + * @GET("post/report/list") + */ + override suspend fun listPostReports( + form: it.vercruysse.lemmyapi.datatypes.ListPostReports, + ): Result = + api.listPostReports(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Fetch metadata for any given site. + * + * @GET("post/site_metadata") + */ + override suspend fun getSiteMetadata( + form: it.vercruysse.lemmyapi.datatypes.GetSiteMetadata, + ): Result = + api.getSiteMetadata(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get / fetch comment. + * + * @GET("comment") + */ + override suspend fun getComment( + form: it.vercruysse.lemmyapi.datatypes.GetComment, + ): Result = + api.getComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Create a comment. + * + * @POST("comment") + */ + override suspend fun createComment( + form: it.vercruysse.lemmyapi.datatypes.CreateComment, + ): Result = + api.createComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Edit a comment. + * + * @PUT("comment") + */ + override suspend fun editComment( + form: it.vercruysse.lemmyapi.datatypes.EditComment, + ): Result = + api.editComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get / fetch comments. + * + * @GET("comment/list") + */ + override suspend fun getComments( + form: it.vercruysse.lemmyapi.datatypes.GetComments, + ): Result = + api.getComments(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Delete a comment. + * + * @POST("comment/delete") + */ + override suspend fun deleteComment( + form: it.vercruysse.lemmyapi.datatypes.DeleteComment, + ): Result = + api.deleteComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * A moderator remove for a comment. + * + * @POST("comment/remove") + */ + override suspend fun removeComment( + form: it.vercruysse.lemmyapi.datatypes.RemoveComment, + ): Result = + api.removeComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Mark a comment as read. + * + * @POST("comment/mark_as_read") + */ + override suspend fun markCommentReplyAsRead( + form: it.vercruysse.lemmyapi.datatypes.MarkCommentReplyAsRead, + ): Result = + api.markCommentReplyAsRead(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Distinguishes a comment (speak as moderator) + * + * @POST("comment/distinguish") + */ + override suspend fun distinguishComment( + form: it.vercruysse.lemmyapi.datatypes.DistinguishComment, + ): Result = + api.distinguishComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Like / vote on a comment. + * + * @POST("comment/like") + */ + override suspend fun createCommentLike( + form: it.vercruysse.lemmyapi.datatypes.CreateCommentLike, + ): Result = + api.createCommentLike(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Save a comment. + * + * @PUT("comment/save") + */ + override suspend fun saveComment( + form: it.vercruysse.lemmyapi.datatypes.SaveComment, + ): Result = + api.saveComment(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Report a comment. + * + * @POST("comment/report") + */ + override suspend fun createCommentReport( + form: it.vercruysse.lemmyapi.datatypes.CreateCommentReport, + ): Result = + api.createCommentReport(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Resolve a comment report. Only a mod can do this. + * + * @PUT("comment/report/resolve") + */ + override suspend fun resolveCommentReport( + form: it.vercruysse.lemmyapi.datatypes.ResolveCommentReport, + ): Result = + api.resolveCommentReport(transformer.fromUni(form)).map(transformer::toUni) + + /** + * List comment reports. + * + * @GET("comment/report/list") + */ + override suspend fun listCommentReports( + form: it.vercruysse.lemmyapi.datatypes.ListCommentReports, + ): Result = + api.listCommentReports(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Edit a private message. + * + * @PUT("private_message") + */ + override suspend fun editPrivateMessage( + form: it.vercruysse.lemmyapi.datatypes.EditPrivateMessage, + ): Result = + api.editPrivateMessage(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Create a private message. + * + * @POST("private_message") + */ + override suspend fun createPrivateMessage( + form: it.vercruysse.lemmyapi.datatypes.CreatePrivateMessage, + ): Result = + api.createPrivateMessage(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get / fetch private messages. + * + * @GET("private_message/list") + */ + override suspend fun getPrivateMessages( + form: it.vercruysse.lemmyapi.datatypes.GetPrivateMessages, + ): Result = + api.getPrivateMessages(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Delete a private message. + * + * @POST("private_message/delete") + */ + override suspend fun deletePrivateMessage( + form: it.vercruysse.lemmyapi.datatypes.DeletePrivateMessage, + ): Result = + api.deletePrivateMessage(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Mark a private message as read. + * + * @POST("private_message/mark_as_read") + */ + override suspend fun markPrivateMessageAsRead( + form: it.vercruysse.lemmyapi.datatypes.MarkPrivateMessageAsRead, + ): Result = + api.markPrivateMessageAsRead(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Create a report for a private message. + * + * @POST("private_message/report") + */ + override suspend fun createPrivateMessageReport( + form: it.vercruysse.lemmyapi.datatypes.CreatePrivateMessageReport, + ): Result = + api.createPrivateMessageReport(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Resolve a report for a private message. + * + * @PUT("private_message/report/resolve") + */ + override suspend fun resolvePrivateMessageReport( + form: it.vercruysse.lemmyapi.datatypes.ResolvePrivateMessageReport, + ): Result = + api.resolvePrivateMessageReport(transformer.fromUni(form)).map(transformer::toUni) + + /** + * List private message reports. + * + * @GET("private_message/report/list") + */ + override suspend fun listPrivateMessageReports( + form: it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReports, + ): Result = + api.listPrivateMessageReports(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get the details for a person. + * + * @GET("user") + */ + override suspend fun getPersonDetails( + form: it.vercruysse.lemmyapi.datatypes.GetPersonDetails, + ): Result = + api.getPersonDetails(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Register a new user. + * + * @POST("user/register") + */ + override suspend fun register(form: it.vercruysse.lemmyapi.datatypes.Register): Result = + api.register(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Fetch a Captcha. + * + * @GET("user/get_captcha") + */ + override suspend fun getCaptcha(): Result = + api.getCaptcha().map(transformer::toUni) + + /** + * Get mentions for your user. + * + * @GET("user/mention") + */ + override suspend fun getPersonMentions( + form: it.vercruysse.lemmyapi.datatypes.GetPersonMentions, + ): Result = + api.getPersonMentions(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Mark a person mention as read. + * + * @POST("user/mention/mark_as_read") + */ + override suspend fun markPersonMentionAsRead( + form: it.vercruysse.lemmyapi.datatypes.MarkPersonMentionAsRead, + ): Result = + api.markPersonMentionAsRead(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get comment replies. + * + * @GET("user/replies") + */ + override suspend fun getReplies( + form: it.vercruysse.lemmyapi.datatypes.GetReplies, + ): Result = + api.getReplies(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Ban a person from your site. + * + * @POST("user/ban") + */ + override suspend fun banPerson( + form: it.vercruysse.lemmyapi.datatypes.BanPerson, + ): Result = + api.banPerson(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get a list of banned users + * + * @GET("user/banned") + */ + override suspend fun getBannedPersons(): Result = + api.getBannedPersons().map(transformer::toUni) + + /** + * Block a person. + * + * @POST("user/block") + */ + override suspend fun blockPerson( + form: it.vercruysse.lemmyapi.datatypes.BlockPerson, + ): Result = + api.blockPerson(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Log into lemmy. + * + * @POST("user/login") + */ + override suspend fun login(form: it.vercruysse.lemmyapi.datatypes.Login): Result = + api.login(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Delete your account. + * + * @POST("user/delete_account") + */ + override suspend fun deleteAccount(form: it.vercruysse.lemmyapi.datatypes.DeleteAccount): Result = + api.deleteAccount(transformer.fromUni(form)) + + /** + * Reset your password. + * + * @POST("user/password_reset") + */ + override suspend fun resetPassword(form: it.vercruysse.lemmyapi.datatypes.PasswordReset): Result = + api.resetPassword(transformer.fromUni(form)) + + /** + * Change your password from an email / token based reset. + * + * @POST("user/password_change") + */ + override suspend fun changePasswordAfterReset(form: it.vercruysse.lemmyapi.datatypes.PasswordChangeAfterReset): Result = + api.changePasswordAfterReset(transformer.fromUni(form)) + + /** + * Mark all replies as read. + * + * @POST("user/mark_all_as_read") + */ + override suspend fun markAllAsRead(): Result = + api.markAllAsRead().map(transformer::toUni) + + /** + * Save your user settings. + * + * @PUT("user/save_user_settings") + */ + override suspend fun saveUserSettings(form: it.vercruysse.lemmyapi.datatypes.SaveUserSettings): Result = + api.saveUserSettings(transformer.fromUni(form)) + + /** + * Change your user password. + * + * @PUT("user/change_password") + */ + override suspend fun changePassword( + form: it.vercruysse.lemmyapi.datatypes.ChangePassword, + ): Result = + api.changePassword(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get counts for your reports + * + * @GET("user/report_count") + */ + override suspend fun getReportCount( + form: it.vercruysse.lemmyapi.datatypes.GetReportCount, + ): Result = + api.getReportCount(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get your unread counts + * + * @GET("user/unread_count") + */ + override suspend fun getUnreadCount(): Result = + api.getUnreadCount().map(transformer::toUni) + + /** + * Verify your email + * + * @POST("user/verify_email") + */ + override suspend fun verifyEmail(form: it.vercruysse.lemmyapi.datatypes.VerifyEmail): Result = + api.verifyEmail(transformer.fromUni(form)) + + /** + * Leave the Site admins. + * + * @POST("user/leave_admin") + */ + override suspend fun leaveAdmin(): Result = + api.leaveAdmin().map(transformer::toUni) + + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = + api.markDonationDialogShown() + + /** + * Add an admin to your site. + * + * @POST("admin/add") + */ + override suspend fun addAdmin( + form: it.vercruysse.lemmyapi.datatypes.AddAdmin, + ): Result = + api.addAdmin(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Get the unread registration applications count. + * + * @GET("admin/registration_application/count") + */ + override suspend fun getUnreadRegistrationApplicationCount(): Result = + api.getUnreadRegistrationApplicationCount().map(transformer::toUni) + + /** + * List the registration applications. + * + * @GET("admin/registration_application/list") + */ + override suspend fun listRegistrationApplications( + form: it.vercruysse.lemmyapi.datatypes.ListRegistrationApplications, + ): Result = + api.listRegistrationApplications(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Approve a registration application + * + * @PUT("admin/registration_application/approve") + */ + override suspend fun approveRegistrationApplication( + form: it.vercruysse.lemmyapi.datatypes.ApproveRegistrationApplication, + ): Result = + api.approveRegistrationApplication(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Purge / Delete a person from the database. + * + * @POST("admin/purge/person") + */ + override suspend fun purgePerson(form: it.vercruysse.lemmyapi.datatypes.PurgePerson): Result = + api.purgePerson(transformer.fromUni(form)) + + /** + * Purge / Delete a community from the database. + * + * @POST("admin/purge/community") + */ + override suspend fun purgeCommunity(form: it.vercruysse.lemmyapi.datatypes.PurgeCommunity): Result = + api.purgeCommunity(transformer.fromUni(form)) + + /** + * Purge / Delete a post from the database. + * + * @POST("admin/purge/post") + */ + override suspend fun purgePost(form: it.vercruysse.lemmyapi.datatypes.PurgePost): Result = + api.purgePost(transformer.fromUni(form)) + + /** + * Purge / Delete a comment from the database. + * + * @POST("admin/purge/comment") + */ + override suspend fun purgeComment(form: it.vercruysse.lemmyapi.datatypes.PurgeComment): Result = + api.purgeComment(transformer.fromUni(form)) + + /** + * Edit an existing custom emoji + * + * @PUT("custom_emoji") + */ + override suspend fun editCustomEmoji( + form: it.vercruysse.lemmyapi.datatypes.EditCustomEmoji, + ): Result = + api.editCustomEmoji(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Create a new custom emoji + * + * @POST("custom_emoji") + */ + override suspend fun createCustomEmoji( + form: it.vercruysse.lemmyapi.datatypes.CreateCustomEmoji, + ): Result = + api.createCustomEmoji(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Delete a custom emoji + * + * @POST("custom_emoji/delete") + */ + override suspend fun deleteCustomEmoji(form: it.vercruysse.lemmyapi.datatypes.DeleteCustomEmoji): Result = + api.deleteCustomEmoji(transformer.fromUni(form)) + + /** + * Block an instance. + * + * @POST("site/block") + */ + override suspend fun blockInstance( + form: it.vercruysse.lemmyapi.datatypes.BlockInstance, + ): Result = + api.blockInstance(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Generate a TOTP / two-factor secret. + * + * Afterwards you need to call `/user/totp/update` with a valid token to enable it. + * + * @POST("user/totp/generate") + */ + override suspend fun generateTotpSecret(): Result = + api.generateTotpSecret().map(transformer::toUni) + + /** + * Enable / Disable TOTP / two-factor authentication. + * + * To enable, you need to first call `/user/totp/generate` and then pass a valid token to this. + * + * Disabling is only possible if 2FA was previously enabled. Again it is necessary to pass a valid token. + * + * @POST("user/totp/update") + */ + override suspend fun updateTotp( + form: it.vercruysse.lemmyapi.datatypes.UpdateTotp, + ): Result = + api.updateTotp(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Export a backup of your user settings, including your saved content, + * followed communities, and blocks. + * + * @GET("user/export_settings") + */ + override suspend fun exportUserSettings(): Result = + api.exportUserSettings() + + /** + * Import a backup of your user settings. + * + * @POST("user/import_settings") + */ + override suspend fun importUserSettings(form: ImportUserSettings): Result = + api.importUserSettings(form) + + /** + * List login tokens for your user + * + * @GET("user/list_logins") + */ + override suspend fun listLogins(): Result> = + api.listLogins().map { it.map(transformer::toUni) } + + /** + * Returns an error message if your auth token is invalid + * + * @GET("user/validate_auth") + */ + override suspend fun validateAuth(): Result = api.validateAuth() + + /** + * Logout your user + * + * @POST("user/logout") + */ + override suspend fun logout(): Result = api.logout() + + /** + * List a post's likes. Admin-only. + * + * @GET("post/like/list") + */ + override suspend fun listPostLikes( + form: it.vercruysse.lemmyapi.datatypes.ListPostLikes, + ): Result = + api.listPostLikes(transformer.fromUni(form)).map(transformer::toUni) + + /** + * List a comment's likes. Admin-only. + * + * @GET("comment/like/list") + */ + override suspend fun listCommentLikes( + form: it.vercruysse.lemmyapi.datatypes.ListCommentLikes, + ): Result = + api.listCommentLikes(transformer.fromUni(form)).map(transformer::toUni) + + /** + * List all the media for your user + * + * @GET("account/list_media") + */ + override suspend fun listMedia( + form: it.vercruysse.lemmyapi.datatypes.ListMedia, + ): Result = + api.listMedia(transformer.fromUni(form)).map(transformer::toUni) + + /** + * List all the media known to your instance. + * + * @GET("admin/list_all_media") + */ + override suspend fun listAllMedia( + form: it.vercruysse.lemmyapi.datatypes.ListMedia, + ): Result = + api.listAllMedia(transformer.fromUni(form)).map(transformer::toUni) + + /** + * Hide a post from list views. + * + * @POST("post/hide") + */ + override suspend fun hidePost(form: it.vercruysse.lemmyapi.datatypes.HidePost): Result = + api.hidePost(transformer.fromUni(form)) + + /** + * Get the application a user submitted when they first registered their account + * + * @GET("admin/registration_application") + */ + override suspend fun getRegistrationApplication( + form: it.vercruysse.lemmyapi.datatypes.GetRegistrationApplication, + ): Result = + api.getRegistrationApplication(transformer.fromUni(form)).map(transformer::toUni) +} diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/MapperGenerator.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/MapperGenerator.kt new file mode 100644 index 00000000..d92abb58 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/MapperGenerator.kt @@ -0,0 +1,231 @@ +package it.vercruysse.lemmyapi.v0.x19.x11 + +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.* + +internal interface MapperGenerator { + + fun toUni(d: AddAdminResponse): it.vercruysse.lemmyapi.datatypes.AddAdminResponse + fun toUni(d: AddModToCommunityResponse): it.vercruysse.lemmyapi.datatypes.AddModToCommunityResponse + fun toUni(d: AdminPurgeComment): it.vercruysse.lemmyapi.datatypes.AdminPurgeComment + fun toUni(d: AdminPurgeCommentView): it.vercruysse.lemmyapi.datatypes.AdminPurgeCommentView + fun toUni(d: AdminPurgeCommunity): it.vercruysse.lemmyapi.datatypes.AdminPurgeCommunity + fun toUni(d: AdminPurgeCommunityView): it.vercruysse.lemmyapi.datatypes.AdminPurgeCommunityView + fun toUni(d: AdminPurgePerson): it.vercruysse.lemmyapi.datatypes.AdminPurgePerson + fun toUni(d: AdminPurgePersonView): it.vercruysse.lemmyapi.datatypes.AdminPurgePersonView + fun toUni(d: AdminPurgePost): it.vercruysse.lemmyapi.datatypes.AdminPurgePost + fun toUni(d: AdminPurgePostView): it.vercruysse.lemmyapi.datatypes.AdminPurgePostView + fun toUni(d: BanFromCommunityResponse): it.vercruysse.lemmyapi.datatypes.BanFromCommunityResponse + fun toUni(d: BannedPersonsResponse): it.vercruysse.lemmyapi.datatypes.BannedPersonsResponse + fun toUni(d: BanPersonResponse): it.vercruysse.lemmyapi.datatypes.BanPersonResponse + fun toUni(d: BlockCommunityResponse): it.vercruysse.lemmyapi.datatypes.BlockCommunityResponse + fun toUni(d: BlockInstanceResponse): it.vercruysse.lemmyapi.datatypes.BlockInstanceResponse + fun toUni(d: BlockPersonResponse): it.vercruysse.lemmyapi.datatypes.BlockPersonResponse + fun toUni(d: CaptchaResponse): it.vercruysse.lemmyapi.datatypes.CaptchaResponse + fun toUni(d: Comment): it.vercruysse.lemmyapi.datatypes.Comment + fun toUni(d: CommentAggregates): it.vercruysse.lemmyapi.datatypes.CommentAggregates + fun toUni(d: CommentReply): it.vercruysse.lemmyapi.datatypes.CommentReply + fun toUni(d: CommentReplyResponse): it.vercruysse.lemmyapi.datatypes.CommentReplyResponse + fun toUni(d: CommentReplyView): it.vercruysse.lemmyapi.datatypes.CommentReplyView + fun toUni(d: CommentReport): it.vercruysse.lemmyapi.datatypes.CommentReport + fun toUni(d: CommentReportResponse): it.vercruysse.lemmyapi.datatypes.CommentReportResponse + fun toUni(d: CommentReportView): it.vercruysse.lemmyapi.datatypes.CommentReportView + fun toUni(d: CommentResponse): it.vercruysse.lemmyapi.datatypes.CommentResponse + fun toUni(d: CommentView): it.vercruysse.lemmyapi.datatypes.CommentView + fun toUni(d: Community): it.vercruysse.lemmyapi.datatypes.Community + fun toUni(d: CommunityAggregates): it.vercruysse.lemmyapi.datatypes.CommunityAggregates + fun toUni(d: CommunityBlockView): it.vercruysse.lemmyapi.datatypes.CommunityBlockView + fun toUni(d: CommunityFollowerView): it.vercruysse.lemmyapi.datatypes.CommunityFollowerView + fun toUni(d: CommunityModeratorView): it.vercruysse.lemmyapi.datatypes.CommunityModeratorView + fun toUni(d: CommunityResponse): it.vercruysse.lemmyapi.datatypes.CommunityResponse + fun toUni(d: CommunityView): it.vercruysse.lemmyapi.datatypes.CommunityView + fun toUni(d: CustomEmoji): it.vercruysse.lemmyapi.datatypes.CustomEmoji + fun toUni(d: CustomEmojiKeyword): it.vercruysse.lemmyapi.datatypes.CustomEmojiKeyword + fun toUni(d: CustomEmojiResponse): it.vercruysse.lemmyapi.datatypes.CustomEmojiResponse + fun toUni(d: CustomEmojiView): it.vercruysse.lemmyapi.datatypes.CustomEmojiView + fun toUni(d: FederatedInstances): it.vercruysse.lemmyapi.datatypes.FederatedInstances + fun toUni(d: GenerateTotpSecretResponse): it.vercruysse.lemmyapi.datatypes.GenerateTotpSecretResponse + fun toUni(d: GetCaptchaResponse): it.vercruysse.lemmyapi.datatypes.GetCaptchaResponse + fun toUni(d: GetCommentsResponse): it.vercruysse.lemmyapi.datatypes.GetCommentsResponse + fun toUni(d: GetCommunityResponse): it.vercruysse.lemmyapi.datatypes.GetCommunityResponse + fun toUni(d: GetFederatedInstancesResponse): it.vercruysse.lemmyapi.datatypes.GetFederatedInstancesResponse + fun toUni(d: GetModlogResponse): it.vercruysse.lemmyapi.datatypes.GetModlogResponse + fun toUni(d: GetPersonDetailsResponse): it.vercruysse.lemmyapi.datatypes.GetPersonDetailsResponse + fun toUni(d: GetPersonMentionsResponse): it.vercruysse.lemmyapi.datatypes.GetPersonMentionsResponse + fun toUni(d: GetPostResponse): it.vercruysse.lemmyapi.datatypes.GetPostResponse + fun toUni(d: GetPostsResponse): it.vercruysse.lemmyapi.datatypes.GetPostsResponse + fun toUni(d: GetRepliesResponse): it.vercruysse.lemmyapi.datatypes.GetRepliesResponse + fun toUni(d: GetReportCountResponse): it.vercruysse.lemmyapi.datatypes.GetReportCountResponse + fun toUni(d: GetSiteMetadataResponse): it.vercruysse.lemmyapi.datatypes.GetSiteMetadataResponse + fun toUni(d: GetSiteResponse): it.vercruysse.lemmyapi.datatypes.GetSiteResponse + fun toUni(d: GetUnreadCountResponse): it.vercruysse.lemmyapi.datatypes.GetUnreadCountResponse + fun toUni(d: GetUnreadRegistrationApplicationCountResponse): it.vercruysse.lemmyapi.datatypes.GetUnreadRegistrationApplicationCountResponse + fun toUni(d: ImageDetails): it.vercruysse.lemmyapi.datatypes.ImageDetails + fun toUni(d: Instance): it.vercruysse.lemmyapi.datatypes.Instance + fun toUni(d: InstanceBlockView): it.vercruysse.lemmyapi.datatypes.InstanceBlockView + fun toUni(d: InstanceWithFederationState): it.vercruysse.lemmyapi.datatypes.InstanceWithFederationState + fun toUni(d: Language): it.vercruysse.lemmyapi.datatypes.Language + fun toUni(d: LinkMetadata): it.vercruysse.lemmyapi.datatypes.LinkMetadata + fun toUni(d: ListCommentLikesResponse): it.vercruysse.lemmyapi.datatypes.ListCommentLikesResponse + fun toUni(d: ListCommentReportsResponse): it.vercruysse.lemmyapi.datatypes.ListCommentReportsResponse + fun toUni(d: ListCommunitiesResponse): it.vercruysse.lemmyapi.datatypes.ListCommunitiesResponse + fun toUni(d: ListMediaResponse): it.vercruysse.lemmyapi.datatypes.ListMediaResponse + fun toUni(d: ListPostLikesResponse): it.vercruysse.lemmyapi.datatypes.ListPostLikesResponse + fun toUni(d: ListPostReportsResponse): it.vercruysse.lemmyapi.datatypes.ListPostReportsResponse + fun toUni(d: ListPrivateMessageReportsResponse): it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReportsResponse + fun toUni(d: ListRegistrationApplicationsResponse): it.vercruysse.lemmyapi.datatypes.ListRegistrationApplicationsResponse + fun toUni(d: LocalImage): it.vercruysse.lemmyapi.datatypes.LocalImage + fun toUni(d: LocalImageView): it.vercruysse.lemmyapi.datatypes.LocalImageView + fun toUni(d: LocalSite): it.vercruysse.lemmyapi.datatypes.LocalSite + fun toUni(d: LocalSiteRateLimit): it.vercruysse.lemmyapi.datatypes.LocalSiteRateLimit + fun toUni(d: LocalSiteUrlBlocklist): it.vercruysse.lemmyapi.datatypes.LocalSiteUrlBlocklist + fun toUni(d: LocalUser): it.vercruysse.lemmyapi.datatypes.LocalUser + fun toUni(d: LocalUserView): it.vercruysse.lemmyapi.datatypes.LocalUserView + fun toUni(d: LocalUserVoteDisplayMode): it.vercruysse.lemmyapi.datatypes.LocalUserVoteDisplayMode + fun toUni(d: LoginResponse): it.vercruysse.lemmyapi.datatypes.LoginResponse + fun toUni(d: LoginToken): it.vercruysse.lemmyapi.datatypes.LoginToken + fun toUni(d: ModAdd): it.vercruysse.lemmyapi.datatypes.ModAdd + fun toUni(d: ModAddCommunity): it.vercruysse.lemmyapi.datatypes.ModAddCommunity + fun toUni(d: ModAddCommunityView): it.vercruysse.lemmyapi.datatypes.ModAddCommunityView + fun toUni(d: ModAddView): it.vercruysse.lemmyapi.datatypes.ModAddView + fun toUni(d: ModBan): it.vercruysse.lemmyapi.datatypes.ModBan + fun toUni(d: ModBanFromCommunity): it.vercruysse.lemmyapi.datatypes.ModBanFromCommunity + fun toUni(d: ModBanFromCommunityView): it.vercruysse.lemmyapi.datatypes.ModBanFromCommunityView + fun toUni(d: ModBanView): it.vercruysse.lemmyapi.datatypes.ModBanView + fun toUni(d: ModFeaturePost): it.vercruysse.lemmyapi.datatypes.ModFeaturePost + fun toUni(d: ModFeaturePostView): it.vercruysse.lemmyapi.datatypes.ModFeaturePostView + fun toUni(d: ModHideCommunity): it.vercruysse.lemmyapi.datatypes.ModHideCommunity + fun toUni(d: ModHideCommunityView): it.vercruysse.lemmyapi.datatypes.ModHideCommunityView + fun toUni(d: ModLockPost): it.vercruysse.lemmyapi.datatypes.ModLockPost + fun toUni(d: ModLockPostView): it.vercruysse.lemmyapi.datatypes.ModLockPostView + fun toUni(d: ModlogListParams): it.vercruysse.lemmyapi.datatypes.ModlogListParams + fun toUni(d: ModRemoveComment): it.vercruysse.lemmyapi.datatypes.ModRemoveComment + fun toUni(d: ModRemoveCommentView): it.vercruysse.lemmyapi.datatypes.ModRemoveCommentView + fun toUni(d: ModRemoveCommunity): it.vercruysse.lemmyapi.datatypes.ModRemoveCommunity + fun toUni(d: ModRemoveCommunityView): it.vercruysse.lemmyapi.datatypes.ModRemoveCommunityView + fun toUni(d: ModRemovePost): it.vercruysse.lemmyapi.datatypes.ModRemovePost + fun toUni(d: ModRemovePostView): it.vercruysse.lemmyapi.datatypes.ModRemovePostView + fun toUni(d: ModTransferCommunity): it.vercruysse.lemmyapi.datatypes.ModTransferCommunity + fun toUni(d: ModTransferCommunityView): it.vercruysse.lemmyapi.datatypes.ModTransferCommunityView + fun toUni(d: MyUserInfo): it.vercruysse.lemmyapi.datatypes.MyUserInfo + fun toUni(d: Person): it.vercruysse.lemmyapi.datatypes.Person + fun toUni(d: PersonAggregates): it.vercruysse.lemmyapi.datatypes.PersonAggregates + fun toUni(d: PersonBlockView): it.vercruysse.lemmyapi.datatypes.PersonBlockView + fun toUni(d: PersonMention): it.vercruysse.lemmyapi.datatypes.PersonMention + fun toUni(d: PersonMentionResponse): it.vercruysse.lemmyapi.datatypes.PersonMentionResponse + fun toUni(d: PersonMentionView): it.vercruysse.lemmyapi.datatypes.PersonMentionView + fun toUni(d: PersonView): it.vercruysse.lemmyapi.datatypes.PersonView + fun toUni(d: Post): it.vercruysse.lemmyapi.datatypes.Post + fun toUni(d: PostAggregates): it.vercruysse.lemmyapi.datatypes.PostAggregates + fun toUni(d: PostReport): it.vercruysse.lemmyapi.datatypes.PostReport + fun toUni(d: PostReportResponse): it.vercruysse.lemmyapi.datatypes.PostReportResponse + fun toUni(d: PostReportView): it.vercruysse.lemmyapi.datatypes.PostReportView + fun toUni(d: PostResponse): it.vercruysse.lemmyapi.datatypes.PostResponse + fun toUni(d: PostView): it.vercruysse.lemmyapi.datatypes.PostView + fun toUni(d: PrivateMessage): it.vercruysse.lemmyapi.datatypes.PrivateMessage + fun toUni(d: PrivateMessageReport): it.vercruysse.lemmyapi.datatypes.PrivateMessageReport + fun toUni(d: PrivateMessageReportResponse): it.vercruysse.lemmyapi.datatypes.PrivateMessageReportResponse + fun toUni(d: PrivateMessageReportView): it.vercruysse.lemmyapi.datatypes.PrivateMessageReportView + fun toUni(d: PrivateMessageResponse): it.vercruysse.lemmyapi.datatypes.PrivateMessageResponse + fun toUni(d: PrivateMessagesResponse): it.vercruysse.lemmyapi.datatypes.PrivateMessagesResponse + fun toUni(d: PrivateMessageView): it.vercruysse.lemmyapi.datatypes.PrivateMessageView + fun toUni(d: ReadableFederationState): it.vercruysse.lemmyapi.datatypes.ReadableFederationState + fun toUni(d: RegistrationApplication): it.vercruysse.lemmyapi.datatypes.RegistrationApplication + fun toUni(d: RegistrationApplicationResponse): it.vercruysse.lemmyapi.datatypes.RegistrationApplicationResponse + fun toUni(d: RegistrationApplicationView): it.vercruysse.lemmyapi.datatypes.RegistrationApplicationView + fun toUni(d: ResolveObjectResponse): it.vercruysse.lemmyapi.datatypes.ResolveObjectResponse + fun toUni(d: SearchResponse): it.vercruysse.lemmyapi.datatypes.SearchResponse + fun toUni(d: Site): it.vercruysse.lemmyapi.datatypes.Site + fun toUni(d: SiteAggregates): it.vercruysse.lemmyapi.datatypes.SiteAggregates + fun toUni(d: SiteResponse): it.vercruysse.lemmyapi.datatypes.SiteResponse + fun toUni(d: SiteView): it.vercruysse.lemmyapi.datatypes.SiteView + fun toUni(d: Tagline): it.vercruysse.lemmyapi.datatypes.Tagline + fun toUni(d: UpdateTotpResponse): it.vercruysse.lemmyapi.datatypes.UpdateTotpResponse + fun toUni(d: VoteView): it.vercruysse.lemmyapi.datatypes.VoteView + +// body mappings + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.AddAdmin): AddAdmin + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.AddModToCommunity): AddModToCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ApproveRegistrationApplication): ApproveRegistrationApplication + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BanFromCommunity): BanFromCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BanPerson): BanPerson + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BlockCommunity): BlockCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BlockInstance): BlockInstance + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.BlockPerson): BlockPerson + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ChangePassword): ChangePassword + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateComment): CreateComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCommentLike): CreateCommentLike + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCommentReport): CreateCommentReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCommunity): CreateCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateCustomEmoji): CreateCustomEmoji + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePost): CreatePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePostLike): CreatePostLike + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePostReport): CreatePostReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePrivateMessage): CreatePrivateMessage + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreatePrivateMessageReport): CreatePrivateMessageReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.CreateSite): CreateSite + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteAccount): DeleteAccount + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteComment): DeleteComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteCommunity): DeleteCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeleteCustomEmoji): DeleteCustomEmoji + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeletePost): DeletePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DeletePrivateMessage): DeletePrivateMessage + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.DistinguishComment): DistinguishComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditComment): EditComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditCommunity): EditCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditCustomEmoji): EditCustomEmoji + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditPost): EditPost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditPrivateMessage): EditPrivateMessage + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.EditSite): EditSite + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.FeaturePost): FeaturePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.FollowCommunity): FollowCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetComment): GetComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetComments): GetComments + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetCommunity): GetCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetModlog): GetModlog + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPersonDetails): GetPersonDetails + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPersonMentions): GetPersonMentions + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPost): GetPost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPosts): GetPosts + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetPrivateMessages): GetPrivateMessages + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetRegistrationApplication): GetRegistrationApplication + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetReplies): GetReplies + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetReportCount): GetReportCount + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.GetSiteMetadata): GetSiteMetadata + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.HideCommunity): HideCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.HidePost): HidePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListCommentLikes): ListCommentLikes + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListCommentReports): ListCommentReports + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListCommunities): ListCommunities + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListMedia): ListMedia + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListPostLikes): ListPostLikes + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListPostReports): ListPostReports + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReports): ListPrivateMessageReports + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ListRegistrationApplications): ListRegistrationApplications + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.LockPost): LockPost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.Login): Login + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkCommentReplyAsRead): MarkCommentReplyAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkPersonMentionAsRead): MarkPersonMentionAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkPostAsRead): MarkPostAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.MarkPrivateMessageAsRead): MarkPrivateMessageAsRead + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PasswordChangeAfterReset): PasswordChangeAfterReset + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PasswordReset): PasswordReset + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgeComment): PurgeComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgeCommunity): PurgeCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgePerson): PurgePerson + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.PurgePost): PurgePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.Register): Register + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.RemoveComment): RemoveComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.RemoveCommunity): RemoveCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.RemovePost): RemovePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolveCommentReport): ResolveCommentReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolveObject): ResolveObject + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolvePostReport): ResolvePostReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.ResolvePrivateMessageReport): ResolvePrivateMessageReport + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.SaveComment): SaveComment + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.SavePost): SavePost + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.SaveUserSettings): SaveUserSettings + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.Search): Search + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.TransferCommunity): TransferCommunity + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.UpdateTotp): UpdateTotp + fun fromUni(d: it.vercruysse.lemmyapi.datatypes.VerifyEmail): VerifyEmail +} diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/Transformer.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/Transformer.kt new file mode 100644 index 00000000..0f4e746a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/Transformer.kt @@ -0,0 +1,2373 @@ +package it.vercruysse.lemmyapi.v0.x19.x11 + +import it.vercruysse.lemmyapi.datatypes.AddAdmin as LemmyapiDatatypesAddAdmin +import it.vercruysse.lemmyapi.datatypes.AddAdminResponse as LemmyapiDatatypesAddAdminResponse +import it.vercruysse.lemmyapi.datatypes.AddModToCommunity as LemmyapiDatatypesAddModToCommunity +import it.vercruysse.lemmyapi.datatypes.AddModToCommunityResponse as LemmyapiDatatypesAddModToCommunityResponse +import it.vercruysse.lemmyapi.datatypes.AdminPurgeComment as LemmyapiDatatypesAdminPurgeComment +import it.vercruysse.lemmyapi.datatypes.AdminPurgeCommentView as LemmyapiDatatypesAdminPurgeCommentView +import it.vercruysse.lemmyapi.datatypes.AdminPurgeCommunity as LemmyapiDatatypesAdminPurgeCommunity +import it.vercruysse.lemmyapi.datatypes.AdminPurgeCommunityView as LemmyapiDatatypesAdminPurgeCommunityView +import it.vercruysse.lemmyapi.datatypes.AdminPurgePerson as LemmyapiDatatypesAdminPurgePerson +import it.vercruysse.lemmyapi.datatypes.AdminPurgePersonView as LemmyapiDatatypesAdminPurgePersonView +import it.vercruysse.lemmyapi.datatypes.AdminPurgePost as LemmyapiDatatypesAdminPurgePost +import it.vercruysse.lemmyapi.datatypes.AdminPurgePostView as LemmyapiDatatypesAdminPurgePostView +import it.vercruysse.lemmyapi.datatypes.ApproveRegistrationApplication as LemmyapiDatatypesApproveRegistrationApplication +import it.vercruysse.lemmyapi.datatypes.BanFromCommunity as LemmyapiDatatypesBanFromCommunity +import it.vercruysse.lemmyapi.datatypes.BanFromCommunityResponse as LemmyapiDatatypesBanFromCommunityResponse +import it.vercruysse.lemmyapi.datatypes.BanPerson as LemmyapiDatatypesBanPerson +import it.vercruysse.lemmyapi.datatypes.BanPersonResponse as LemmyapiDatatypesBanPersonResponse +import it.vercruysse.lemmyapi.datatypes.BannedPersonsResponse as LemmyapiDatatypesBannedPersonsResponse +import it.vercruysse.lemmyapi.datatypes.BlockCommunity as LemmyapiDatatypesBlockCommunity +import it.vercruysse.lemmyapi.datatypes.BlockCommunityResponse as LemmyapiDatatypesBlockCommunityResponse +import it.vercruysse.lemmyapi.datatypes.BlockInstance as LemmyapiDatatypesBlockInstance +import it.vercruysse.lemmyapi.datatypes.BlockInstanceResponse as LemmyapiDatatypesBlockInstanceResponse +import it.vercruysse.lemmyapi.datatypes.BlockPerson as LemmyapiDatatypesBlockPerson +import it.vercruysse.lemmyapi.datatypes.BlockPersonResponse as LemmyapiDatatypesBlockPersonResponse +import it.vercruysse.lemmyapi.datatypes.CaptchaResponse as LemmyapiDatatypesCaptchaResponse +import it.vercruysse.lemmyapi.datatypes.ChangePassword as LemmyapiDatatypesChangePassword +import it.vercruysse.lemmyapi.datatypes.Comment as LemmyapiDatatypesComment +import it.vercruysse.lemmyapi.datatypes.CommentAggregates as LemmyapiDatatypesCommentAggregates +import it.vercruysse.lemmyapi.datatypes.CommentReply as LemmyapiDatatypesCommentReply +import it.vercruysse.lemmyapi.datatypes.CommentReplyResponse as LemmyapiDatatypesCommentReplyResponse +import it.vercruysse.lemmyapi.datatypes.CommentReplyView as LemmyapiDatatypesCommentReplyView +import it.vercruysse.lemmyapi.datatypes.CommentReport as LemmyapiDatatypesCommentReport +import it.vercruysse.lemmyapi.datatypes.CommentReportResponse as LemmyapiDatatypesCommentReportResponse +import it.vercruysse.lemmyapi.datatypes.CommentReportView as LemmyapiDatatypesCommentReportView +import it.vercruysse.lemmyapi.datatypes.CommentResponse as LemmyapiDatatypesCommentResponse +import it.vercruysse.lemmyapi.datatypes.CommentView as LemmyapiDatatypesCommentView +import it.vercruysse.lemmyapi.datatypes.Community as LemmyapiDatatypesCommunity +import it.vercruysse.lemmyapi.datatypes.CommunityAggregates as LemmyapiDatatypesCommunityAggregates +import it.vercruysse.lemmyapi.datatypes.CommunityBlockView as LemmyapiDatatypesCommunityBlockView +import it.vercruysse.lemmyapi.datatypes.CommunityFollowerView as LemmyapiDatatypesCommunityFollowerView +import it.vercruysse.lemmyapi.datatypes.CommunityModeratorView as LemmyapiDatatypesCommunityModeratorView +import it.vercruysse.lemmyapi.datatypes.CommunityResponse as LemmyapiDatatypesCommunityResponse +import it.vercruysse.lemmyapi.datatypes.CommunityView as LemmyapiDatatypesCommunityView +import it.vercruysse.lemmyapi.datatypes.CreateComment as LemmyapiDatatypesCreateComment +import it.vercruysse.lemmyapi.datatypes.CreateCommentLike as LemmyapiDatatypesCreateCommentLike +import it.vercruysse.lemmyapi.datatypes.CreateCommentReport as LemmyapiDatatypesCreateCommentReport +import it.vercruysse.lemmyapi.datatypes.CreateCommunity as LemmyapiDatatypesCreateCommunity +import it.vercruysse.lemmyapi.datatypes.CreateCustomEmoji as LemmyapiDatatypesCreateCustomEmoji +import it.vercruysse.lemmyapi.datatypes.CreatePost as LemmyapiDatatypesCreatePost +import it.vercruysse.lemmyapi.datatypes.CreatePostLike as LemmyapiDatatypesCreatePostLike +import it.vercruysse.lemmyapi.datatypes.CreatePostReport as LemmyapiDatatypesCreatePostReport +import it.vercruysse.lemmyapi.datatypes.CreatePrivateMessage as LemmyapiDatatypesCreatePrivateMessage +import it.vercruysse.lemmyapi.datatypes.CreatePrivateMessageReport as LemmyapiDatatypesCreatePrivateMessageReport +import it.vercruysse.lemmyapi.datatypes.CreateSite as LemmyapiDatatypesCreateSite +import it.vercruysse.lemmyapi.datatypes.CustomEmoji as LemmyapiDatatypesCustomEmoji +import it.vercruysse.lemmyapi.datatypes.CustomEmojiKeyword as LemmyapiDatatypesCustomEmojiKeyword +import it.vercruysse.lemmyapi.datatypes.CustomEmojiResponse as LemmyapiDatatypesCustomEmojiResponse +import it.vercruysse.lemmyapi.datatypes.CustomEmojiView as LemmyapiDatatypesCustomEmojiView +import it.vercruysse.lemmyapi.datatypes.DeleteAccount as LemmyapiDatatypesDeleteAccount +import it.vercruysse.lemmyapi.datatypes.DeleteComment as LemmyapiDatatypesDeleteComment +import it.vercruysse.lemmyapi.datatypes.DeleteCommunity as LemmyapiDatatypesDeleteCommunity +import it.vercruysse.lemmyapi.datatypes.DeleteCustomEmoji as LemmyapiDatatypesDeleteCustomEmoji +import it.vercruysse.lemmyapi.datatypes.DeletePost as LemmyapiDatatypesDeletePost +import it.vercruysse.lemmyapi.datatypes.DeletePrivateMessage as LemmyapiDatatypesDeletePrivateMessage +import it.vercruysse.lemmyapi.datatypes.DistinguishComment as LemmyapiDatatypesDistinguishComment +import it.vercruysse.lemmyapi.datatypes.EditComment as LemmyapiDatatypesEditComment +import it.vercruysse.lemmyapi.datatypes.EditCommunity as LemmyapiDatatypesEditCommunity +import it.vercruysse.lemmyapi.datatypes.EditCustomEmoji as LemmyapiDatatypesEditCustomEmoji +import it.vercruysse.lemmyapi.datatypes.EditPost as LemmyapiDatatypesEditPost +import it.vercruysse.lemmyapi.datatypes.EditPrivateMessage as LemmyapiDatatypesEditPrivateMessage +import it.vercruysse.lemmyapi.datatypes.EditSite as LemmyapiDatatypesEditSite +import it.vercruysse.lemmyapi.datatypes.FeaturePost as LemmyapiDatatypesFeaturePost +import it.vercruysse.lemmyapi.datatypes.FederatedInstances as LemmyapiDatatypesFederatedInstances +import it.vercruysse.lemmyapi.datatypes.FollowCommunity as LemmyapiDatatypesFollowCommunity +import it.vercruysse.lemmyapi.datatypes.GenerateTotpSecretResponse as LemmyapiDatatypesGenerateTotpSecretResponse +import it.vercruysse.lemmyapi.datatypes.GetCaptchaResponse as LemmyapiDatatypesGetCaptchaResponse +import it.vercruysse.lemmyapi.datatypes.GetComment as LemmyapiDatatypesGetComment +import it.vercruysse.lemmyapi.datatypes.GetComments as LemmyapiDatatypesGetComments +import it.vercruysse.lemmyapi.datatypes.GetCommentsResponse as LemmyapiDatatypesGetCommentsResponse +import it.vercruysse.lemmyapi.datatypes.GetCommunity as LemmyapiDatatypesGetCommunity +import it.vercruysse.lemmyapi.datatypes.GetCommunityResponse as LemmyapiDatatypesGetCommunityResponse +import it.vercruysse.lemmyapi.datatypes.GetFederatedInstancesResponse as LemmyapiDatatypesGetFederatedInstancesResponse +import it.vercruysse.lemmyapi.datatypes.GetModlog as LemmyapiDatatypesGetModlog +import it.vercruysse.lemmyapi.datatypes.GetModlogResponse as LemmyapiDatatypesGetModlogResponse +import it.vercruysse.lemmyapi.datatypes.GetPersonDetails as LemmyapiDatatypesGetPersonDetails +import it.vercruysse.lemmyapi.datatypes.GetPersonDetailsResponse as LemmyapiDatatypesGetPersonDetailsResponse +import it.vercruysse.lemmyapi.datatypes.GetPersonMentions as LemmyapiDatatypesGetPersonMentions +import it.vercruysse.lemmyapi.datatypes.GetPersonMentionsResponse as LemmyapiDatatypesGetPersonMentionsResponse +import it.vercruysse.lemmyapi.datatypes.GetPost as LemmyapiDatatypesGetPost +import it.vercruysse.lemmyapi.datatypes.GetPostResponse as LemmyapiDatatypesGetPostResponse +import it.vercruysse.lemmyapi.datatypes.GetPosts as LemmyapiDatatypesGetPosts +import it.vercruysse.lemmyapi.datatypes.GetPostsResponse as LemmyapiDatatypesGetPostsResponse +import it.vercruysse.lemmyapi.datatypes.GetPrivateMessages as LemmyapiDatatypesGetPrivateMessages +import it.vercruysse.lemmyapi.datatypes.GetRegistrationApplication as LemmyapiDatatypesGetRegistrationApplication +import it.vercruysse.lemmyapi.datatypes.GetReplies as LemmyapiDatatypesGetReplies +import it.vercruysse.lemmyapi.datatypes.GetRepliesResponse as LemmyapiDatatypesGetRepliesResponse +import it.vercruysse.lemmyapi.datatypes.GetReportCount as LemmyapiDatatypesGetReportCount +import it.vercruysse.lemmyapi.datatypes.GetReportCountResponse as LemmyapiDatatypesGetReportCountResponse +import it.vercruysse.lemmyapi.datatypes.GetSiteMetadata as LemmyapiDatatypesGetSiteMetadata +import it.vercruysse.lemmyapi.datatypes.GetSiteMetadataResponse as LemmyapiDatatypesGetSiteMetadataResponse +import it.vercruysse.lemmyapi.datatypes.GetSiteResponse as LemmyapiDatatypesGetSiteResponse +import it.vercruysse.lemmyapi.datatypes.GetUnreadCountResponse as LemmyapiDatatypesGetUnreadCountResponse +import it.vercruysse.lemmyapi.datatypes.GetUnreadRegistrationApplicationCountResponse as LemmyapiDatatypesGetUnreadRegistrationApplicationCountResponse +import it.vercruysse.lemmyapi.datatypes.HideCommunity as LemmyapiDatatypesHideCommunity +import it.vercruysse.lemmyapi.datatypes.HidePost as LemmyapiDatatypesHidePost +import it.vercruysse.lemmyapi.datatypes.ImageDetails as LemmyapiDatatypesImageDetails +import it.vercruysse.lemmyapi.datatypes.Instance as LemmyapiDatatypesInstance +import it.vercruysse.lemmyapi.datatypes.InstanceBlockView as LemmyapiDatatypesInstanceBlockView +import it.vercruysse.lemmyapi.datatypes.InstanceWithFederationState as LemmyapiDatatypesInstanceWithFederationState +import it.vercruysse.lemmyapi.datatypes.Language as LemmyapiDatatypesLanguage +import it.vercruysse.lemmyapi.datatypes.LinkMetadata as LemmyapiDatatypesLinkMetadata +import it.vercruysse.lemmyapi.datatypes.ListCommentLikes as LemmyapiDatatypesListCommentLikes +import it.vercruysse.lemmyapi.datatypes.ListCommentLikesResponse as LemmyapiDatatypesListCommentLikesResponse +import it.vercruysse.lemmyapi.datatypes.ListCommentReports as LemmyapiDatatypesListCommentReports +import it.vercruysse.lemmyapi.datatypes.ListCommentReportsResponse as LemmyapiDatatypesListCommentReportsResponse +import it.vercruysse.lemmyapi.datatypes.ListCommunities as LemmyapiDatatypesListCommunities +import it.vercruysse.lemmyapi.datatypes.ListCommunitiesResponse as LemmyapiDatatypesListCommunitiesResponse +import it.vercruysse.lemmyapi.datatypes.ListMedia as LemmyapiDatatypesListMedia +import it.vercruysse.lemmyapi.datatypes.ListMediaResponse as LemmyapiDatatypesListMediaResponse +import it.vercruysse.lemmyapi.datatypes.ListPostLikes as LemmyapiDatatypesListPostLikes +import it.vercruysse.lemmyapi.datatypes.ListPostLikesResponse as LemmyapiDatatypesListPostLikesResponse +import it.vercruysse.lemmyapi.datatypes.ListPostReports as LemmyapiDatatypesListPostReports +import it.vercruysse.lemmyapi.datatypes.ListPostReportsResponse as LemmyapiDatatypesListPostReportsResponse +import it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReports as LemmyapiDatatypesListPrivateMessageReports +import it.vercruysse.lemmyapi.datatypes.ListPrivateMessageReportsResponse as LemmyapiDatatypesListPrivateMessageReportsResponse +import it.vercruysse.lemmyapi.datatypes.ListRegistrationApplications as LemmyapiDatatypesListRegistrationApplications +import it.vercruysse.lemmyapi.datatypes.ListRegistrationApplicationsResponse as LemmyapiDatatypesListRegistrationApplicationsResponse +import it.vercruysse.lemmyapi.datatypes.LocalImage as LemmyapiDatatypesLocalImage +import it.vercruysse.lemmyapi.datatypes.LocalImageView as LemmyapiDatatypesLocalImageView +import it.vercruysse.lemmyapi.datatypes.LocalSite as LemmyapiDatatypesLocalSite +import it.vercruysse.lemmyapi.datatypes.LocalSiteRateLimit as LemmyapiDatatypesLocalSiteRateLimit +import it.vercruysse.lemmyapi.datatypes.LocalSiteUrlBlocklist as LemmyapiDatatypesLocalSiteUrlBlocklist +import it.vercruysse.lemmyapi.datatypes.LocalUser as LemmyapiDatatypesLocalUser +import it.vercruysse.lemmyapi.datatypes.LocalUserView as LemmyapiDatatypesLocalUserView +import it.vercruysse.lemmyapi.datatypes.LocalUserVoteDisplayMode as LemmyapiDatatypesLocalUserVoteDisplayMode +import it.vercruysse.lemmyapi.datatypes.LockPost as LemmyapiDatatypesLockPost +import it.vercruysse.lemmyapi.datatypes.Login as LemmyapiDatatypesLogin +import it.vercruysse.lemmyapi.datatypes.LoginResponse as LemmyapiDatatypesLoginResponse +import it.vercruysse.lemmyapi.datatypes.LoginToken as LemmyapiDatatypesLoginToken +import it.vercruysse.lemmyapi.datatypes.MarkCommentReplyAsRead as LemmyapiDatatypesMarkCommentReplyAsRead +import it.vercruysse.lemmyapi.datatypes.MarkPersonMentionAsRead as LemmyapiDatatypesMarkPersonMentionAsRead +import it.vercruysse.lemmyapi.datatypes.MarkPostAsRead as LemmyapiDatatypesMarkPostAsRead +import it.vercruysse.lemmyapi.datatypes.MarkPrivateMessageAsRead as LemmyapiDatatypesMarkPrivateMessageAsRead +import it.vercruysse.lemmyapi.datatypes.ModAdd as LemmyapiDatatypesModAdd +import it.vercruysse.lemmyapi.datatypes.ModAddCommunity as LemmyapiDatatypesModAddCommunity +import it.vercruysse.lemmyapi.datatypes.ModAddCommunityView as LemmyapiDatatypesModAddCommunityView +import it.vercruysse.lemmyapi.datatypes.ModAddView as LemmyapiDatatypesModAddView +import it.vercruysse.lemmyapi.datatypes.ModBan as LemmyapiDatatypesModBan +import it.vercruysse.lemmyapi.datatypes.ModBanFromCommunity as LemmyapiDatatypesModBanFromCommunity +import it.vercruysse.lemmyapi.datatypes.ModBanFromCommunityView as LemmyapiDatatypesModBanFromCommunityView +import it.vercruysse.lemmyapi.datatypes.ModBanView as LemmyapiDatatypesModBanView +import it.vercruysse.lemmyapi.datatypes.ModFeaturePost as LemmyapiDatatypesModFeaturePost +import it.vercruysse.lemmyapi.datatypes.ModFeaturePostView as LemmyapiDatatypesModFeaturePostView +import it.vercruysse.lemmyapi.datatypes.ModHideCommunity as LemmyapiDatatypesModHideCommunity +import it.vercruysse.lemmyapi.datatypes.ModHideCommunityView as LemmyapiDatatypesModHideCommunityView +import it.vercruysse.lemmyapi.datatypes.ModLockPost as LemmyapiDatatypesModLockPost +import it.vercruysse.lemmyapi.datatypes.ModLockPostView as LemmyapiDatatypesModLockPostView +import it.vercruysse.lemmyapi.datatypes.ModRemoveComment as LemmyapiDatatypesModRemoveComment +import it.vercruysse.lemmyapi.datatypes.ModRemoveCommentView as LemmyapiDatatypesModRemoveCommentView +import it.vercruysse.lemmyapi.datatypes.ModRemoveCommunity as LemmyapiDatatypesModRemoveCommunity +import it.vercruysse.lemmyapi.datatypes.ModRemoveCommunityView as LemmyapiDatatypesModRemoveCommunityView +import it.vercruysse.lemmyapi.datatypes.ModRemovePost as LemmyapiDatatypesModRemovePost +import it.vercruysse.lemmyapi.datatypes.ModRemovePostView as LemmyapiDatatypesModRemovePostView +import it.vercruysse.lemmyapi.datatypes.ModTransferCommunity as LemmyapiDatatypesModTransferCommunity +import it.vercruysse.lemmyapi.datatypes.ModTransferCommunityView as LemmyapiDatatypesModTransferCommunityView +import it.vercruysse.lemmyapi.datatypes.ModlogListParams as LemmyapiDatatypesModlogListParams +import it.vercruysse.lemmyapi.datatypes.MyUserInfo as LemmyapiDatatypesMyUserInfo +import it.vercruysse.lemmyapi.datatypes.PasswordChangeAfterReset as LemmyapiDatatypesPasswordChangeAfterReset +import it.vercruysse.lemmyapi.datatypes.PasswordReset as LemmyapiDatatypesPasswordReset +import it.vercruysse.lemmyapi.datatypes.Person as LemmyapiDatatypesPerson +import it.vercruysse.lemmyapi.datatypes.PersonAggregates as LemmyapiDatatypesPersonAggregates +import it.vercruysse.lemmyapi.datatypes.PersonBlockView as LemmyapiDatatypesPersonBlockView +import it.vercruysse.lemmyapi.datatypes.PersonMention as LemmyapiDatatypesPersonMention +import it.vercruysse.lemmyapi.datatypes.PersonMentionResponse as LemmyapiDatatypesPersonMentionResponse +import it.vercruysse.lemmyapi.datatypes.PersonMentionView as LemmyapiDatatypesPersonMentionView +import it.vercruysse.lemmyapi.datatypes.PersonView as LemmyapiDatatypesPersonView +import it.vercruysse.lemmyapi.datatypes.Post as LemmyapiDatatypesPost +import it.vercruysse.lemmyapi.datatypes.PostAggregates as LemmyapiDatatypesPostAggregates +import it.vercruysse.lemmyapi.datatypes.PostReport as LemmyapiDatatypesPostReport +import it.vercruysse.lemmyapi.datatypes.PostReportResponse as LemmyapiDatatypesPostReportResponse +import it.vercruysse.lemmyapi.datatypes.PostReportView as LemmyapiDatatypesPostReportView +import it.vercruysse.lemmyapi.datatypes.PostResponse as LemmyapiDatatypesPostResponse +import it.vercruysse.lemmyapi.datatypes.PostView as LemmyapiDatatypesPostView +import it.vercruysse.lemmyapi.datatypes.PrivateMessage as LemmyapiDatatypesPrivateMessage +import it.vercruysse.lemmyapi.datatypes.PrivateMessageReport as LemmyapiDatatypesPrivateMessageReport +import it.vercruysse.lemmyapi.datatypes.PrivateMessageReportResponse as LemmyapiDatatypesPrivateMessageReportResponse +import it.vercruysse.lemmyapi.datatypes.PrivateMessageReportView as LemmyapiDatatypesPrivateMessageReportView +import it.vercruysse.lemmyapi.datatypes.PrivateMessageResponse as LemmyapiDatatypesPrivateMessageResponse +import it.vercruysse.lemmyapi.datatypes.PrivateMessageView as LemmyapiDatatypesPrivateMessageView +import it.vercruysse.lemmyapi.datatypes.PrivateMessagesResponse as LemmyapiDatatypesPrivateMessagesResponse +import it.vercruysse.lemmyapi.datatypes.PurgeComment as LemmyapiDatatypesPurgeComment +import it.vercruysse.lemmyapi.datatypes.PurgeCommunity as LemmyapiDatatypesPurgeCommunity +import it.vercruysse.lemmyapi.datatypes.PurgePerson as LemmyapiDatatypesPurgePerson +import it.vercruysse.lemmyapi.datatypes.PurgePost as LemmyapiDatatypesPurgePost +import it.vercruysse.lemmyapi.datatypes.ReadableFederationState as LemmyapiDatatypesReadableFederationState +import it.vercruysse.lemmyapi.datatypes.Register as LemmyapiDatatypesRegister +import it.vercruysse.lemmyapi.datatypes.RegistrationApplication as LemmyapiDatatypesRegistrationApplication +import it.vercruysse.lemmyapi.datatypes.RegistrationApplicationResponse as LemmyapiDatatypesRegistrationApplicationResponse +import it.vercruysse.lemmyapi.datatypes.RegistrationApplicationView as LemmyapiDatatypesRegistrationApplicationView +import it.vercruysse.lemmyapi.datatypes.RemoveComment as LemmyapiDatatypesRemoveComment +import it.vercruysse.lemmyapi.datatypes.RemoveCommunity as LemmyapiDatatypesRemoveCommunity +import it.vercruysse.lemmyapi.datatypes.RemovePost as LemmyapiDatatypesRemovePost +import it.vercruysse.lemmyapi.datatypes.ResolveCommentReport as LemmyapiDatatypesResolveCommentReport +import it.vercruysse.lemmyapi.datatypes.ResolveObject as LemmyapiDatatypesResolveObject +import it.vercruysse.lemmyapi.datatypes.ResolveObjectResponse as LemmyapiDatatypesResolveObjectResponse +import it.vercruysse.lemmyapi.datatypes.ResolvePostReport as LemmyapiDatatypesResolvePostReport +import it.vercruysse.lemmyapi.datatypes.ResolvePrivateMessageReport as LemmyapiDatatypesResolvePrivateMessageReport +import it.vercruysse.lemmyapi.datatypes.SaveComment as LemmyapiDatatypesSaveComment +import it.vercruysse.lemmyapi.datatypes.SavePost as LemmyapiDatatypesSavePost +import it.vercruysse.lemmyapi.datatypes.SaveUserSettings as LemmyapiDatatypesSaveUserSettings +import it.vercruysse.lemmyapi.datatypes.Search as LemmyapiDatatypesSearch +import it.vercruysse.lemmyapi.datatypes.SearchResponse as LemmyapiDatatypesSearchResponse +import it.vercruysse.lemmyapi.datatypes.Site as LemmyapiDatatypesSite +import it.vercruysse.lemmyapi.datatypes.SiteAggregates as LemmyapiDatatypesSiteAggregates +import it.vercruysse.lemmyapi.datatypes.SiteResponse as LemmyapiDatatypesSiteResponse +import it.vercruysse.lemmyapi.datatypes.SiteView as LemmyapiDatatypesSiteView +import it.vercruysse.lemmyapi.datatypes.Tagline as LemmyapiDatatypesTagline +import it.vercruysse.lemmyapi.datatypes.TransferCommunity as LemmyapiDatatypesTransferCommunity +import it.vercruysse.lemmyapi.datatypes.UpdateTotp as LemmyapiDatatypesUpdateTotp +import it.vercruysse.lemmyapi.datatypes.UpdateTotpResponse as LemmyapiDatatypesUpdateTotpResponse +import it.vercruysse.lemmyapi.datatypes.VerifyEmail as LemmyapiDatatypesVerifyEmail +import it.vercruysse.lemmyapi.datatypes.VoteView as LemmyapiDatatypesVoteView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AddAdmin as X11DatatypesAddAdmin +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AddAdminResponse as X11DatatypesAddAdminResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AddModToCommunity as X11DatatypesAddModToCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AddModToCommunityResponse as X11DatatypesAddModToCommunityResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgeComment as X11DatatypesAdminPurgeComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgeCommentView as X11DatatypesAdminPurgeCommentView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgeCommunity as X11DatatypesAdminPurgeCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgeCommunityView as X11DatatypesAdminPurgeCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgePerson as X11DatatypesAdminPurgePerson +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgePersonView as X11DatatypesAdminPurgePersonView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgePost as X11DatatypesAdminPurgePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.AdminPurgePostView as X11DatatypesAdminPurgePostView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ApproveRegistrationApplication as X11DatatypesApproveRegistrationApplication +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BanFromCommunity as X11DatatypesBanFromCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BanFromCommunityResponse as X11DatatypesBanFromCommunityResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BanPerson as X11DatatypesBanPerson +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BanPersonResponse as X11DatatypesBanPersonResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BannedPersonsResponse as X11DatatypesBannedPersonsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BlockCommunity as X11DatatypesBlockCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BlockCommunityResponse as X11DatatypesBlockCommunityResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BlockInstance as X11DatatypesBlockInstance +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BlockInstanceResponse as X11DatatypesBlockInstanceResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BlockPerson as X11DatatypesBlockPerson +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.BlockPersonResponse as X11DatatypesBlockPersonResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CaptchaResponse as X11DatatypesCaptchaResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ChangePassword as X11DatatypesChangePassword +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Comment as X11DatatypesComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentAggregates as X11DatatypesCommentAggregates +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentReply as X11DatatypesCommentReply +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentReplyResponse as X11DatatypesCommentReplyResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentReplyView as X11DatatypesCommentReplyView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentReport as X11DatatypesCommentReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentReportResponse as X11DatatypesCommentReportResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentReportView as X11DatatypesCommentReportView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentResponse as X11DatatypesCommentResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommentView as X11DatatypesCommentView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Community as X11DatatypesCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommunityAggregates as X11DatatypesCommunityAggregates +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommunityBlockView as X11DatatypesCommunityBlockView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommunityFollowerView as X11DatatypesCommunityFollowerView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommunityModeratorView as X11DatatypesCommunityModeratorView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommunityResponse as X11DatatypesCommunityResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CommunityView as X11DatatypesCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreateComment as X11DatatypesCreateComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreateCommentLike as X11DatatypesCreateCommentLike +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreateCommentReport as X11DatatypesCreateCommentReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreateCommunity as X11DatatypesCreateCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreateCustomEmoji as X11DatatypesCreateCustomEmoji +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreatePost as X11DatatypesCreatePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreatePostLike as X11DatatypesCreatePostLike +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreatePostReport as X11DatatypesCreatePostReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreatePrivateMessage as X11DatatypesCreatePrivateMessage +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreatePrivateMessageReport as X11DatatypesCreatePrivateMessageReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CreateSite as X11DatatypesCreateSite +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CustomEmoji as X11DatatypesCustomEmoji +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CustomEmojiKeyword as X11DatatypesCustomEmojiKeyword +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CustomEmojiResponse as X11DatatypesCustomEmojiResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.CustomEmojiView as X11DatatypesCustomEmojiView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DeleteAccount as X11DatatypesDeleteAccount +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DeleteComment as X11DatatypesDeleteComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DeleteCommunity as X11DatatypesDeleteCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DeleteCustomEmoji as X11DatatypesDeleteCustomEmoji +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DeletePost as X11DatatypesDeletePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DeletePrivateMessage as X11DatatypesDeletePrivateMessage +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.DistinguishComment as X11DatatypesDistinguishComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.EditComment as X11DatatypesEditComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.EditCommunity as X11DatatypesEditCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.EditCustomEmoji as X11DatatypesEditCustomEmoji +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.EditPost as X11DatatypesEditPost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.EditPrivateMessage as X11DatatypesEditPrivateMessage +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.EditSite as X11DatatypesEditSite +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.FeaturePost as X11DatatypesFeaturePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.FederatedInstances as X11DatatypesFederatedInstances +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.FollowCommunity as X11DatatypesFollowCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GenerateTotpSecretResponse as X11DatatypesGenerateTotpSecretResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetCaptchaResponse as X11DatatypesGetCaptchaResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetComment as X11DatatypesGetComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetComments as X11DatatypesGetComments +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetCommentsResponse as X11DatatypesGetCommentsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetCommunity as X11DatatypesGetCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetCommunityResponse as X11DatatypesGetCommunityResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetFederatedInstancesResponse as X11DatatypesGetFederatedInstancesResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetModlog as X11DatatypesGetModlog +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetModlogResponse as X11DatatypesGetModlogResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPersonDetails as X11DatatypesGetPersonDetails +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPersonDetailsResponse as X11DatatypesGetPersonDetailsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPersonMentions as X11DatatypesGetPersonMentions +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPersonMentionsResponse as X11DatatypesGetPersonMentionsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPost as X11DatatypesGetPost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPostResponse as X11DatatypesGetPostResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPosts as X11DatatypesGetPosts +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPostsResponse as X11DatatypesGetPostsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetPrivateMessages as X11DatatypesGetPrivateMessages +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetRegistrationApplication as X11DatatypesGetRegistrationApplication +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetReplies as X11DatatypesGetReplies +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetRepliesResponse as X11DatatypesGetRepliesResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetReportCount as X11DatatypesGetReportCount +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetReportCountResponse as X11DatatypesGetReportCountResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetSiteMetadata as X11DatatypesGetSiteMetadata +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetSiteMetadataResponse as X11DatatypesGetSiteMetadataResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetSiteResponse as X11DatatypesGetSiteResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetUnreadCountResponse as X11DatatypesGetUnreadCountResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.GetUnreadRegistrationApplicationCountResponse as X11DatatypesGetUnreadRegistrationApplicationCountResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.HideCommunity as X11DatatypesHideCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.HidePost as X11DatatypesHidePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ImageDetails as X11DatatypesImageDetails +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Instance as X11DatatypesInstance +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.InstanceBlockView as X11DatatypesInstanceBlockView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.InstanceWithFederationState as X11DatatypesInstanceWithFederationState +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Language as X11DatatypesLanguage +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LinkMetadata as X11DatatypesLinkMetadata +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListCommentLikes as X11DatatypesListCommentLikes +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListCommentLikesResponse as X11DatatypesListCommentLikesResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListCommentReports as X11DatatypesListCommentReports +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListCommentReportsResponse as X11DatatypesListCommentReportsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListCommunities as X11DatatypesListCommunities +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListCommunitiesResponse as X11DatatypesListCommunitiesResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListMedia as X11DatatypesListMedia +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListMediaResponse as X11DatatypesListMediaResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListPostLikes as X11DatatypesListPostLikes +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListPostLikesResponse as X11DatatypesListPostLikesResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListPostReports as X11DatatypesListPostReports +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListPostReportsResponse as X11DatatypesListPostReportsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListPrivateMessageReports as X11DatatypesListPrivateMessageReports +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListPrivateMessageReportsResponse as X11DatatypesListPrivateMessageReportsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListRegistrationApplications as X11DatatypesListRegistrationApplications +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ListRegistrationApplicationsResponse as X11DatatypesListRegistrationApplicationsResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalImage as X11DatatypesLocalImage +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalImageView as X11DatatypesLocalImageView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalSite as X11DatatypesLocalSite +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalSiteRateLimit as X11DatatypesLocalSiteRateLimit +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalSiteUrlBlocklist as X11DatatypesLocalSiteUrlBlocklist +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalUser as X11DatatypesLocalUser +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalUserView as X11DatatypesLocalUserView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LocalUserVoteDisplayMode as X11DatatypesLocalUserVoteDisplayMode +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LockPost as X11DatatypesLockPost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Login as X11DatatypesLogin +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LoginResponse as X11DatatypesLoginResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.LoginToken as X11DatatypesLoginToken +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.MarkCommentReplyAsRead as X11DatatypesMarkCommentReplyAsRead +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.MarkPersonMentionAsRead as X11DatatypesMarkPersonMentionAsRead +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.MarkPostAsRead as X11DatatypesMarkPostAsRead +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.MarkPrivateMessageAsRead as X11DatatypesMarkPrivateMessageAsRead +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModAdd as X11DatatypesModAdd +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModAddCommunity as X11DatatypesModAddCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModAddCommunityView as X11DatatypesModAddCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModAddView as X11DatatypesModAddView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModBan as X11DatatypesModBan +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModBanFromCommunity as X11DatatypesModBanFromCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModBanFromCommunityView as X11DatatypesModBanFromCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModBanView as X11DatatypesModBanView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModFeaturePost as X11DatatypesModFeaturePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModFeaturePostView as X11DatatypesModFeaturePostView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModHideCommunity as X11DatatypesModHideCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModHideCommunityView as X11DatatypesModHideCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModLockPost as X11DatatypesModLockPost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModLockPostView as X11DatatypesModLockPostView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModRemoveComment as X11DatatypesModRemoveComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModRemoveCommentView as X11DatatypesModRemoveCommentView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModRemoveCommunity as X11DatatypesModRemoveCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModRemoveCommunityView as X11DatatypesModRemoveCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModRemovePost as X11DatatypesModRemovePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModRemovePostView as X11DatatypesModRemovePostView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModTransferCommunity as X11DatatypesModTransferCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModTransferCommunityView as X11DatatypesModTransferCommunityView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ModlogListParams as X11DatatypesModlogListParams +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.MyUserInfo as X11DatatypesMyUserInfo +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PasswordChangeAfterReset as X11DatatypesPasswordChangeAfterReset +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PasswordReset as X11DatatypesPasswordReset +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Person as X11DatatypesPerson +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PersonAggregates as X11DatatypesPersonAggregates +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PersonBlockView as X11DatatypesPersonBlockView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PersonMention as X11DatatypesPersonMention +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PersonMentionResponse as X11DatatypesPersonMentionResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PersonMentionView as X11DatatypesPersonMentionView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PersonView as X11DatatypesPersonView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Post as X11DatatypesPost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PostAggregates as X11DatatypesPostAggregates +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PostReport as X11DatatypesPostReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PostReportResponse as X11DatatypesPostReportResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PostReportView as X11DatatypesPostReportView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PostResponse as X11DatatypesPostResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PostView as X11DatatypesPostView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessage as X11DatatypesPrivateMessage +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessageReport as X11DatatypesPrivateMessageReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessageReportResponse as X11DatatypesPrivateMessageReportResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessageReportView as X11DatatypesPrivateMessageReportView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessageResponse as X11DatatypesPrivateMessageResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessageView as X11DatatypesPrivateMessageView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PrivateMessagesResponse as X11DatatypesPrivateMessagesResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PurgeComment as X11DatatypesPurgeComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PurgeCommunity as X11DatatypesPurgeCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PurgePerson as X11DatatypesPurgePerson +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.PurgePost as X11DatatypesPurgePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ReadableFederationState as X11DatatypesReadableFederationState +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Register as X11DatatypesRegister +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.RegistrationApplication as X11DatatypesRegistrationApplication +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.RegistrationApplicationResponse as X11DatatypesRegistrationApplicationResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.RegistrationApplicationView as X11DatatypesRegistrationApplicationView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.RemoveComment as X11DatatypesRemoveComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.RemoveCommunity as X11DatatypesRemoveCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.RemovePost as X11DatatypesRemovePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ResolveCommentReport as X11DatatypesResolveCommentReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ResolveObject as X11DatatypesResolveObject +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ResolveObjectResponse as X11DatatypesResolveObjectResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ResolvePostReport as X11DatatypesResolvePostReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.ResolvePrivateMessageReport as X11DatatypesResolvePrivateMessageReport +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SaveComment as X11DatatypesSaveComment +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SavePost as X11DatatypesSavePost +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SaveUserSettings as X11DatatypesSaveUserSettings +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Search as X11DatatypesSearch +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SearchResponse as X11DatatypesSearchResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Site as X11DatatypesSite +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SiteAggregates as X11DatatypesSiteAggregates +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SiteResponse as X11DatatypesSiteResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.SiteView as X11DatatypesSiteView +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.Tagline as X11DatatypesTagline +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.TransferCommunity as X11DatatypesTransferCommunity +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.UpdateTotp as X11DatatypesUpdateTotp +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.UpdateTotpResponse as X11DatatypesUpdateTotpResponse +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.VerifyEmail as X11DatatypesVerifyEmail +import it.vercruysse.lemmyapi.v0.x19.x11.datatypes.VoteView as X11DatatypesVoteView + +// Based on tags/0.19.11 +internal class Transformer : MapperGenerator { + override fun toUni(d: X11DatatypesAddAdminResponse): LemmyapiDatatypesAddAdminResponse = + LemmyapiDatatypesAddAdminResponse( + admins = d.admins.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesAddModToCommunityResponse): LemmyapiDatatypesAddModToCommunityResponse = LemmyapiDatatypesAddModToCommunityResponse( + moderators = d.moderators.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesAdminPurgeComment): LemmyapiDatatypesAdminPurgeComment = + LemmyapiDatatypesAdminPurgeComment( + id = d.id, + admin_person_id = d.admin_person_id, + post_id = d.post_id, + reason = d.reason, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesAdminPurgeCommentView): LemmyapiDatatypesAdminPurgeCommentView = + LemmyapiDatatypesAdminPurgeCommentView( + admin_purge_comment = this.toUni(d = d.admin_purge_comment), + admin = d.admin?.let { this.toUni(d = it) }, + post = this.toUni(d = d.post), + ) + + override fun toUni(d: X11DatatypesAdminPurgeCommunity): LemmyapiDatatypesAdminPurgeCommunity = + LemmyapiDatatypesAdminPurgeCommunity( + id = d.id, + admin_person_id = d.admin_person_id, + reason = d.reason, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesAdminPurgeCommunityView): LemmyapiDatatypesAdminPurgeCommunityView = LemmyapiDatatypesAdminPurgeCommunityView( + admin_purge_community = this.toUni(d = d.admin_purge_community), + admin = d.admin?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesAdminPurgePerson): LemmyapiDatatypesAdminPurgePerson = + LemmyapiDatatypesAdminPurgePerson( + id = d.id, + admin_person_id = d.admin_person_id, + reason = d.reason, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesAdminPurgePersonView): LemmyapiDatatypesAdminPurgePersonView = + LemmyapiDatatypesAdminPurgePersonView( + admin_purge_person = this.toUni(d = d.admin_purge_person), + admin = d.admin?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesAdminPurgePost): LemmyapiDatatypesAdminPurgePost = + LemmyapiDatatypesAdminPurgePost( + id = d.id, + admin_person_id = d.admin_person_id, + community_id = d.community_id, + reason = d.reason, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesAdminPurgePostView): LemmyapiDatatypesAdminPurgePostView = + LemmyapiDatatypesAdminPurgePostView( + admin_purge_post = this.toUni(d = d.admin_purge_post), + admin = d.admin?.let { this.toUni(d = it) }, + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesBanFromCommunityResponse): LemmyapiDatatypesBanFromCommunityResponse = LemmyapiDatatypesBanFromCommunityResponse( + person_view = this.toUni(d = d.person_view), + banned = d.banned, + ) + + override fun toUni(d: X11DatatypesBannedPersonsResponse): LemmyapiDatatypesBannedPersonsResponse = + LemmyapiDatatypesBannedPersonsResponse( + banned = d.banned.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesBanPersonResponse): LemmyapiDatatypesBanPersonResponse = + LemmyapiDatatypesBanPersonResponse( + person_view = this.toUni(d = d.person_view), + banned = d.banned, + ) + + override fun toUni(d: X11DatatypesBlockCommunityResponse): LemmyapiDatatypesBlockCommunityResponse = LemmyapiDatatypesBlockCommunityResponse( + community_view = this.toUni(d = d.community_view), + blocked = d.blocked, + ) + + override fun toUni(d: X11DatatypesBlockInstanceResponse): LemmyapiDatatypesBlockInstanceResponse = + LemmyapiDatatypesBlockInstanceResponse( + blocked = d.blocked, + ) + + override fun toUni(d: X11DatatypesBlockPersonResponse): LemmyapiDatatypesBlockPersonResponse = + LemmyapiDatatypesBlockPersonResponse( + person_view = this.toUni(d = d.person_view), + blocked = d.blocked, + ) + + override fun toUni(d: X11DatatypesCaptchaResponse): LemmyapiDatatypesCaptchaResponse = + LemmyapiDatatypesCaptchaResponse( + png = d.png, + wav = d.wav, + uuid = d.uuid, + ) + + override fun toUni(d: X11DatatypesComment): LemmyapiDatatypesComment = LemmyapiDatatypesComment( + id = d.id, + creator_id = d.creator_id, + post_id = d.post_id, + content = d.content, + removed = d.removed, + published = d.published, + updated = d.updated, + deleted = d.deleted, + ap_id = d.ap_id, + local = d.local, + path = d.path, + distinguished = d.distinguished, + language_id = d.language_id, + ) + + override fun toUni(d: X11DatatypesCommentAggregates): LemmyapiDatatypesCommentAggregates = + LemmyapiDatatypesCommentAggregates( + comment_id = d.comment_id, + score = d.score, + upvotes = d.upvotes, + downvotes = d.downvotes, + published = d.published, + child_count = d.child_count, + ) + + override fun toUni(d: X11DatatypesCommentReply): LemmyapiDatatypesCommentReply = + LemmyapiDatatypesCommentReply( + id = d.id, + recipient_id = d.recipient_id, + comment_id = d.comment_id, + read = d.read, + published = d.published, + ) + + override fun toUni(d: X11DatatypesCommentReplyResponse): LemmyapiDatatypesCommentReplyResponse = + LemmyapiDatatypesCommentReplyResponse( + comment_reply_view = this.toUni(d = d.comment_reply_view), + ) + + override fun toUni(d: X11DatatypesCommentReplyView): LemmyapiDatatypesCommentReplyView = + LemmyapiDatatypesCommentReplyView( + comment_reply = this.toUni(d = d.comment_reply), + comment = this.toUni(d = d.comment), + creator = this.toUni(d = d.creator), + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + recipient = this.toUni(d = d.recipient), + counts = this.toUni(d = d.counts), + creator_banned_from_community = d.creator_banned_from_community, + banned_from_community = d.banned_from_community, + creator_is_moderator = d.creator_is_moderator, + creator_is_admin = d.creator_is_admin, + subscribed = d.subscribed, + saved = d.saved, + creator_blocked = d.creator_blocked, + my_vote = d.my_vote, + ) + + override fun toUni(d: X11DatatypesCommentReport): LemmyapiDatatypesCommentReport = + LemmyapiDatatypesCommentReport( + id = d.id, + creator_id = d.creator_id, + comment_id = d.comment_id, + original_comment_text = d.original_comment_text, + reason = d.reason, + resolved = d.resolved, + resolver_id = d.resolver_id, + published = d.published, + updated = d.updated, + ) + + override fun toUni(d: X11DatatypesCommentReportResponse): LemmyapiDatatypesCommentReportResponse = + LemmyapiDatatypesCommentReportResponse( + comment_report_view = this.toUni(d = d.comment_report_view), + ) + + override fun toUni(d: X11DatatypesCommentReportView): LemmyapiDatatypesCommentReportView = + LemmyapiDatatypesCommentReportView( + comment_report = this.toUni(d = d.comment_report), + comment = this.toUni(d = d.comment), + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + creator = this.toUni(d = d.creator), + comment_creator = this.toUni(d = d.comment_creator), + counts = this.toUni(d = d.counts), + creator_banned_from_community = d.creator_banned_from_community, + creator_is_moderator = d.creator_is_moderator, + creator_is_admin = d.creator_is_admin, + creator_blocked = d.creator_blocked, + subscribed = d.subscribed, + saved = d.saved, + my_vote = d.my_vote, + resolver = d.resolver?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesCommentResponse): LemmyapiDatatypesCommentResponse = + LemmyapiDatatypesCommentResponse( + comment_view = this.toUni(d = d.comment_view), + recipient_ids = d.recipient_ids, + ) + + override fun toUni(d: X11DatatypesCommentView): LemmyapiDatatypesCommentView = + LemmyapiDatatypesCommentView( + comment = this.toUni(d = d.comment), + creator = this.toUni(d = d.creator), + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + counts = this.toUni(d = d.counts), + creator_banned_from_community = d.creator_banned_from_community, + banned_from_community = d.banned_from_community, + creator_is_moderator = d.creator_is_moderator, + creator_is_admin = d.creator_is_admin, + subscribed = d.subscribed, + saved = d.saved, + creator_blocked = d.creator_blocked, + my_vote = d.my_vote, + ) + + override fun toUni(d: X11DatatypesCommunity): LemmyapiDatatypesCommunity = + LemmyapiDatatypesCommunity( + id = d.id, + name = d.name, + title = d.title, + description = d.description, + removed = d.removed, + published = d.published, + updated = d.updated, + deleted = d.deleted, + nsfw = d.nsfw, + actor_id = d.actor_id, + local = d.local, + icon = d.icon, + banner = d.banner, + hidden = d.hidden, + posting_restricted_to_mods = d.posting_restricted_to_mods, + instance_id = d.instance_id, + visibility = d.visibility, + ) + + override fun toUni(d: X11DatatypesCommunityAggregates): LemmyapiDatatypesCommunityAggregates = + LemmyapiDatatypesCommunityAggregates( + community_id = d.community_id, + subscribers = d.subscribers, + posts = d.posts, + comments = d.comments, + published = d.published, + users_active_day = d.users_active_day, + users_active_week = d.users_active_week, + users_active_month = d.users_active_month, + users_active_half_year = d.users_active_half_year, + subscribers_local = d.subscribers_local, + ) + + override fun toUni(d: X11DatatypesCommunityBlockView): LemmyapiDatatypesCommunityBlockView = + LemmyapiDatatypesCommunityBlockView( + person = this.toUni(d = d.person), + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesCommunityFollowerView): LemmyapiDatatypesCommunityFollowerView = + LemmyapiDatatypesCommunityFollowerView( + community = this.toUni(d = d.community), + follower = this.toUni(d = d.follower), + ) + + override fun toUni(d: X11DatatypesCommunityModeratorView): LemmyapiDatatypesCommunityModeratorView = LemmyapiDatatypesCommunityModeratorView( + community = this.toUni(d = d.community), + moderator = this.toUni(d = d.moderator), + ) + + override fun toUni(d: X11DatatypesCommunityResponse): LemmyapiDatatypesCommunityResponse = + LemmyapiDatatypesCommunityResponse( + community_view = this.toUni(d = d.community_view), + discussion_languages = d.discussion_languages, + ) + + override fun toUni(d: X11DatatypesCommunityView): LemmyapiDatatypesCommunityView = + LemmyapiDatatypesCommunityView( + community = this.toUni(d = d.community), + subscribed = d.subscribed, + blocked = d.blocked, + counts = this.toUni(d = d.counts), + banned_from_community = d.banned_from_community, + ) + + override fun toUni(d: X11DatatypesCustomEmoji): LemmyapiDatatypesCustomEmoji = + LemmyapiDatatypesCustomEmoji( + id = d.id, + local_site_id = d.local_site_id, + shortcode = d.shortcode, + image_url = d.image_url, + alt_text = d.alt_text, + category = d.category, + published = d.published, + updated = d.updated, + ) + + override fun toUni(d: X11DatatypesCustomEmojiKeyword): LemmyapiDatatypesCustomEmojiKeyword = + LemmyapiDatatypesCustomEmojiKeyword( + custom_emoji_id = d.custom_emoji_id, + keyword = d.keyword, + ) + + override fun toUni(d: X11DatatypesCustomEmojiResponse): LemmyapiDatatypesCustomEmojiResponse = + LemmyapiDatatypesCustomEmojiResponse( + custom_emoji = this.toUni(d = d.custom_emoji), + ) + + override fun toUni(d: X11DatatypesCustomEmojiView): LemmyapiDatatypesCustomEmojiView = + LemmyapiDatatypesCustomEmojiView( + custom_emoji = this.toUni(d = d.custom_emoji), + keywords = d.keywords.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesFederatedInstances): LemmyapiDatatypesFederatedInstances = + LemmyapiDatatypesFederatedInstances( + linked = d.linked.map { this.toUni(d = it) }, + allowed = d.allowed.map { this.toUni(d = it) }, + blocked = d.blocked.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGenerateTotpSecretResponse): LemmyapiDatatypesGenerateTotpSecretResponse = LemmyapiDatatypesGenerateTotpSecretResponse( + totp_secret_url = d.totp_secret_url, + ) + + override fun toUni(d: X11DatatypesGetCaptchaResponse): LemmyapiDatatypesGetCaptchaResponse = + LemmyapiDatatypesGetCaptchaResponse( + ok = d.ok?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetCommentsResponse): LemmyapiDatatypesGetCommentsResponse = + LemmyapiDatatypesGetCommentsResponse( + comments = d.comments.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetCommunityResponse): LemmyapiDatatypesGetCommunityResponse = + LemmyapiDatatypesGetCommunityResponse( + community_view = this.toUni(d = d.community_view), + site = d.site?.let { this.toUni(d = it) }, + moderators = d.moderators.map { this.toUni(d = it) }, + discussion_languages = d.discussion_languages, + ) + + override fun toUni(d: X11DatatypesGetFederatedInstancesResponse): LemmyapiDatatypesGetFederatedInstancesResponse = + LemmyapiDatatypesGetFederatedInstancesResponse( + federated_instances = d.federated_instances?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetModlogResponse): LemmyapiDatatypesGetModlogResponse = + LemmyapiDatatypesGetModlogResponse( + removed_posts = d.removed_posts.map { this.toUni(d = it) }, + locked_posts = d.locked_posts.map { this.toUni(d = it) }, + featured_posts = d.featured_posts.map { this.toUni(d = it) }, + removed_comments = d.removed_comments.map { this.toUni(d = it) }, + removed_communities = d.removed_communities.map { this.toUni(d = it) }, + banned_from_community = d.banned_from_community.map { this.toUni(d = it) }, + banned = d.banned.map { this.toUni(d = it) }, + added_to_community = d.added_to_community.map { this.toUni(d = it) }, + transferred_to_community = d.transferred_to_community.map { this.toUni(d = it) }, + added = d.added.map { this.toUni(d = it) }, + admin_purged_persons = d.admin_purged_persons.map { this.toUni(d = it) }, + admin_purged_communities = d.admin_purged_communities.map { this.toUni(d = it) }, + admin_purged_posts = d.admin_purged_posts.map { this.toUni(d = it) }, + admin_purged_comments = d.admin_purged_comments.map { this.toUni(d = it) }, + hidden_communities = d.hidden_communities.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetPersonDetailsResponse): LemmyapiDatatypesGetPersonDetailsResponse = LemmyapiDatatypesGetPersonDetailsResponse( + person_view = this.toUni(d = d.person_view), + site = d.site?.let { this.toUni(d = it) }, + comments = d.comments.map { this.toUni(d = it) }, + posts = d.posts.map { this.toUni(d = it) }, + moderates = d.moderates.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetPersonMentionsResponse): LemmyapiDatatypesGetPersonMentionsResponse = LemmyapiDatatypesGetPersonMentionsResponse( + mentions = d.mentions.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetPostResponse): LemmyapiDatatypesGetPostResponse = + LemmyapiDatatypesGetPostResponse( + post_view = this.toUni(d = d.post_view), + community_view = this.toUni(d = d.community_view), + moderators = d.moderators.map { this.toUni(d = it) }, + cross_posts = d.cross_posts.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetPostsResponse): LemmyapiDatatypesGetPostsResponse = + LemmyapiDatatypesGetPostsResponse( + posts = d.posts.map { this.toUni(d = it) }, + next_page = d.next_page, + ) + + override fun toUni(d: X11DatatypesGetRepliesResponse): LemmyapiDatatypesGetRepliesResponse = + LemmyapiDatatypesGetRepliesResponse( + replies = d.replies.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetReportCountResponse): LemmyapiDatatypesGetReportCountResponse = LemmyapiDatatypesGetReportCountResponse( + community_id = d.community_id, + comment_reports = d.comment_reports, + post_reports = d.post_reports, + private_message_reports = d.private_message_reports, + ) + + override fun toUni(d: X11DatatypesGetSiteMetadataResponse): LemmyapiDatatypesGetSiteMetadataResponse = LemmyapiDatatypesGetSiteMetadataResponse( + metadata = this.toUni(d = d.metadata), + ) + + override fun toUni(d: X11DatatypesGetSiteResponse): LemmyapiDatatypesGetSiteResponse = + LemmyapiDatatypesGetSiteResponse( + site_view = this.toUni(d = d.site_view), + admins = d.admins.map { this.toUni(d = it) }, + version = d.version, + my_user = d.my_user?.let { this.toUni(d = it) }, + all_languages = d.all_languages.map { this.toUni(d = it) }, + discussion_languages = d.discussion_languages, + taglines = d.taglines.map { this.toUni(d = it) }, + custom_emojis = d.custom_emojis.map { this.toUni(d = it) }, + blocked_urls = d.blocked_urls.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesGetUnreadCountResponse): LemmyapiDatatypesGetUnreadCountResponse = LemmyapiDatatypesGetUnreadCountResponse( + replies = d.replies, + mentions = d.mentions, + private_messages = d.private_messages, + ) + + override fun toUni(d: X11DatatypesGetUnreadRegistrationApplicationCountResponse): LemmyapiDatatypesGetUnreadRegistrationApplicationCountResponse = + LemmyapiDatatypesGetUnreadRegistrationApplicationCountResponse( + registration_applications = d.registration_applications, + ) + + override fun toUni(d: X11DatatypesImageDetails): LemmyapiDatatypesImageDetails = + LemmyapiDatatypesImageDetails( + link = d.link, + width = d.width, + height = d.height, + content_type = d.content_type, + ) + + override fun toUni(d: X11DatatypesInstance): LemmyapiDatatypesInstance = + LemmyapiDatatypesInstance( + id = d.id, + domain = d.domain, + published = d.published, + updated = d.updated, + software = d.software, + version = d.version, + ) + + override fun toUni(d: X11DatatypesInstanceBlockView): LemmyapiDatatypesInstanceBlockView = + LemmyapiDatatypesInstanceBlockView( + person = this.toUni(d = d.person), + instance = this.toUni(d = d.instance), + site = d.site?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesInstanceWithFederationState): LemmyapiDatatypesInstanceWithFederationState = LemmyapiDatatypesInstanceWithFederationState( + id = d.id, + domain = d.domain, + published = d.published, + updated = d.updated, + software = d.software, + version = d.version, + federation_state = d.federation_state?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesLanguage): LemmyapiDatatypesLanguage = + LemmyapiDatatypesLanguage( + id = d.id, + code = d.code, + name = d.name, + ) + + override fun toUni(d: X11DatatypesLinkMetadata): LemmyapiDatatypesLinkMetadata = + LemmyapiDatatypesLinkMetadata( + title = d.title, + description = d.description, + image = d.image, + embed_video_url = d.embed_video_url, + content_type = d.content_type, + ) + + override fun toUni(d: X11DatatypesListCommentLikesResponse): LemmyapiDatatypesListCommentLikesResponse = LemmyapiDatatypesListCommentLikesResponse( + comment_likes = d.comment_likes.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListCommentReportsResponse): LemmyapiDatatypesListCommentReportsResponse = LemmyapiDatatypesListCommentReportsResponse( + comment_reports = d.comment_reports.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListCommunitiesResponse): LemmyapiDatatypesListCommunitiesResponse = LemmyapiDatatypesListCommunitiesResponse( + communities = d.communities.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListMediaResponse): LemmyapiDatatypesListMediaResponse = + LemmyapiDatatypesListMediaResponse( + images = d.images.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListPostLikesResponse): LemmyapiDatatypesListPostLikesResponse = + LemmyapiDatatypesListPostLikesResponse( + post_likes = d.post_likes.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListPostReportsResponse): LemmyapiDatatypesListPostReportsResponse = LemmyapiDatatypesListPostReportsResponse( + post_reports = d.post_reports.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListPrivateMessageReportsResponse): LemmyapiDatatypesListPrivateMessageReportsResponse = + LemmyapiDatatypesListPrivateMessageReportsResponse( + private_message_reports = d.private_message_reports.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesListRegistrationApplicationsResponse): LemmyapiDatatypesListRegistrationApplicationsResponse = + LemmyapiDatatypesListRegistrationApplicationsResponse( + registration_applications = d.registration_applications.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesLocalImage): LemmyapiDatatypesLocalImage = + LemmyapiDatatypesLocalImage( + local_user_id = d.local_user_id, + pictrs_alias = d.pictrs_alias, + pictrs_delete_token = d.pictrs_delete_token, + published = d.published, + ) + + override fun toUni(d: X11DatatypesLocalImageView): LemmyapiDatatypesLocalImageView = + LemmyapiDatatypesLocalImageView( + local_image = this.toUni(d = d.local_image), + person = this.toUni(d = d.person), + ) + + override fun toUni(d: X11DatatypesLocalSite): LemmyapiDatatypesLocalSite = + LemmyapiDatatypesLocalSite( + id = d.id, + site_id = d.site_id, + site_setup = d.site_setup, + enable_downvotes = d.enable_downvotes, + enable_nsfw = d.enable_nsfw, + community_creation_admin_only = d.community_creation_admin_only, + require_email_verification = d.require_email_verification, + application_question = d.application_question, + private_instance = d.private_instance, + default_theme = d.default_theme, + default_post_listing_type = d.default_post_listing_type, + legal_information = d.legal_information, + hide_modlog_mod_names = d.hide_modlog_mod_names, + application_email_admins = d.application_email_admins, + slur_filter_regex = d.slur_filter_regex, + actor_name_max_length = d.actor_name_max_length, + federation_enabled = d.federation_enabled, + captcha_enabled = d.captcha_enabled, + captcha_difficulty = d.captcha_difficulty, + published = d.published, + updated = d.updated, + registration_mode = d.registration_mode, + reports_email_admins = d.reports_email_admins, + federation_signed_fetch = d.federation_signed_fetch, + default_post_listing_mode = d.default_post_listing_mode, + default_sort_type = d.default_sort_type, + ) + + override fun toUni(d: X11DatatypesLocalSiteRateLimit): LemmyapiDatatypesLocalSiteRateLimit = + LemmyapiDatatypesLocalSiteRateLimit( + local_site_id = d.local_site_id, + message = d.message, + message_per_second = d.message_per_second, + post = d.post, + post_per_second = d.post_per_second, + register = d.register, + register_per_second = d.register_per_second, + image = d.image, + image_per_second = d.image_per_second, + comment = d.comment, + comment_per_second = d.comment_per_second, + search = d.search, + search_per_second = d.search_per_second, + published = d.published, + updated = d.updated, + import_user_settings = d.import_user_settings, + import_user_settings_per_second = d.import_user_settings_per_second, + ) + + override fun toUni(d: X11DatatypesLocalSiteUrlBlocklist): LemmyapiDatatypesLocalSiteUrlBlocklist = + LemmyapiDatatypesLocalSiteUrlBlocklist( + id = d.id, + url = d.url, + published = d.published, + updated = d.updated, + ) + + override fun toUni(d: X11DatatypesLocalUser): LemmyapiDatatypesLocalUser = + LemmyapiDatatypesLocalUser( + id = d.id, + person_id = d.person_id, + email = d.email, + show_nsfw = d.show_nsfw, + theme = d.theme, + default_sort_type = d.default_sort_type, + default_listing_type = d.default_listing_type, + interface_language = d.interface_language, + show_avatars = d.show_avatars, + send_notifications_to_email = d.send_notifications_to_email, + show_scores = d.show_scores, + show_bot_accounts = d.show_bot_accounts, + show_read_posts = d.show_read_posts, + email_verified = d.email_verified, + accepted_application = d.accepted_application, + open_links_in_new_tab = d.open_links_in_new_tab, + blur_nsfw = d.blur_nsfw, + auto_expand = d.auto_expand, + infinite_scroll_enabled = d.infinite_scroll_enabled, + admin = d.admin, + post_listing_mode = d.post_listing_mode, + totp_2fa_enabled = d.totp_2fa_enabled, + enable_keyboard_navigation = d.enable_keyboard_navigation, + enable_animated_images = d.enable_animated_images, + collapse_bot_comments = d.collapse_bot_comments, + last_donation_notification = d.last_donation_notification, + ) + + override fun toUni(d: X11DatatypesLocalUserView): LemmyapiDatatypesLocalUserView = + LemmyapiDatatypesLocalUserView( + local_user = this.toUni(d = d.local_user), + local_user_vote_display_mode = this.toUni(d = d.local_user_vote_display_mode), + person = this.toUni(d = d.person), + counts = this.toUni(d = d.counts), + ) + + override fun toUni(d: X11DatatypesLocalUserVoteDisplayMode): LemmyapiDatatypesLocalUserVoteDisplayMode = LemmyapiDatatypesLocalUserVoteDisplayMode( + local_user_id = d.local_user_id, + score = d.score, + upvotes = d.upvotes, + downvotes = d.downvotes, + upvote_percentage = d.upvote_percentage, + ) + + override fun toUni(d: X11DatatypesLoginResponse): LemmyapiDatatypesLoginResponse = + LemmyapiDatatypesLoginResponse( + jwt = d.jwt, + registration_created = d.registration_created, + verify_email_sent = d.verify_email_sent, + ) + + override fun toUni(d: X11DatatypesLoginToken): LemmyapiDatatypesLoginToken = + LemmyapiDatatypesLoginToken( + user_id = d.user_id, + published = d.published, + ip = d.ip, + user_agent = d.user_agent, + ) + + override fun toUni(d: X11DatatypesModAdd): LemmyapiDatatypesModAdd = LemmyapiDatatypesModAdd( + id = d.id, + mod_person_id = d.mod_person_id, + other_person_id = d.other_person_id, + removed = d.removed, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModAddCommunity): LemmyapiDatatypesModAddCommunity = + LemmyapiDatatypesModAddCommunity( + id = d.id, + mod_person_id = d.mod_person_id, + other_person_id = d.other_person_id, + community_id = d.community_id, + removed = d.removed, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModAddCommunityView): LemmyapiDatatypesModAddCommunityView = + LemmyapiDatatypesModAddCommunityView( + mod_add_community = this.toUni(d = d.mod_add_community), + moderator = d.moderator?.let { this.toUni(d = it) }, + community = this.toUni(d = d.community), + modded_person = this.toUni(d = d.modded_person), + ) + + override fun toUni(d: X11DatatypesModAddView): LemmyapiDatatypesModAddView = + LemmyapiDatatypesModAddView( + mod_add = this.toUni(d = d.mod_add), + moderator = d.moderator?.let { this.toUni(d = it) }, + modded_person = this.toUni(d = d.modded_person), + ) + + override fun toUni(d: X11DatatypesModBan): LemmyapiDatatypesModBan = LemmyapiDatatypesModBan( + id = d.id, + mod_person_id = d.mod_person_id, + other_person_id = d.other_person_id, + reason = d.reason, + banned = d.banned, + expires = d.expires, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModBanFromCommunity): LemmyapiDatatypesModBanFromCommunity = + LemmyapiDatatypesModBanFromCommunity( + id = d.id, + mod_person_id = d.mod_person_id, + other_person_id = d.other_person_id, + community_id = d.community_id, + reason = d.reason, + banned = d.banned, + expires = d.expires, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModBanFromCommunityView): LemmyapiDatatypesModBanFromCommunityView = LemmyapiDatatypesModBanFromCommunityView( + mod_ban_from_community = this.toUni(d = d.mod_ban_from_community), + moderator = d.moderator?.let { this.toUni(d = it) }, + community = this.toUni(d = d.community), + banned_person = this.toUni(d = d.banned_person), + ) + + override fun toUni(d: X11DatatypesModBanView): LemmyapiDatatypesModBanView = + LemmyapiDatatypesModBanView( + mod_ban = this.toUni(d = d.mod_ban), + moderator = d.moderator?.let { this.toUni(d = it) }, + banned_person = this.toUni(d = d.banned_person), + ) + + override fun toUni(d: X11DatatypesModFeaturePost): LemmyapiDatatypesModFeaturePost = + LemmyapiDatatypesModFeaturePost( + id = d.id, + mod_person_id = d.mod_person_id, + post_id = d.post_id, + featured = d.featured, + when_ = d.when_, + is_featured_community = d.is_featured_community, + ) + + override fun toUni(d: X11DatatypesModFeaturePostView): LemmyapiDatatypesModFeaturePostView = + LemmyapiDatatypesModFeaturePostView( + mod_feature_post = this.toUni(d = d.mod_feature_post), + moderator = d.moderator?.let { this.toUni(d = it) }, + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesModHideCommunity): LemmyapiDatatypesModHideCommunity = + LemmyapiDatatypesModHideCommunity( + id = d.id, + community_id = d.community_id, + mod_person_id = d.mod_person_id, + when_ = d.when_, + reason = d.reason, + hidden = d.hidden, + ) + + override fun toUni(d: X11DatatypesModHideCommunityView): LemmyapiDatatypesModHideCommunityView = + LemmyapiDatatypesModHideCommunityView( + mod_hide_community = this.toUni(d = d.mod_hide_community), + admin = d.admin?.let { this.toUni(d = it) }, + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesModLockPost): LemmyapiDatatypesModLockPost = + LemmyapiDatatypesModLockPost( + id = d.id, + mod_person_id = d.mod_person_id, + post_id = d.post_id, + locked = d.locked, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModLockPostView): LemmyapiDatatypesModLockPostView = + LemmyapiDatatypesModLockPostView( + mod_lock_post = this.toUni(d = d.mod_lock_post), + moderator = d.moderator?.let { this.toUni(d = it) }, + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesModlogListParams): LemmyapiDatatypesModlogListParams = + LemmyapiDatatypesModlogListParams( + community_id = d.community_id, + mod_person_id = d.mod_person_id, + other_person_id = d.other_person_id, + post_id = d.post_id, + comment_id = d.comment_id, + page = d.page, + limit = d.limit, + hide_modlog_names = d.hide_modlog_names, + ) + + override fun toUni(d: X11DatatypesModRemoveComment): LemmyapiDatatypesModRemoveComment = + LemmyapiDatatypesModRemoveComment( + id = d.id, + mod_person_id = d.mod_person_id, + comment_id = d.comment_id, + reason = d.reason, + removed = d.removed, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModRemoveCommentView): LemmyapiDatatypesModRemoveCommentView = + LemmyapiDatatypesModRemoveCommentView( + mod_remove_comment = this.toUni(d = d.mod_remove_comment), + moderator = d.moderator?.let { this.toUni(d = it) }, + comment = this.toUni(d = d.comment), + commenter = this.toUni(d = d.commenter), + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesModRemoveCommunity): LemmyapiDatatypesModRemoveCommunity = + LemmyapiDatatypesModRemoveCommunity( + id = d.id, + mod_person_id = d.mod_person_id, + community_id = d.community_id, + reason = d.reason, + removed = d.removed, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModRemoveCommunityView): LemmyapiDatatypesModRemoveCommunityView = LemmyapiDatatypesModRemoveCommunityView( + mod_remove_community = this.toUni(d = d.mod_remove_community), + moderator = d.moderator?.let { this.toUni(d = it) }, + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesModRemovePost): LemmyapiDatatypesModRemovePost = + LemmyapiDatatypesModRemovePost( + id = d.id, + mod_person_id = d.mod_person_id, + post_id = d.post_id, + reason = d.reason, + removed = d.removed, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModRemovePostView): LemmyapiDatatypesModRemovePostView = + LemmyapiDatatypesModRemovePostView( + mod_remove_post = this.toUni(d = d.mod_remove_post), + moderator = d.moderator?.let { this.toUni(d = it) }, + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + ) + + override fun toUni(d: X11DatatypesModTransferCommunity): LemmyapiDatatypesModTransferCommunity = + LemmyapiDatatypesModTransferCommunity( + id = d.id, + mod_person_id = d.mod_person_id, + other_person_id = d.other_person_id, + community_id = d.community_id, + when_ = d.when_, + ) + + override fun toUni(d: X11DatatypesModTransferCommunityView): LemmyapiDatatypesModTransferCommunityView = LemmyapiDatatypesModTransferCommunityView( + mod_transfer_community = this.toUni(d = d.mod_transfer_community), + moderator = d.moderator?.let { this.toUni(d = it) }, + community = this.toUni(d = d.community), + modded_person = this.toUni(d = d.modded_person), + ) + + override fun toUni(d: X11DatatypesMyUserInfo): LemmyapiDatatypesMyUserInfo = + LemmyapiDatatypesMyUserInfo( + local_user_view = this.toUni(d = d.local_user_view), + follows = d.follows.map { this.toUni(d = it) }, + moderates = d.moderates.map { this.toUni(d = it) }, + community_blocks = d.community_blocks.map { this.toUni(d = it) }, + instance_blocks = d.instance_blocks.map { this.toUni(d = it) }, + person_blocks = d.person_blocks.map { this.toUni(d = it) }, + discussion_languages = d.discussion_languages, + ) + + override fun toUni(d: X11DatatypesPerson): LemmyapiDatatypesPerson = LemmyapiDatatypesPerson( + id = d.id, + name = d.name, + display_name = d.display_name, + avatar = d.avatar, + banned = d.banned, + published = d.published, + updated = d.updated, + actor_id = d.actor_id, + bio = d.bio, + local = d.local, + banner = d.banner, + deleted = d.deleted, + matrix_user_id = d.matrix_user_id, + bot_account = d.bot_account, + ban_expires = d.ban_expires, + instance_id = d.instance_id, + ) + + override fun toUni(d: X11DatatypesPersonAggregates): LemmyapiDatatypesPersonAggregates = + LemmyapiDatatypesPersonAggregates( + person_id = d.person_id, + post_count = d.post_count, + comment_count = d.comment_count, + ) + + override fun toUni(d: X11DatatypesPersonBlockView): LemmyapiDatatypesPersonBlockView = + LemmyapiDatatypesPersonBlockView( + person = this.toUni(d = d.person), + target = this.toUni(d = d.target), + ) + + override fun toUni(d: X11DatatypesPersonMention): LemmyapiDatatypesPersonMention = + LemmyapiDatatypesPersonMention( + id = d.id, + recipient_id = d.recipient_id, + comment_id = d.comment_id, + read = d.read, + published = d.published, + ) + + override fun toUni(d: X11DatatypesPersonMentionResponse): LemmyapiDatatypesPersonMentionResponse = + LemmyapiDatatypesPersonMentionResponse( + person_mention_view = this.toUni(d = d.person_mention_view), + ) + + override fun toUni(d: X11DatatypesPersonMentionView): LemmyapiDatatypesPersonMentionView = + LemmyapiDatatypesPersonMentionView( + person_mention = this.toUni(d = d.person_mention), + comment = this.toUni(d = d.comment), + creator = this.toUni(d = d.creator), + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + recipient = this.toUni(d = d.recipient), + counts = this.toUni(d = d.counts), + creator_banned_from_community = d.creator_banned_from_community, + banned_from_community = d.banned_from_community, + creator_is_moderator = d.creator_is_moderator, + creator_is_admin = d.creator_is_admin, + subscribed = d.subscribed, + saved = d.saved, + creator_blocked = d.creator_blocked, + my_vote = d.my_vote, + ) + + override fun toUni(d: X11DatatypesPersonView): LemmyapiDatatypesPersonView = + LemmyapiDatatypesPersonView( + person = this.toUni(d = d.person), + counts = this.toUni(d = d.counts), + is_admin = d.is_admin, + ) + + override fun toUni(d: X11DatatypesPost): LemmyapiDatatypesPost = LemmyapiDatatypesPost( + id = d.id, + name = d.name, + url = d.url, + body = d.body, + creator_id = d.creator_id, + community_id = d.community_id, + removed = d.removed, + locked = d.locked, + published = d.published, + updated = d.updated, + deleted = d.deleted, + nsfw = d.nsfw, + embed_title = d.embed_title, + embed_description = d.embed_description, + thumbnail_url = d.thumbnail_url, + ap_id = d.ap_id, + local = d.local, + embed_video_url = d.embed_video_url, + language_id = d.language_id, + featured_community = d.featured_community, + featured_local = d.featured_local, + url_content_type = d.url_content_type, + alt_text = d.alt_text, + ) + + override fun toUni(d: X11DatatypesPostAggregates): LemmyapiDatatypesPostAggregates = + LemmyapiDatatypesPostAggregates( + post_id = d.post_id, + comments = d.comments, + score = d.score, + upvotes = d.upvotes, + downvotes = d.downvotes, + published = d.published, + newest_comment_time = d.newest_comment_time, + ) + + override fun toUni(d: X11DatatypesPostReport): LemmyapiDatatypesPostReport = + LemmyapiDatatypesPostReport( + id = d.id, + creator_id = d.creator_id, + post_id = d.post_id, + original_post_name = d.original_post_name, + original_post_url = d.original_post_url, + original_post_body = d.original_post_body, + reason = d.reason, + resolved = d.resolved, + resolver_id = d.resolver_id, + published = d.published, + updated = d.updated, + ) + + override fun toUni(d: X11DatatypesPostReportResponse): LemmyapiDatatypesPostReportResponse = + LemmyapiDatatypesPostReportResponse( + post_report_view = this.toUni(d = d.post_report_view), + ) + + override fun toUni(d: X11DatatypesPostReportView): LemmyapiDatatypesPostReportView = + LemmyapiDatatypesPostReportView( + post_report = this.toUni(d = d.post_report), + post = this.toUni(d = d.post), + community = this.toUni(d = d.community), + creator = this.toUni(d = d.creator), + post_creator = this.toUni(d = d.post_creator), + creator_banned_from_community = d.creator_banned_from_community, + creator_is_moderator = d.creator_is_moderator, + creator_is_admin = d.creator_is_admin, + subscribed = d.subscribed, + saved = d.saved, + read = d.read, + hidden = d.hidden, + creator_blocked = d.creator_blocked, + my_vote = d.my_vote, + unread_comments = d.unread_comments, + counts = this.toUni(d = d.counts), + resolver = d.resolver?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesPostResponse): LemmyapiDatatypesPostResponse = + LemmyapiDatatypesPostResponse( + post_view = this.toUni(d = d.post_view), + ) + + override fun toUni(d: X11DatatypesPostView): LemmyapiDatatypesPostView = + LemmyapiDatatypesPostView( + post = this.toUni(d = d.post), + creator = this.toUni(d = d.creator), + community = this.toUni(d = d.community), + creator_banned_from_community = d.creator_banned_from_community, + banned_from_community = d.banned_from_community, + creator_is_moderator = d.creator_is_moderator, + creator_is_admin = d.creator_is_admin, + counts = this.toUni(d = d.counts), + subscribed = d.subscribed, + saved = d.saved, + read = d.read, + hidden = d.hidden, + creator_blocked = d.creator_blocked, + my_vote = d.my_vote, + unread_comments = d.unread_comments, + image_details = d.image_details?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesPrivateMessage): LemmyapiDatatypesPrivateMessage = + LemmyapiDatatypesPrivateMessage( + id = d.id, + creator_id = d.creator_id, + recipient_id = d.recipient_id, + content = d.content, + deleted = d.deleted, + read = d.read, + published = d.published, + updated = d.updated, + ap_id = d.ap_id, + local = d.local, + ) + + override fun toUni(d: X11DatatypesPrivateMessageReport): LemmyapiDatatypesPrivateMessageReport = + LemmyapiDatatypesPrivateMessageReport( + id = d.id, + creator_id = d.creator_id, + private_message_id = d.private_message_id, + original_pm_text = d.original_pm_text, + reason = d.reason, + resolved = d.resolved, + resolver_id = d.resolver_id, + published = d.published, + updated = d.updated, + ) + + override fun toUni(d: X11DatatypesPrivateMessageReportResponse): LemmyapiDatatypesPrivateMessageReportResponse = LemmyapiDatatypesPrivateMessageReportResponse( + private_message_report_view = this.toUni(d = d.private_message_report_view), + ) + + override fun toUni(d: X11DatatypesPrivateMessageReportView): LemmyapiDatatypesPrivateMessageReportView = LemmyapiDatatypesPrivateMessageReportView( + private_message_report = this.toUni(d = d.private_message_report), + private_message = this.toUni(d = d.private_message), + private_message_creator = this.toUni(d = d.private_message_creator), + creator = this.toUni(d = d.creator), + resolver = d.resolver?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesPrivateMessageResponse): LemmyapiDatatypesPrivateMessageResponse = LemmyapiDatatypesPrivateMessageResponse( + private_message_view = this.toUni(d = d.private_message_view), + ) + + override fun toUni(d: X11DatatypesPrivateMessagesResponse): LemmyapiDatatypesPrivateMessagesResponse = LemmyapiDatatypesPrivateMessagesResponse( + private_messages = d.private_messages.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesPrivateMessageView): LemmyapiDatatypesPrivateMessageView = + LemmyapiDatatypesPrivateMessageView( + private_message = this.toUni(d = d.private_message), + creator = this.toUni(d = d.creator), + recipient = this.toUni(d = d.recipient), + ) + + override fun toUni(d: X11DatatypesReadableFederationState): LemmyapiDatatypesReadableFederationState = LemmyapiDatatypesReadableFederationState( + instance_id = d.instance_id, + last_successful_id = d.last_successful_id, + last_successful_published_time = d.last_successful_published_time, + fail_count = d.fail_count, + last_retry = d.last_retry, + next_retry = d.next_retry, + ) + + override fun toUni(d: X11DatatypesRegistrationApplication): LemmyapiDatatypesRegistrationApplication = LemmyapiDatatypesRegistrationApplication( + id = d.id, + local_user_id = d.local_user_id, + answer = d.answer, + admin_id = d.admin_id, + deny_reason = d.deny_reason, + published = d.published, + ) + + override fun toUni(d: X11DatatypesRegistrationApplicationResponse): LemmyapiDatatypesRegistrationApplicationResponse = + LemmyapiDatatypesRegistrationApplicationResponse( + registration_application = this.toUni(d = d.registration_application), + ) + + override fun toUni(d: X11DatatypesRegistrationApplicationView): LemmyapiDatatypesRegistrationApplicationView = LemmyapiDatatypesRegistrationApplicationView( + registration_application = this.toUni(d = d.registration_application), + creator_local_user = this.toUni(d = d.creator_local_user), + creator = this.toUni(d = d.creator), + admin = d.admin?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesResolveObjectResponse): LemmyapiDatatypesResolveObjectResponse = + LemmyapiDatatypesResolveObjectResponse( + comment = d.comment?.let { this.toUni(d = it) }, + post = d.post?.let { this.toUni(d = it) }, + community = d.community?.let { this.toUni(d = it) }, + person = d.person?.let { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesSearchResponse): LemmyapiDatatypesSearchResponse = + LemmyapiDatatypesSearchResponse( + type_ = d.type_, + comments = d.comments.map { this.toUni(d = it) }, + posts = d.posts.map { this.toUni(d = it) }, + communities = d.communities.map { this.toUni(d = it) }, + users = d.users.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesSite): LemmyapiDatatypesSite = LemmyapiDatatypesSite( + id = d.id, + name = d.name, + sidebar = d.sidebar, + published = d.published, + updated = d.updated, + icon = d.icon, + banner = d.banner, + description = d.description, + actor_id = d.actor_id, + last_refreshed_at = d.last_refreshed_at, + inbox_url = d.inbox_url, + instance_id = d.instance_id, + content_warning = d.content_warning, + ) + + override fun toUni(d: X11DatatypesSiteAggregates): LemmyapiDatatypesSiteAggregates = + LemmyapiDatatypesSiteAggregates( + site_id = d.site_id, + users = d.users, + posts = d.posts, + comments = d.comments, + communities = d.communities, + users_active_day = d.users_active_day, + users_active_week = d.users_active_week, + users_active_month = d.users_active_month, + users_active_half_year = d.users_active_half_year, + ) + + override fun toUni(d: X11DatatypesSiteResponse): LemmyapiDatatypesSiteResponse = + LemmyapiDatatypesSiteResponse( + site_view = this.toUni(d = d.site_view), + taglines = d.taglines.map { this.toUni(d = it) }, + ) + + override fun toUni(d: X11DatatypesSiteView): LemmyapiDatatypesSiteView = + LemmyapiDatatypesSiteView( + site = this.toUni(d = d.site), + local_site = this.toUni(d = d.local_site), + local_site_rate_limit = this.toUni(d = d.local_site_rate_limit), + counts = this.toUni(d = d.counts), + ) + + override fun toUni(d: X11DatatypesTagline): LemmyapiDatatypesTagline = LemmyapiDatatypesTagline( + id = d.id, + local_site_id = d.local_site_id, + content = d.content, + published = d.published, + updated = d.updated, + ) + + override fun toUni(d: X11DatatypesUpdateTotpResponse): LemmyapiDatatypesUpdateTotpResponse = + LemmyapiDatatypesUpdateTotpResponse( + enabled = d.enabled, + ) + + override fun toUni(d: X11DatatypesVoteView): LemmyapiDatatypesVoteView = + LemmyapiDatatypesVoteView( + creator = this.toUni(d = d.creator), + creator_banned_from_community = d.creator_banned_from_community, + score = d.score, + ) + + override fun fromUni(d: LemmyapiDatatypesAddAdmin): X11DatatypesAddAdmin = X11DatatypesAddAdmin( + person_id = d.person_id, + added = d.added, + ) + + override fun fromUni(d: LemmyapiDatatypesAddModToCommunity): X11DatatypesAddModToCommunity = + X11DatatypesAddModToCommunity( + community_id = d.community_id, + person_id = d.person_id, + added = d.added, + ) + + override fun fromUni(d: LemmyapiDatatypesApproveRegistrationApplication): X11DatatypesApproveRegistrationApplication = X11DatatypesApproveRegistrationApplication( + id = d.id, + approve = d.approve, + deny_reason = d.deny_reason, + ) + + override fun fromUni(d: LemmyapiDatatypesBanFromCommunity): X11DatatypesBanFromCommunity = + X11DatatypesBanFromCommunity( + community_id = d.community_id, + person_id = d.person_id, + ban = d.ban, + remove_data = d.remove_data, + reason = d.reason, + expires = d.expires, + ) + + override fun fromUni(d: LemmyapiDatatypesBanPerson): X11DatatypesBanPerson = + X11DatatypesBanPerson( + person_id = d.person_id, + ban = d.ban, + remove_data = d.remove_data, + reason = d.reason, + expires = d.expires, + ) + + override fun fromUni(d: LemmyapiDatatypesBlockCommunity): X11DatatypesBlockCommunity = + X11DatatypesBlockCommunity( + community_id = d.community_id, + block = d.block, + ) + + override fun fromUni(d: LemmyapiDatatypesBlockInstance): X11DatatypesBlockInstance = + X11DatatypesBlockInstance( + instance_id = d.instance_id, + block = d.block, + ) + + override fun fromUni(d: LemmyapiDatatypesBlockPerson): X11DatatypesBlockPerson = + X11DatatypesBlockPerson( + person_id = d.person_id, + block = d.block, + ) + + override fun fromUni(d: LemmyapiDatatypesChangePassword): X11DatatypesChangePassword = + X11DatatypesChangePassword( + new_password = d.new_password, + new_password_verify = d.new_password_verify, + old_password = d.old_password, + ) + + override fun fromUni(d: LemmyapiDatatypesCreateComment): X11DatatypesCreateComment = + X11DatatypesCreateComment( + content = d.content, + post_id = d.post_id, + parent_id = d.parent_id, + language_id = d.language_id, + ) + + override fun fromUni(d: LemmyapiDatatypesCreateCommentLike): X11DatatypesCreateCommentLike = + X11DatatypesCreateCommentLike( + comment_id = d.comment_id, + score = d.score.toLong(), + ) + + override fun fromUni(d: LemmyapiDatatypesCreateCommentReport): X11DatatypesCreateCommentReport = + X11DatatypesCreateCommentReport( + comment_id = d.comment_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesCreateCommunity): X11DatatypesCreateCommunity = + X11DatatypesCreateCommunity( + name = d.name, + title = d.title, + description = d.description, + icon = d.icon, + banner = d.banner, + nsfw = d.nsfw, + posting_restricted_to_mods = d.posting_restricted_to_mods, + discussion_languages = d.discussion_languages, + visibility = d.visibility, + ) + + override fun fromUni(d: LemmyapiDatatypesCreateCustomEmoji): X11DatatypesCreateCustomEmoji = + X11DatatypesCreateCustomEmoji( + category = d.category, + shortcode = d.shortcode, + image_url = d.image_url, + alt_text = d.alt_text, + keywords = d.keywords, + ) + + override fun fromUni(d: LemmyapiDatatypesCreatePost): X11DatatypesCreatePost = + X11DatatypesCreatePost( + name = d.name, + community_id = d.community_id, + url = d.url, + body = d.body, + alt_text = d.alt_text, + honeypot = d.honeypot, + nsfw = d.nsfw, + language_id = d.language_id, + custom_thumbnail = d.custom_thumbnail, + ) + + override fun fromUni(d: LemmyapiDatatypesCreatePostLike): X11DatatypesCreatePostLike = + X11DatatypesCreatePostLike( + post_id = d.post_id, + score = d.score.toLong(), + ) + + override fun fromUni(d: LemmyapiDatatypesCreatePostReport): X11DatatypesCreatePostReport = + X11DatatypesCreatePostReport( + post_id = d.post_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesCreatePrivateMessage): X11DatatypesCreatePrivateMessage = + X11DatatypesCreatePrivateMessage( + content = d.content, + recipient_id = d.recipient_id, + ) + + override fun fromUni(d: LemmyapiDatatypesCreatePrivateMessageReport): X11DatatypesCreatePrivateMessageReport = X11DatatypesCreatePrivateMessageReport( + private_message_id = d.private_message_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesCreateSite): X11DatatypesCreateSite = + X11DatatypesCreateSite( + name = d.name, + sidebar = d.sidebar, + description = d.description, + icon = d.icon, + banner = d.banner, + enable_downvotes = d.enable_downvotes, + enable_nsfw = d.enable_nsfw, + community_creation_admin_only = d.community_creation_admin_only, + require_email_verification = d.require_email_verification, + application_question = d.application_question, + private_instance = d.private_instance, + default_theme = d.default_theme, + default_post_listing_type = d.default_post_listing_type, + default_sort_type = d.default_sort_type, + legal_information = d.legal_information, + application_email_admins = d.application_email_admins, + hide_modlog_mod_names = d.hide_modlog_mod_names, + discussion_languages = d.discussion_languages, + slur_filter_regex = d.slur_filter_regex, + actor_name_max_length = d.actor_name_max_length, + rate_limit_message = d.rate_limit_message, + rate_limit_message_per_second = d.rate_limit_message_per_second, + rate_limit_post = d.rate_limit_post, + rate_limit_post_per_second = d.rate_limit_post_per_second, + rate_limit_register = d.rate_limit_register, + rate_limit_register_per_second = d.rate_limit_register_per_second, + rate_limit_image = d.rate_limit_image, + rate_limit_image_per_second = d.rate_limit_image_per_second, + rate_limit_comment = d.rate_limit_comment, + rate_limit_comment_per_second = d.rate_limit_comment_per_second, + rate_limit_search = d.rate_limit_search, + rate_limit_search_per_second = d.rate_limit_search_per_second, + federation_enabled = d.federation_enabled, + federation_debug = d.federation_debug, + captcha_enabled = d.captcha_enabled, + captcha_difficulty = d.captcha_difficulty, + allowed_instances = d.allowed_instances, + blocked_instances = d.blocked_instances, + taglines = d.taglines, + registration_mode = d.registration_mode, + content_warning = d.content_warning, + default_post_listing_mode = d.default_post_listing_mode, + ) + + override fun fromUni(d: LemmyapiDatatypesDeleteAccount): X11DatatypesDeleteAccount = + X11DatatypesDeleteAccount( + password = d.password, + delete_content = d.delete_content, + ) + + override fun fromUni(d: LemmyapiDatatypesDeleteComment): X11DatatypesDeleteComment = + X11DatatypesDeleteComment( + comment_id = d.comment_id, + deleted = d.deleted, + ) + + override fun fromUni(d: LemmyapiDatatypesDeleteCommunity): X11DatatypesDeleteCommunity = + X11DatatypesDeleteCommunity( + community_id = d.community_id, + deleted = d.deleted, + ) + + override fun fromUni(d: LemmyapiDatatypesDeleteCustomEmoji): X11DatatypesDeleteCustomEmoji = + X11DatatypesDeleteCustomEmoji( + id = d.id, + ) + + override fun fromUni(d: LemmyapiDatatypesDeletePost): X11DatatypesDeletePost = + X11DatatypesDeletePost( + post_id = d.post_id, + deleted = d.deleted, + ) + + override fun fromUni(d: LemmyapiDatatypesDeletePrivateMessage): X11DatatypesDeletePrivateMessage = + X11DatatypesDeletePrivateMessage( + private_message_id = d.private_message_id, + deleted = d.deleted, + ) + + override fun fromUni(d: LemmyapiDatatypesDistinguishComment): X11DatatypesDistinguishComment = + X11DatatypesDistinguishComment( + comment_id = d.comment_id, + distinguished = d.distinguished, + ) + + override fun fromUni(d: LemmyapiDatatypesEditComment): X11DatatypesEditComment = + X11DatatypesEditComment( + comment_id = d.comment_id, + content = d.content, + language_id = d.language_id, + ) + + override fun fromUni(d: LemmyapiDatatypesEditCommunity): X11DatatypesEditCommunity = + X11DatatypesEditCommunity( + community_id = d.community_id, + title = d.title, + description = d.description, + icon = d.icon, + banner = d.banner, + nsfw = d.nsfw, + posting_restricted_to_mods = d.posting_restricted_to_mods, + discussion_languages = d.discussion_languages, + visibility = d.visibility, + ) + + override fun fromUni(d: LemmyapiDatatypesEditCustomEmoji): X11DatatypesEditCustomEmoji = + X11DatatypesEditCustomEmoji( + id = d.id, + category = d.category, + image_url = d.image_url, + alt_text = d.alt_text, + keywords = d.keywords, + ) + + override fun fromUni(d: LemmyapiDatatypesEditPost): X11DatatypesEditPost = X11DatatypesEditPost( + post_id = d.post_id, + name = d.name, + url = d.url, + body = d.body, + alt_text = d.alt_text, + nsfw = d.nsfw, + language_id = d.language_id, + custom_thumbnail = d.custom_thumbnail, + ) + + override fun fromUni(d: LemmyapiDatatypesEditPrivateMessage): X11DatatypesEditPrivateMessage = + X11DatatypesEditPrivateMessage( + private_message_id = d.private_message_id, + content = d.content, + ) + + override fun fromUni(d: LemmyapiDatatypesEditSite): X11DatatypesEditSite = X11DatatypesEditSite( + name = d.name, + sidebar = d.sidebar, + description = d.description, + icon = d.icon, + banner = d.banner, + enable_downvotes = d.enable_downvotes, + enable_nsfw = d.enable_nsfw, + community_creation_admin_only = d.community_creation_admin_only, + require_email_verification = d.require_email_verification, + application_question = d.application_question, + private_instance = d.private_instance, + default_theme = d.default_theme, + default_post_listing_type = d.default_post_listing_type, + default_sort_type = d.default_sort_type, + legal_information = d.legal_information, + application_email_admins = d.application_email_admins, + hide_modlog_mod_names = d.hide_modlog_mod_names, + discussion_languages = d.discussion_languages, + slur_filter_regex = d.slur_filter_regex, + actor_name_max_length = d.actor_name_max_length, + rate_limit_message = d.rate_limit_message, + rate_limit_message_per_second = d.rate_limit_message_per_second, + rate_limit_post = d.rate_limit_post, + rate_limit_post_per_second = d.rate_limit_post_per_second, + rate_limit_register = d.rate_limit_register, + rate_limit_register_per_second = d.rate_limit_register_per_second, + rate_limit_image = d.rate_limit_image, + rate_limit_image_per_second = d.rate_limit_image_per_second, + rate_limit_comment = d.rate_limit_comment, + rate_limit_comment_per_second = d.rate_limit_comment_per_second, + rate_limit_search = d.rate_limit_search, + rate_limit_search_per_second = d.rate_limit_search_per_second, + federation_enabled = d.federation_enabled, + federation_debug = d.federation_debug, + captcha_enabled = d.captcha_enabled, + captcha_difficulty = d.captcha_difficulty, + allowed_instances = d.allowed_instances, + blocked_instances = d.blocked_instances, + blocked_urls = d.blocked_urls, + taglines = d.taglines, + registration_mode = d.registration_mode, + reports_email_admins = d.reports_email_admins, + content_warning = d.content_warning, + default_post_listing_mode = d.default_post_listing_mode, + ) + + override fun fromUni(d: LemmyapiDatatypesFeaturePost): X11DatatypesFeaturePost = + X11DatatypesFeaturePost( + post_id = d.post_id, + featured = d.featured, + feature_type = d.feature_type, + ) + + override fun fromUni(d: LemmyapiDatatypesFollowCommunity): X11DatatypesFollowCommunity = + X11DatatypesFollowCommunity( + community_id = d.community_id, + follow = d.follow, + ) + + override fun fromUni(d: LemmyapiDatatypesGetComment): X11DatatypesGetComment = + X11DatatypesGetComment( + id = d.id, + ) + + override fun fromUni(d: LemmyapiDatatypesGetComments): X11DatatypesGetComments = + X11DatatypesGetComments( + type_ = d.type_, + sort = d.sort, + max_depth = d.max_depth, + page = d.page, + limit = d.limit, + community_id = d.community_id, + community_name = d.community_name, + post_id = d.post_id, + parent_id = d.parent_id, + saved_only = d.saved_only, + liked_only = d.liked_only, + disliked_only = d.disliked_only, + ) + + override fun fromUni(d: LemmyapiDatatypesGetCommunity): X11DatatypesGetCommunity = + X11DatatypesGetCommunity( + id = d.id, + name = d.name, + ) + + override fun fromUni(d: LemmyapiDatatypesGetModlog): X11DatatypesGetModlog = + X11DatatypesGetModlog( + mod_person_id = d.mod_person_id, + community_id = d.community_id, + page = d.page, + limit = d.limit, + type_ = d.type_, + other_person_id = d.other_person_id, + post_id = d.post_id, + comment_id = d.comment_id, + ) + + override fun fromUni(d: LemmyapiDatatypesGetPersonDetails): X11DatatypesGetPersonDetails = + X11DatatypesGetPersonDetails( + person_id = d.person_id, + username = d.username, + sort = d.sort, + page = d.page, + limit = d.limit, + community_id = d.community_id, + saved_only = d.saved_only, + ) + + override fun fromUni(d: LemmyapiDatatypesGetPersonMentions): X11DatatypesGetPersonMentions = + X11DatatypesGetPersonMentions( + sort = d.sort, + page = d.page, + limit = d.limit, + unread_only = d.unread_only, + ) + + override fun fromUni(d: LemmyapiDatatypesGetPost): X11DatatypesGetPost = X11DatatypesGetPost( + id = d.id, + comment_id = d.comment_id, + ) + + override fun fromUni(d: LemmyapiDatatypesGetPosts): X11DatatypesGetPosts = X11DatatypesGetPosts( + type_ = d.type_, + sort = d.sort, + page = d.page, + limit = d.limit, + community_id = d.community_id, + community_name = d.community_name, + saved_only = d.saved_only, + liked_only = d.liked_only, + disliked_only = d.disliked_only, + show_hidden = d.show_hidden, + show_read = d.show_read, + show_nsfw = d.show_nsfw, + page_cursor = d.page_cursor, + ) + + override fun fromUni(d: LemmyapiDatatypesGetPrivateMessages): X11DatatypesGetPrivateMessages = + X11DatatypesGetPrivateMessages( + unread_only = d.unread_only, + page = d.page, + limit = d.limit, + creator_id = d.creator_id, + ) + + override fun fromUni(d: LemmyapiDatatypesGetRegistrationApplication): X11DatatypesGetRegistrationApplication = X11DatatypesGetRegistrationApplication( + person_id = d.person_id, + ) + + override fun fromUni(d: LemmyapiDatatypesGetReplies): X11DatatypesGetReplies = + X11DatatypesGetReplies( + sort = d.sort, + page = d.page, + limit = d.limit, + unread_only = d.unread_only, + ) + + override fun fromUni(d: LemmyapiDatatypesGetReportCount): X11DatatypesGetReportCount = + X11DatatypesGetReportCount( + community_id = d.community_id, + ) + + override fun fromUni(d: LemmyapiDatatypesGetSiteMetadata): X11DatatypesGetSiteMetadata = + X11DatatypesGetSiteMetadata( + url = d.url, + ) + + override fun fromUni(d: LemmyapiDatatypesHideCommunity): X11DatatypesHideCommunity = + X11DatatypesHideCommunity( + community_id = d.community_id, + hidden = d.hidden, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesHidePost): X11DatatypesHidePost = X11DatatypesHidePost( + post_ids = d.post_ids, + hide = d.hide, + ) + + override fun fromUni(d: LemmyapiDatatypesListCommentLikes): X11DatatypesListCommentLikes = + X11DatatypesListCommentLikes( + comment_id = d.comment_id, + page = d.page, + limit = d.limit, + ) + + override fun fromUni(d: LemmyapiDatatypesListCommentReports): X11DatatypesListCommentReports = + X11DatatypesListCommentReports( + comment_id = d.comment_id, + page = d.page, + limit = d.limit, + unresolved_only = d.unresolved_only, + community_id = d.community_id, + ) + + override fun fromUni(d: LemmyapiDatatypesListCommunities): X11DatatypesListCommunities = + X11DatatypesListCommunities( + type_ = d.type_, + sort = d.sort, + show_nsfw = d.show_nsfw, + page = d.page, + limit = d.limit, + ) + + override fun fromUni(d: LemmyapiDatatypesListMedia): X11DatatypesListMedia = + X11DatatypesListMedia( + page = d.page, + limit = d.limit, + ) + + override fun fromUni(d: LemmyapiDatatypesListPostLikes): X11DatatypesListPostLikes = + X11DatatypesListPostLikes( + post_id = d.post_id, + page = d.page, + limit = d.limit, + ) + + override fun fromUni(d: LemmyapiDatatypesListPostReports): X11DatatypesListPostReports = + X11DatatypesListPostReports( + page = d.page, + limit = d.limit, + unresolved_only = d.unresolved_only, + community_id = d.community_id, + post_id = d.post_id, + ) + + override fun fromUni(d: LemmyapiDatatypesListPrivateMessageReports): X11DatatypesListPrivateMessageReports = X11DatatypesListPrivateMessageReports( + page = d.page, + limit = d.limit, + unresolved_only = d.unresolved_only, + ) + + override fun fromUni(d: LemmyapiDatatypesListRegistrationApplications): X11DatatypesListRegistrationApplications = X11DatatypesListRegistrationApplications( + unread_only = d.unread_only, + page = d.page, + limit = d.limit, + ) + + override fun fromUni(d: LemmyapiDatatypesLockPost): X11DatatypesLockPost = X11DatatypesLockPost( + post_id = d.post_id, + locked = d.locked, + ) + + override fun fromUni(d: LemmyapiDatatypesLogin): X11DatatypesLogin = X11DatatypesLogin( + username_or_email = d.username_or_email, + password = d.password, + totp_2fa_token = d.totp_2fa_token, + ) + + override fun fromUni(d: LemmyapiDatatypesMarkCommentReplyAsRead): X11DatatypesMarkCommentReplyAsRead = X11DatatypesMarkCommentReplyAsRead( + comment_reply_id = d.comment_reply_id, + read = d.read, + ) + + override fun fromUni(d: LemmyapiDatatypesMarkPersonMentionAsRead): X11DatatypesMarkPersonMentionAsRead = X11DatatypesMarkPersonMentionAsRead( + person_mention_id = d.person_mention_id, + read = d.read, + ) + + override fun fromUni(d: LemmyapiDatatypesMarkPostAsRead): X11DatatypesMarkPostAsRead = + X11DatatypesMarkPostAsRead( + post_ids = d.post_ids, + read = d.read, + ) + + override fun fromUni(d: LemmyapiDatatypesMarkPrivateMessageAsRead): X11DatatypesMarkPrivateMessageAsRead = X11DatatypesMarkPrivateMessageAsRead( + private_message_id = d.private_message_id, + read = d.read, + ) + + override fun fromUni(d: LemmyapiDatatypesPasswordChangeAfterReset): X11DatatypesPasswordChangeAfterReset = X11DatatypesPasswordChangeAfterReset( + token = d.token, + password = d.password, + password_verify = d.password_verify, + ) + + override fun fromUni(d: LemmyapiDatatypesPasswordReset): X11DatatypesPasswordReset = + X11DatatypesPasswordReset( + email = d.email, + ) + + override fun fromUni(d: LemmyapiDatatypesPurgeComment): X11DatatypesPurgeComment = + X11DatatypesPurgeComment( + comment_id = d.comment_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesPurgeCommunity): X11DatatypesPurgeCommunity = + X11DatatypesPurgeCommunity( + community_id = d.community_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesPurgePerson): X11DatatypesPurgePerson = + X11DatatypesPurgePerson( + person_id = d.person_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesPurgePost): X11DatatypesPurgePost = + X11DatatypesPurgePost( + post_id = d.post_id, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesRegister): X11DatatypesRegister = X11DatatypesRegister( + username = d.username, + password = d.password, + password_verify = d.password_verify, + show_nsfw = d.show_nsfw, + email = d.email, + captcha_uuid = d.captcha_uuid, + captcha_answer = d.captcha_answer, + honeypot = d.honeypot, + answer = d.answer, + ) + + override fun fromUni(d: LemmyapiDatatypesRemoveComment): X11DatatypesRemoveComment = + X11DatatypesRemoveComment( + comment_id = d.comment_id, + removed = d.removed, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesRemoveCommunity): X11DatatypesRemoveCommunity = + X11DatatypesRemoveCommunity( + community_id = d.community_id, + removed = d.removed, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesRemovePost): X11DatatypesRemovePost = + X11DatatypesRemovePost( + post_id = d.post_id, + removed = d.removed, + reason = d.reason, + ) + + override fun fromUni(d: LemmyapiDatatypesResolveCommentReport): X11DatatypesResolveCommentReport = + X11DatatypesResolveCommentReport( + report_id = d.report_id, + resolved = d.resolved, + ) + + override fun fromUni(d: LemmyapiDatatypesResolveObject): X11DatatypesResolveObject = + X11DatatypesResolveObject( + q = d.q, + ) + + override fun fromUni(d: LemmyapiDatatypesResolvePostReport): X11DatatypesResolvePostReport = + X11DatatypesResolvePostReport( + report_id = d.report_id, + resolved = d.resolved, + ) + + override fun fromUni(d: LemmyapiDatatypesResolvePrivateMessageReport): X11DatatypesResolvePrivateMessageReport = X11DatatypesResolvePrivateMessageReport( + report_id = d.report_id, + resolved = d.resolved, + ) + + override fun fromUni(d: LemmyapiDatatypesSaveComment): X11DatatypesSaveComment = + X11DatatypesSaveComment( + comment_id = d.comment_id, + save = d.save, + ) + + override fun fromUni(d: LemmyapiDatatypesSavePost): X11DatatypesSavePost = X11DatatypesSavePost( + post_id = d.post_id, + save = d.save, + ) + + override fun fromUni(d: LemmyapiDatatypesSaveUserSettings): X11DatatypesSaveUserSettings = + X11DatatypesSaveUserSettings( + show_nsfw = d.show_nsfw, + blur_nsfw = d.blur_nsfw, + auto_expand = d.auto_expand, + theme = d.theme, + default_sort_type = d.default_sort_type, + default_listing_type = d.default_listing_type, + interface_language = d.interface_language, + avatar = d.avatar, + banner = d.banner, + display_name = d.display_name, + email = d.email, + bio = d.bio, + matrix_user_id = d.matrix_user_id, + show_avatars = d.show_avatars, + send_notifications_to_email = d.send_notifications_to_email, + bot_account = d.bot_account, + show_bot_accounts = d.show_bot_accounts, + show_read_posts = d.show_read_posts, + discussion_languages = d.discussion_languages, + open_links_in_new_tab = d.open_links_in_new_tab, + infinite_scroll_enabled = d.infinite_scroll_enabled, + post_listing_mode = d.post_listing_mode, + enable_keyboard_navigation = d.enable_keyboard_navigation, + enable_animated_images = d.enable_animated_images, + collapse_bot_comments = d.collapse_bot_comments, + show_scores = d.show_scores, + show_upvotes = d.show_upvotes, + show_downvotes = d.show_downvotes, + show_upvote_percentage = d.show_upvote_percentage, + ) + + override fun fromUni(d: LemmyapiDatatypesSearch): X11DatatypesSearch = X11DatatypesSearch( + q = d.q, + community_id = d.community_id, + community_name = d.community_name, + creator_id = d.creator_id, + type_ = d.type_, + sort = d.sort, + listing_type = d.listing_type, + page = d.page, + limit = d.limit, + post_title_only = d.post_title_only, + ) + + override fun fromUni(d: LemmyapiDatatypesTransferCommunity): X11DatatypesTransferCommunity = + X11DatatypesTransferCommunity( + community_id = d.community_id, + person_id = d.person_id, + ) + + override fun fromUni(d: LemmyapiDatatypesUpdateTotp): X11DatatypesUpdateTotp = + X11DatatypesUpdateTotp( + totp_token = d.totp_token, + enabled = d.enabled, + ) + + override fun fromUni(d: LemmyapiDatatypesVerifyEmail): X11DatatypesVerifyEmail = + X11DatatypesVerifyEmail( + token = d.token, + ) +} diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ActivityId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ActivityId.kt new file mode 100644 index 00000000..386851e7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ActivityId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias ActivityId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddAdmin.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddAdmin.kt new file mode 100644 index 00000000..97a6b221 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddAdmin.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AddAdmin( + val person_id: PersonId, + val added: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddAdminResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddAdminResponse.kt new file mode 100644 index 00000000..40280d2b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddAdminResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AddAdminResponse( + val admins: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddModToCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddModToCommunity.kt new file mode 100644 index 00000000..5c157c64 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddModToCommunity.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AddModToCommunity( + val community_id: CommunityId, + val person_id: PersonId, + val added: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddModToCommunityResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddModToCommunityResponse.kt new file mode 100644 index 00000000..82ad476e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AddModToCommunityResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AddModToCommunityResponse( + val moderators: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeComment.kt new file mode 100644 index 00000000..c3feaa8c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeComment.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgeComment( + val id: Long, + val admin_person_id: PersonId, + val post_id: PostId, + val reason: String? = null, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommentView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommentView.kt new file mode 100644 index 00000000..7eb71a26 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommentView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgeCommentView( + val admin_purge_comment: AdminPurgeComment, + val admin: Person? = null, + val post: Post, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommunity.kt new file mode 100644 index 00000000..15a79f97 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommunity.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgeCommunity( + val id: Long, + val admin_person_id: PersonId, + val reason: String? = null, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommunityView.kt new file mode 100644 index 00000000..9a8f5448 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgeCommunityView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgeCommunityView( + val admin_purge_community: AdminPurgeCommunity, + val admin: Person? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePerson.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePerson.kt new file mode 100644 index 00000000..af23408e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePerson.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgePerson( + val id: Long, + val admin_person_id: PersonId, + val reason: String? = null, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePersonView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePersonView.kt new file mode 100644 index 00000000..1fb91e1f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePersonView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgePersonView( + val admin_purge_person: AdminPurgePerson, + val admin: Person? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePost.kt new file mode 100644 index 00000000..d595b8ce --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePost.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgePost( + val id: Long, + val admin_person_id: PersonId, + val community_id: CommunityId, + val reason: String? = null, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePostView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePostView.kt new file mode 100644 index 00000000..cc5678af --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/AdminPurgePostView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class AdminPurgePostView( + val admin_purge_post: AdminPurgePost, + val admin: Person? = null, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ApproveRegistrationApplication.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ApproveRegistrationApplication.kt new file mode 100644 index 00000000..9628bd88 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ApproveRegistrationApplication.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ApproveRegistrationApplication( + val id: RegistrationApplicationId, + val approve: Boolean, + val deny_reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanFromCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanFromCommunity.kt new file mode 100644 index 00000000..e6a48b9f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanFromCommunity.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BanFromCommunity( + val community_id: CommunityId, + val person_id: PersonId, + val ban: Boolean, + val remove_data: Boolean? = null, + val reason: String? = null, + val expires: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanFromCommunityResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanFromCommunityResponse.kt new file mode 100644 index 00000000..cc0a9834 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanFromCommunityResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BanFromCommunityResponse( + val person_view: PersonView, + val banned: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanPerson.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanPerson.kt new file mode 100644 index 00000000..b3e423c8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanPerson.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BanPerson( + val person_id: PersonId, + val ban: Boolean, + val remove_data: Boolean? = null, + val reason: String? = null, + val expires: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanPersonResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanPersonResponse.kt new file mode 100644 index 00000000..52a10460 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BanPersonResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BanPersonResponse( + val person_view: PersonView, + val banned: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BannedPersonsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BannedPersonsResponse.kt new file mode 100644 index 00000000..b6b155dd --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BannedPersonsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BannedPersonsResponse( + val banned: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockCommunity.kt new file mode 100644 index 00000000..20a44cbe --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockCommunity.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BlockCommunity( + val community_id: CommunityId, + val block: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockCommunityResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockCommunityResponse.kt new file mode 100644 index 00000000..ba877890 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockCommunityResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BlockCommunityResponse( + val community_view: CommunityView, + val blocked: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockInstance.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockInstance.kt new file mode 100644 index 00000000..dee52a67 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockInstance.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BlockInstance( + val instance_id: InstanceId, + val block: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockInstanceResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockInstanceResponse.kt new file mode 100644 index 00000000..9f1307c7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockInstanceResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BlockInstanceResponse( + val blocked: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockPerson.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockPerson.kt new file mode 100644 index 00000000..23df580b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockPerson.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BlockPerson( + val person_id: PersonId, + val block: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockPersonResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockPersonResponse.kt new file mode 100644 index 00000000..346912f5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/BlockPersonResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class BlockPersonResponse( + val person_view: PersonView, + val blocked: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CaptchaResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CaptchaResponse.kt new file mode 100644 index 00000000..4ea25323 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CaptchaResponse.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CaptchaResponse( + val png: String, + val wav: String, + val uuid: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ChangePassword.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ChangePassword.kt new file mode 100644 index 00000000..bae40313 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ChangePassword.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ChangePassword( + val new_password: String, + val new_password_verify: String, + val old_password: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Comment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Comment.kt new file mode 100644 index 00000000..13499284 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Comment.kt @@ -0,0 +1,20 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Comment( + val id: CommentId, + val creator_id: PersonId, + val post_id: PostId, + val content: String, + val removed: Boolean, + val published: String, + val updated: String? = null, + val deleted: Boolean, + val ap_id: String, + val local: Boolean, + val path: String, + val distinguished: Boolean, + val language_id: LanguageId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentAggregates.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentAggregates.kt new file mode 100644 index 00000000..ebc9f580 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentAggregates.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentAggregates( + val comment_id: CommentId, + val score: Long, + val upvotes: Long, + val downvotes: Long, + val published: String, + val child_count: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentId.kt new file mode 100644 index 00000000..4c8a4e6d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias CommentId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReply.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReply.kt new file mode 100644 index 00000000..f35eabcf --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReply.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentReply( + val id: CommentReplyId, + val recipient_id: PersonId, + val comment_id: CommentId, + val read: Boolean, + val published: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyId.kt new file mode 100644 index 00000000..22ef803d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias CommentReplyId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyResponse.kt new file mode 100644 index 00000000..c14113bd --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentReplyResponse( + val comment_reply_view: CommentReplyView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyView.kt new file mode 100644 index 00000000..113a57b8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReplyView.kt @@ -0,0 +1,23 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentReplyView( + val comment_reply: CommentReply, + val comment: Comment, + val creator: Person, + val post: Post, + val community: Community, + val recipient: Person, + val counts: CommentAggregates, + val creator_banned_from_community: Boolean, + val banned_from_community: Boolean, + val creator_is_moderator: Boolean, + val creator_is_admin: Boolean, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val saved: Boolean, + val creator_blocked: Boolean, + val my_vote: Int = 0, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReport.kt new file mode 100644 index 00000000..6be5bcb2 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReport.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentReport( + val id: CommentReportId, + val creator_id: PersonId, + val comment_id: CommentId, + val original_comment_text: String, + val reason: String, + val resolved: Boolean, + val resolver_id: PersonId? = null, + val published: String, + val updated: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportId.kt new file mode 100644 index 00000000..a68722e9 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias CommentReportId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportResponse.kt new file mode 100644 index 00000000..1c673337 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentReportResponse( + val comment_report_view: CommentReportView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportView.kt new file mode 100644 index 00000000..9cf2bf20 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentReportView.kt @@ -0,0 +1,23 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentReportView( + val comment_report: CommentReport, + val comment: Comment, + val post: Post, + val community: Community, + val creator: Person, + val comment_creator: Person, + val counts: CommentAggregates, + val creator_banned_from_community: Boolean, + val creator_is_moderator: Boolean, + val creator_is_admin: Boolean, + val creator_blocked: Boolean, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val saved: Boolean, + val my_vote: Int = 0, + val resolver: Person? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentResponse.kt new file mode 100644 index 00000000..aaaeffe4 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentResponse( + val comment_view: CommentView, + val recipient_ids: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentView.kt new file mode 100644 index 00000000..e4a32d8a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommentView.kt @@ -0,0 +1,21 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommentView( + val comment: Comment, + val creator: Person, + val post: Post, + val community: Community, + val counts: CommentAggregates, + val creator_banned_from_community: Boolean, + val banned_from_community: Boolean, + val creator_is_moderator: Boolean, + val creator_is_admin: Boolean, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val saved: Boolean, + val creator_blocked: Boolean, + val my_vote: Int = 0, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Community.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Community.kt new file mode 100644 index 00000000..0c277924 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Community.kt @@ -0,0 +1,25 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.CommunityVisibility +import kotlinx.serialization.Serializable + +@Serializable +internal data class Community( + val id: CommunityId, + val name: String, + val title: String, + val description: String? = null, + val removed: Boolean, + val published: String, + val updated: String? = null, + val deleted: Boolean, + val nsfw: Boolean, + val actor_id: String, + val local: Boolean, + val icon: String? = null, + val banner: String? = null, + val hidden: Boolean, + val posting_restricted_to_mods: Boolean, + val instance_id: InstanceId, + val visibility: CommunityVisibility /* "Public" | "LocalOnly" */, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityAggregates.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityAggregates.kt new file mode 100644 index 00000000..d1cfee8b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityAggregates.kt @@ -0,0 +1,17 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommunityAggregates( + val community_id: CommunityId, + val subscribers: Long, + val posts: Long, + val comments: Long, + val published: String, + val users_active_day: Long, + val users_active_week: Long, + val users_active_month: Long, + val users_active_half_year: Long, + val subscribers_local: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityBlockView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityBlockView.kt new file mode 100644 index 00000000..6d08dd64 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityBlockView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommunityBlockView( + val person: Person, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityFollowerView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityFollowerView.kt new file mode 100644 index 00000000..aa2dddc1 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityFollowerView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommunityFollowerView( + val community: Community, + val follower: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityId.kt new file mode 100644 index 00000000..6034e489 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias CommunityId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityModeratorView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityModeratorView.kt new file mode 100644 index 00000000..369cd9cc --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityModeratorView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommunityModeratorView( + val community: Community, + val moderator: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityResponse.kt new file mode 100644 index 00000000..f159146b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommunityResponse( + val community_view: CommunityView, + val discussion_languages: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityView.kt new file mode 100644 index 00000000..ab095815 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CommunityView.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class CommunityView( + val community: Community, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val blocked: Boolean, + val counts: CommunityAggregates, + val banned_from_community: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateComment.kt new file mode 100644 index 00000000..a81aa7b5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateComment.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreateComment( + val content: String, + val post_id: PostId, + val parent_id: CommentId? = null, + val language_id: LanguageId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommentLike.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommentLike.kt new file mode 100644 index 00000000..c34883ef --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommentLike.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreateCommentLike( + val comment_id: CommentId, + val score: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommentReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommentReport.kt new file mode 100644 index 00000000..2175cad7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommentReport.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreateCommentReport( + val comment_id: CommentId, + val reason: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommunity.kt new file mode 100644 index 00000000..fdab0948 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCommunity.kt @@ -0,0 +1,17 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.CommunityVisibility +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreateCommunity( + val name: String, + val title: String, + val description: String? = null, + val icon: String? = null, + val banner: String? = null, + val nsfw: Boolean? = null, + val posting_restricted_to_mods: Boolean? = null, + val discussion_languages: List? = null, + val visibility: CommunityVisibility? /* "Public" | "LocalOnly" */ = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCustomEmoji.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCustomEmoji.kt new file mode 100644 index 00000000..4c0cb675 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateCustomEmoji.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreateCustomEmoji( + val category: String, + val shortcode: String, + val image_url: String, + val alt_text: String, + val keywords: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePost.kt new file mode 100644 index 00000000..14e3834c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePost.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreatePost( + val name: String, + val community_id: CommunityId, + val url: String? = null, + val body: String? = null, + val alt_text: String? = null, + val honeypot: String? = null, + val nsfw: Boolean? = null, + val language_id: LanguageId? = null, + val custom_thumbnail: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePostLike.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePostLike.kt new file mode 100644 index 00000000..0a0c1d75 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePostLike.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreatePostLike( + val post_id: PostId, + val score: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePostReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePostReport.kt new file mode 100644 index 00000000..0d5f2c3f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePostReport.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreatePostReport( + val post_id: PostId, + val reason: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePrivateMessage.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePrivateMessage.kt new file mode 100644 index 00000000..534e6b0f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePrivateMessage.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreatePrivateMessage( + val content: String, + val recipient_id: PersonId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePrivateMessageReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePrivateMessageReport.kt new file mode 100644 index 00000000..1012b5dd --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreatePrivateMessageReport.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreatePrivateMessageReport( + val private_message_id: PrivateMessageId, + val reason: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateSite.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateSite.kt new file mode 100644 index 00000000..31b4b80e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CreateSite.kt @@ -0,0 +1,53 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.PostListingMode +import it.vercruysse.lemmyapi.dto.RegistrationMode +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class CreateSite( + val name: String, + val sidebar: String? = null, + val description: String? = null, + val icon: String? = null, + val banner: String? = null, + val enable_downvotes: Boolean? = null, + val enable_nsfw: Boolean? = null, + val community_creation_admin_only: Boolean? = null, + val require_email_verification: Boolean? = null, + val application_question: String? = null, + val private_instance: Boolean? = null, + val default_theme: String? = null, + val default_post_listing_type: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val default_sort_type: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val legal_information: String? = null, + val application_email_admins: Boolean? = null, + val hide_modlog_mod_names: Boolean? = null, + val discussion_languages: List? = null, + val slur_filter_regex: String? = null, + val actor_name_max_length: Long? = null, + val rate_limit_message: Long? = null, + val rate_limit_message_per_second: Long? = null, + val rate_limit_post: Long? = null, + val rate_limit_post_per_second: Long? = null, + val rate_limit_register: Long? = null, + val rate_limit_register_per_second: Long? = null, + val rate_limit_image: Long? = null, + val rate_limit_image_per_second: Long? = null, + val rate_limit_comment: Long? = null, + val rate_limit_comment_per_second: Long? = null, + val rate_limit_search: Long? = null, + val rate_limit_search_per_second: Long? = null, + val federation_enabled: Boolean? = null, + val federation_debug: Boolean? = null, + val captcha_enabled: Boolean? = null, + val captcha_difficulty: String? = null, + val allowed_instances: List? = null, + val blocked_instances: List? = null, + val taglines: List? = null, + val registration_mode: RegistrationMode? /* "Closed" | "RequireApplication" | "Open" */ = null, + val content_warning: String? = null, + val default_post_listing_mode: PostListingMode? /* "List" | "Card" | "SmallCard" */ = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmoji.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmoji.kt new file mode 100644 index 00000000..01ae2ad7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmoji.kt @@ -0,0 +1,15 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CustomEmoji( + val id: CustomEmojiId, + val local_site_id: LocalSiteId, + val shortcode: String, + val image_url: String, + val alt_text: String, + val category: String, + val published: String, + val updated: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiId.kt new file mode 100644 index 00000000..f3125bae --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias CustomEmojiId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiKeyword.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiKeyword.kt new file mode 100644 index 00000000..61dd004b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiKeyword.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CustomEmojiKeyword( + val custom_emoji_id: CustomEmojiId, + val keyword: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiResponse.kt new file mode 100644 index 00000000..da4460b1 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CustomEmojiResponse( + val custom_emoji: CustomEmojiView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiView.kt new file mode 100644 index 00000000..223dcb97 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/CustomEmojiView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class CustomEmojiView( + val custom_emoji: CustomEmoji, + val keywords: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteAccount.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteAccount.kt new file mode 100644 index 00000000..eea12a25 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteAccount.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DeleteAccount( + val password: String, + val delete_content: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteComment.kt new file mode 100644 index 00000000..40ca0858 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteComment.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DeleteComment( + val comment_id: CommentId, + val deleted: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteCommunity.kt new file mode 100644 index 00000000..63ae8dc4 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteCommunity.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DeleteCommunity( + val community_id: CommunityId, + val deleted: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteCustomEmoji.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteCustomEmoji.kt new file mode 100644 index 00000000..9e9380a3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeleteCustomEmoji.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DeleteCustomEmoji( + val id: CustomEmojiId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeletePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeletePost.kt new file mode 100644 index 00000000..a7d1b716 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeletePost.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DeletePost( + val post_id: PostId, + val deleted: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeletePrivateMessage.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeletePrivateMessage.kt new file mode 100644 index 00000000..abbe9ade --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DeletePrivateMessage.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DeletePrivateMessage( + val private_message_id: PrivateMessageId, + val deleted: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DistinguishComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DistinguishComment.kt new file mode 100644 index 00000000..7b424cd7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/DistinguishComment.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class DistinguishComment( + val comment_id: CommentId, + val distinguished: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditComment.kt new file mode 100644 index 00000000..35e0b0c8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditComment.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class EditComment( + val comment_id: CommentId, + val content: String? = null, + val language_id: LanguageId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditCommunity.kt new file mode 100644 index 00000000..5c212592 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditCommunity.kt @@ -0,0 +1,17 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.CommunityVisibility +import kotlinx.serialization.Serializable + +@Serializable +internal data class EditCommunity( + val community_id: CommunityId, + val title: String? = null, + val description: String? = null, + val icon: String? = null, + val banner: String? = null, + val nsfw: Boolean? = null, + val posting_restricted_to_mods: Boolean? = null, + val discussion_languages: List? = null, + val visibility: CommunityVisibility? /* "Public" | "LocalOnly" */ = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditCustomEmoji.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditCustomEmoji.kt new file mode 100644 index 00000000..0bb09d4d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditCustomEmoji.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class EditCustomEmoji( + val id: CustomEmojiId, + val category: String, + val image_url: String, + val alt_text: String, + val keywords: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditPost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditPost.kt new file mode 100644 index 00000000..a855452b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditPost.kt @@ -0,0 +1,15 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class EditPost( + val post_id: PostId, + val name: String? = null, + val url: String? = null, + val body: String? = null, + val alt_text: String? = null, + val nsfw: Boolean? = null, + val language_id: LanguageId? = null, + val custom_thumbnail: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditPrivateMessage.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditPrivateMessage.kt new file mode 100644 index 00000000..fec81c0b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditPrivateMessage.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class EditPrivateMessage( + val private_message_id: PrivateMessageId, + val content: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditSite.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditSite.kt new file mode 100644 index 00000000..ea5e7e98 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/EditSite.kt @@ -0,0 +1,55 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.PostListingMode +import it.vercruysse.lemmyapi.dto.RegistrationMode +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class EditSite( + val name: String? = null, + val sidebar: String? = null, + val description: String? = null, + val icon: String? = null, + val banner: String? = null, + val enable_downvotes: Boolean? = null, + val enable_nsfw: Boolean? = null, + val community_creation_admin_only: Boolean? = null, + val require_email_verification: Boolean? = null, + val application_question: String? = null, + val private_instance: Boolean? = null, + val default_theme: String? = null, + val default_post_listing_type: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val default_sort_type: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val legal_information: String? = null, + val application_email_admins: Boolean? = null, + val hide_modlog_mod_names: Boolean? = null, + val discussion_languages: List? = null, + val slur_filter_regex: String? = null, + val actor_name_max_length: Long? = null, + val rate_limit_message: Long? = null, + val rate_limit_message_per_second: Long? = null, + val rate_limit_post: Long? = null, + val rate_limit_post_per_second: Long? = null, + val rate_limit_register: Long? = null, + val rate_limit_register_per_second: Long? = null, + val rate_limit_image: Long? = null, + val rate_limit_image_per_second: Long? = null, + val rate_limit_comment: Long? = null, + val rate_limit_comment_per_second: Long? = null, + val rate_limit_search: Long? = null, + val rate_limit_search_per_second: Long? = null, + val federation_enabled: Boolean? = null, + val federation_debug: Boolean? = null, + val captcha_enabled: Boolean? = null, + val captcha_difficulty: String? = null, + val allowed_instances: List? = null, + val blocked_instances: List? = null, + val blocked_urls: List? = null, + val taglines: List? = null, + val registration_mode: RegistrationMode? /* "Closed" | "RequireApplication" | "Open" */ = null, + val reports_email_admins: Boolean? = null, + val content_warning: String? = null, + val default_post_listing_mode: PostListingMode? /* "List" | "Card" | "SmallCard" */ = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FeaturePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FeaturePost.kt new file mode 100644 index 00000000..93d0b678 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FeaturePost.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.PostFeatureType +import kotlinx.serialization.Serializable + +@Serializable +internal data class FeaturePost( + val post_id: PostId, + val featured: Boolean, + val feature_type: PostFeatureType /* "Local" | "Community" */, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FederatedInstances.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FederatedInstances.kt new file mode 100644 index 00000000..fe88bb26 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FederatedInstances.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class FederatedInstances( + val linked: List, + val allowed: List, + val blocked: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FollowCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FollowCommunity.kt new file mode 100644 index 00000000..e96ac8de --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/FollowCommunity.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class FollowCommunity( + val community_id: CommunityId, + val follow: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GenerateTotpSecretResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GenerateTotpSecretResponse.kt new file mode 100644 index 00000000..349da583 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GenerateTotpSecretResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GenerateTotpSecretResponse( + val totp_secret_url: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCaptchaResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCaptchaResponse.kt new file mode 100644 index 00000000..232cc203 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCaptchaResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetCaptchaResponse( + val ok: CaptchaResponse? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetComment.kt new file mode 100644 index 00000000..1d1acf58 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetComment.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetComment( + val id: CommentId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetComments.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetComments.kt new file mode 100644 index 00000000..4efbd4ba --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetComments.kt @@ -0,0 +1,21 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.CommentSortType +import it.vercruysse.lemmyapi.dto.ListingType +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetComments( + val type_: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val sort: CommentSortType? /* "Hot" | "Top" | "New" | "Old" | "Controversial" */ = null, + val max_depth: Long? = null, + val page: Long? = null, + val limit: Long? = null, + val community_id: CommunityId? = null, + val community_name: String? = null, + val post_id: PostId? = null, + val parent_id: CommentId? = null, + val saved_only: Boolean? = null, + val liked_only: Boolean? = null, + val disliked_only: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommentsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommentsResponse.kt new file mode 100644 index 00000000..6faf7cd1 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommentsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetCommentsResponse( + val comments: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommunity.kt new file mode 100644 index 00000000..484a55c3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommunity.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetCommunity( + val id: CommunityId? = null, + val name: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommunityResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommunityResponse.kt new file mode 100644 index 00000000..85c8838b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetCommunityResponse.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetCommunityResponse( + val community_view: CommunityView, + val site: Site? = null, + val moderators: List, + val discussion_languages: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetFederatedInstancesResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetFederatedInstancesResponse.kt new file mode 100644 index 00000000..7bb34e8f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetFederatedInstancesResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetFederatedInstancesResponse( + val federated_instances: FederatedInstances? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetModlog.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetModlog.kt new file mode 100644 index 00000000..d1c54fd7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetModlog.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ModlogActionType +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetModlog( + val mod_person_id: PersonId? = null, + val community_id: CommunityId? = null, + val page: Long? = null, + val limit: Long? = null, + val type_: ModlogActionType? /* "All" | "ModRemovePost" | "ModLockPost" | "ModFeaturePost" | "ModRemoveComment" | "ModRemoveCommunity" | "ModBanFromCommunity" | "ModAddCommunity" | "ModTransferCommunity" | "ModAdd" | "ModBan" | "ModHideCommunity" | "AdminPurgePerson" | "AdminPurgeCommunity" | "AdminPurgePost" | "AdminPurgeComment" */ = null, + val other_person_id: PersonId? = null, + val post_id: PostId? = null, + val comment_id: CommentId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetModlogResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetModlogResponse.kt new file mode 100644 index 00000000..bc1d55ac --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetModlogResponse.kt @@ -0,0 +1,22 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetModlogResponse( + val removed_posts: List, + val locked_posts: List, + val featured_posts: List, + val removed_comments: List, + val removed_communities: List, + val banned_from_community: List, + val banned: List, + val added_to_community: List, + val transferred_to_community: List, + val added: List, + val admin_purged_persons: List, + val admin_purged_communities: List, + val admin_purged_posts: List, + val admin_purged_comments: List, + val hidden_communities: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonDetails.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonDetails.kt new file mode 100644 index 00000000..b34697c3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonDetails.kt @@ -0,0 +1,15 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPersonDetails( + val person_id: PersonId? = null, + val username: String? = null, + val sort: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val page: Long? = null, + val limit: Long? = null, + val community_id: CommunityId? = null, + val saved_only: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonDetailsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonDetailsResponse.kt new file mode 100644 index 00000000..27cfc0b3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonDetailsResponse.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPersonDetailsResponse( + val person_view: PersonView, + val site: Site? = null, + val comments: List, + val posts: List, + val moderates: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonMentions.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonMentions.kt new file mode 100644 index 00000000..2bad53d2 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonMentions.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.CommentSortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPersonMentions( + val sort: CommentSortType? /* "Hot" | "Top" | "New" | "Old" | "Controversial" */ = null, + val page: Long? = null, + val limit: Long? = null, + val unread_only: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonMentionsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonMentionsResponse.kt new file mode 100644 index 00000000..5d6ea276 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPersonMentionsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPersonMentionsResponse( + val mentions: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPost.kt new file mode 100644 index 00000000..29163d44 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPost.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPost( + val id: PostId? = null, + val comment_id: CommentId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPostResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPostResponse.kt new file mode 100644 index 00000000..471ee7eb --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPostResponse.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPostResponse( + val post_view: PostView, + val community_view: CommunityView, + val moderators: List, + val cross_posts: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPosts.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPosts.kt new file mode 100644 index 00000000..d1ae09b7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPosts.kt @@ -0,0 +1,22 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPosts( + val type_: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val sort: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val page: Long? = null, + val limit: Long? = null, + val community_id: CommunityId? = null, + val community_name: String? = null, + val saved_only: Boolean? = null, + val liked_only: Boolean? = null, + val disliked_only: Boolean? = null, + val show_hidden: Boolean? = null, + val show_read: Boolean? = null, + val show_nsfw: Boolean? = null, + val page_cursor: PaginationCursor? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPostsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPostsResponse.kt new file mode 100644 index 00000000..2f0166d5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPostsResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPostsResponse( + val posts: List, + val next_page: PaginationCursor? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPrivateMessages.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPrivateMessages.kt new file mode 100644 index 00000000..fb554b14 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetPrivateMessages.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetPrivateMessages( + val unread_only: Boolean? = null, + val page: Long? = null, + val limit: Long? = null, + val creator_id: PersonId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetRegistrationApplication.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetRegistrationApplication.kt new file mode 100644 index 00000000..45e16a2f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetRegistrationApplication.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetRegistrationApplication( + val person_id: PersonId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReplies.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReplies.kt new file mode 100644 index 00000000..c249249c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReplies.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.CommentSortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetReplies( + val sort: CommentSortType? /* "Hot" | "Top" | "New" | "Old" | "Controversial" */ = null, + val page: Long? = null, + val limit: Long? = null, + val unread_only: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetRepliesResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetRepliesResponse.kt new file mode 100644 index 00000000..08d60da1 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetRepliesResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetRepliesResponse( + val replies: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReportCount.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReportCount.kt new file mode 100644 index 00000000..850ce4d7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReportCount.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetReportCount( + val community_id: CommunityId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReportCountResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReportCountResponse.kt new file mode 100644 index 00000000..55917e21 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetReportCountResponse.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetReportCountResponse( + val community_id: CommunityId? = null, + val comment_reports: Long, + val post_reports: Long, + val private_message_reports: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteMetadata.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteMetadata.kt new file mode 100644 index 00000000..e4ac145e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteMetadata.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetSiteMetadata( + val url: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteMetadataResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteMetadataResponse.kt new file mode 100644 index 00000000..a7b64cd0 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteMetadataResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetSiteMetadataResponse( + val metadata: LinkMetadata, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteResponse.kt new file mode 100644 index 00000000..3ca8eb6b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetSiteResponse.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetSiteResponse( + val site_view: SiteView, + val admins: List, + val version: String, + val my_user: MyUserInfo? = null, + val all_languages: List, + val discussion_languages: List, + val taglines: List, + val custom_emojis: List, + val blocked_urls: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetUnreadCountResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetUnreadCountResponse.kt new file mode 100644 index 00000000..f31c99ea --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetUnreadCountResponse.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetUnreadCountResponse( + val replies: Long, + val mentions: Long, + val private_messages: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetUnreadRegistrationApplicationCountResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetUnreadRegistrationApplicationCountResponse.kt new file mode 100644 index 00000000..a2d5bd08 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/GetUnreadRegistrationApplicationCountResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class GetUnreadRegistrationApplicationCountResponse( + val registration_applications: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/HideCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/HideCommunity.kt new file mode 100644 index 00000000..a50a3ccd --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/HideCommunity.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class HideCommunity( + val community_id: CommunityId, + val hidden: Boolean, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/HidePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/HidePost.kt new file mode 100644 index 00000000..81b91f0a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/HidePost.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class HidePost( + val post_ids: List, + val hide: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ImageDetails.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ImageDetails.kt new file mode 100644 index 00000000..1e5cf77b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ImageDetails.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ImageDetails( + val link: String, + val width: Long, + val height: Long, + val content_type: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Instance.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Instance.kt new file mode 100644 index 00000000..f6af9809 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Instance.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Instance( + val id: InstanceId, + val domain: String, + val published: String, + val updated: String? = null, + val software: String? = null, + val version: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceBlockView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceBlockView.kt new file mode 100644 index 00000000..3b2a8d27 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceBlockView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class InstanceBlockView( + val person: Person, + val instance: Instance, + val site: Site? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceId.kt new file mode 100644 index 00000000..de9a4e26 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias InstanceId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceWithFederationState.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceWithFederationState.kt new file mode 100644 index 00000000..2f6bbb52 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/InstanceWithFederationState.kt @@ -0,0 +1,14 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class InstanceWithFederationState( + val id: InstanceId, + val domain: String, + val published: String, + val updated: String? = null, + val software: String? = null, + val version: String? = null, + val federation_state: ReadableFederationState? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Language.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Language.kt new file mode 100644 index 00000000..1a2d7940 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Language.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Language( + val id: LanguageId, + val code: String, + val name: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LanguageId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LanguageId.kt new file mode 100644 index 00000000..08900ae0 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LanguageId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias LanguageId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LinkMetadata.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LinkMetadata.kt new file mode 100644 index 00000000..b5823acf --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LinkMetadata.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LinkMetadata( + val title: String? = null, + val description: String? = null, + val image: String? = null, + val embed_video_url: String? = null, + val content_type: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentLikes.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentLikes.kt new file mode 100644 index 00000000..5ae5aec1 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentLikes.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListCommentLikes( + val comment_id: CommentId, + val page: Long? = null, + val limit: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentLikesResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentLikesResponse.kt new file mode 100644 index 00000000..291c37b5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentLikesResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListCommentLikesResponse( + val comment_likes: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentReports.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentReports.kt new file mode 100644 index 00000000..8f6a5edc --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentReports.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListCommentReports( + val comment_id: CommentId? = null, + val page: Long? = null, + val limit: Long? = null, + val unresolved_only: Boolean? = null, + val community_id: CommunityId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentReportsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentReportsResponse.kt new file mode 100644 index 00000000..a7b425c8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommentReportsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListCommentReportsResponse( + val comment_reports: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommunities.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommunities.kt new file mode 100644 index 00000000..0e3af85c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommunities.kt @@ -0,0 +1,14 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListCommunities( + val type_: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val sort: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val show_nsfw: Boolean? = null, + val page: Long? = null, + val limit: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommunitiesResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommunitiesResponse.kt new file mode 100644 index 00000000..3f0dc721 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListCommunitiesResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListCommunitiesResponse( + val communities: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListMedia.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListMedia.kt new file mode 100644 index 00000000..5ce990da --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListMedia.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListMedia( + val page: Long? = null, + val limit: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListMediaResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListMediaResponse.kt new file mode 100644 index 00000000..3366fda0 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListMediaResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListMediaResponse( + val images: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostLikes.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostLikes.kt new file mode 100644 index 00000000..b2399a40 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostLikes.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListPostLikes( + val post_id: PostId, + val page: Long? = null, + val limit: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostLikesResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostLikesResponse.kt new file mode 100644 index 00000000..ba029054 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostLikesResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListPostLikesResponse( + val post_likes: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostReports.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostReports.kt new file mode 100644 index 00000000..907254b0 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostReports.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListPostReports( + val page: Long? = null, + val limit: Long? = null, + val unresolved_only: Boolean? = null, + val community_id: CommunityId? = null, + val post_id: PostId? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostReportsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostReportsResponse.kt new file mode 100644 index 00000000..717f7903 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPostReportsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListPostReportsResponse( + val post_reports: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPrivateMessageReports.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPrivateMessageReports.kt new file mode 100644 index 00000000..96ba9d1a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPrivateMessageReports.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListPrivateMessageReports( + val page: Long? = null, + val limit: Long? = null, + val unresolved_only: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPrivateMessageReportsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPrivateMessageReportsResponse.kt new file mode 100644 index 00000000..8c8dc895 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListPrivateMessageReportsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListPrivateMessageReportsResponse( + val private_message_reports: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListRegistrationApplications.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListRegistrationApplications.kt new file mode 100644 index 00000000..a585c502 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListRegistrationApplications.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListRegistrationApplications( + val unread_only: Boolean? = null, + val page: Long? = null, + val limit: Long? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListRegistrationApplicationsResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListRegistrationApplicationsResponse.kt new file mode 100644 index 00000000..ea60c849 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ListRegistrationApplicationsResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ListRegistrationApplicationsResponse( + val registration_applications: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalImage.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalImage.kt new file mode 100644 index 00000000..949b1dd3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalImage.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalImage( + val local_user_id: LocalUserId? = null, + val pictrs_alias: String, + val pictrs_delete_token: String, + val published: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalImageView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalImageView.kt new file mode 100644 index 00000000..0cb5d6e5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalImageView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalImageView( + val local_image: LocalImage, + val person: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSite.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSite.kt new file mode 100644 index 00000000..4c3adce6 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSite.kt @@ -0,0 +1,37 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.PostListingMode +import it.vercruysse.lemmyapi.dto.RegistrationMode +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalSite( + val id: LocalSiteId, + val site_id: SiteId, + val site_setup: Boolean, + val enable_downvotes: Boolean, + val enable_nsfw: Boolean, + val community_creation_admin_only: Boolean, + val require_email_verification: Boolean, + val application_question: String? = null, + val private_instance: Boolean, + val default_theme: String, + val default_post_listing_type: ListingType /* "All" | "Local" | "Subscribed" | "ModeratorView" */, + val legal_information: String? = null, + val hide_modlog_mod_names: Boolean, + val application_email_admins: Boolean, + val slur_filter_regex: String? = null, + val actor_name_max_length: Long, + val federation_enabled: Boolean, + val captcha_enabled: Boolean, + val captcha_difficulty: String, + val published: String, + val updated: String? = null, + val registration_mode: RegistrationMode /* "Closed" | "RequireApplication" | "Open" */, + val reports_email_admins: Boolean, + val federation_signed_fetch: Boolean, + val default_post_listing_mode: PostListingMode /* "List" | "Card" | "SmallCard" */, + val default_sort_type: SortType /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteId.kt new file mode 100644 index 00000000..cb501365 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias LocalSiteId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteRateLimit.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteRateLimit.kt new file mode 100644 index 00000000..7e84002e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteRateLimit.kt @@ -0,0 +1,24 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalSiteRateLimit( + val local_site_id: LocalSiteId, + val message: Long, + val message_per_second: Long, + val post: Long, + val post_per_second: Long, + val register: Long, + val register_per_second: Long, + val image: Long, + val image_per_second: Long, + val comment: Long, + val comment_per_second: Long, + val search: Long, + val search_per_second: Long, + val published: String, + val updated: String? = null, + val import_user_settings: Long, + val import_user_settings_per_second: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteUrlBlocklist.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteUrlBlocklist.kt new file mode 100644 index 00000000..5c3c47cd --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalSiteUrlBlocklist.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalSiteUrlBlocklist( + val id: Long, + val url: String, + val published: String, + val updated: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUser.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUser.kt new file mode 100644 index 00000000..c03bdbbd --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUser.kt @@ -0,0 +1,36 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.PostListingMode +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalUser( + val id: LocalUserId, + val person_id: PersonId, + val email: String? = null, + val show_nsfw: Boolean, + val theme: String, + val default_sort_type: SortType /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */, + val default_listing_type: ListingType /* "All" | "Local" | "Subscribed" | "ModeratorView" */, + val interface_language: String, + val show_avatars: Boolean, + val send_notifications_to_email: Boolean, + val show_scores: Boolean, + val show_bot_accounts: Boolean, + val show_read_posts: Boolean, + val email_verified: Boolean, + val accepted_application: Boolean, + val open_links_in_new_tab: Boolean, + val blur_nsfw: Boolean, + val auto_expand: Boolean, + val infinite_scroll_enabled: Boolean, + val admin: Boolean, + val post_listing_mode: PostListingMode /* "List" | "Card" | "SmallCard" */, + val totp_2fa_enabled: Boolean, + val enable_keyboard_navigation: Boolean, + val enable_animated_images: Boolean, + val collapse_bot_comments: Boolean, + val last_donation_notification: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserId.kt new file mode 100644 index 00000000..ea859b00 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias LocalUserId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserView.kt new file mode 100644 index 00000000..0c2760b0 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalUserView( + val local_user: LocalUser, + val local_user_vote_display_mode: LocalUserVoteDisplayMode, + val person: Person, + val counts: PersonAggregates, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserVoteDisplayMode.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserVoteDisplayMode.kt new file mode 100644 index 00000000..104b34d8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LocalUserVoteDisplayMode.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LocalUserVoteDisplayMode( + val local_user_id: LocalUserId, + val score: Boolean, + val upvotes: Boolean, + val downvotes: Boolean, + val upvote_percentage: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LockPost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LockPost.kt new file mode 100644 index 00000000..9b9fe911 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LockPost.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LockPost( + val post_id: PostId, + val locked: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Login.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Login.kt new file mode 100644 index 00000000..ea9512ee --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Login.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Login( + val username_or_email: String, + val password: String, + val totp_2fa_token: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LoginResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LoginResponse.kt new file mode 100644 index 00000000..f8ee64a9 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LoginResponse.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LoginResponse( + val jwt: String? = null, + val registration_created: Boolean, + val verify_email_sent: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LoginToken.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LoginToken.kt new file mode 100644 index 00000000..c5d5a13c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/LoginToken.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class LoginToken( + val user_id: LocalUserId, + val published: String, + val ip: String? = null, + val user_agent: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkCommentReplyAsRead.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkCommentReplyAsRead.kt new file mode 100644 index 00000000..4a6d3e50 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkCommentReplyAsRead.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class MarkCommentReplyAsRead( + val comment_reply_id: CommentReplyId, + val read: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPersonMentionAsRead.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPersonMentionAsRead.kt new file mode 100644 index 00000000..c118b384 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPersonMentionAsRead.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class MarkPersonMentionAsRead( + val person_mention_id: PersonMentionId, + val read: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPostAsRead.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPostAsRead.kt new file mode 100644 index 00000000..b54f718c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPostAsRead.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class MarkPostAsRead( + val post_ids: List, + val read: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPrivateMessageAsRead.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPrivateMessageAsRead.kt new file mode 100644 index 00000000..3c6b0b99 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MarkPrivateMessageAsRead.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class MarkPrivateMessageAsRead( + val private_message_id: PrivateMessageId, + val read: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAdd.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAdd.kt new file mode 100644 index 00000000..d109d44a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAdd.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModAdd( + val id: Long, + val mod_person_id: PersonId, + val other_person_id: PersonId, + val removed: Boolean, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddCommunity.kt new file mode 100644 index 00000000..613eb41d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddCommunity.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModAddCommunity( + val id: Long, + val mod_person_id: PersonId, + val other_person_id: PersonId, + val community_id: CommunityId, + val removed: Boolean, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddCommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddCommunityView.kt new file mode 100644 index 00000000..7211e2f7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddCommunityView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModAddCommunityView( + val mod_add_community: ModAddCommunity, + val moderator: Person? = null, + val community: Community, + val modded_person: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddView.kt new file mode 100644 index 00000000..c5c81fc7 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModAddView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModAddView( + val mod_add: ModAdd, + val moderator: Person? = null, + val modded_person: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBan.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBan.kt new file mode 100644 index 00000000..9f9d7238 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBan.kt @@ -0,0 +1,14 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModBan( + val id: Long, + val mod_person_id: PersonId, + val other_person_id: PersonId, + val reason: String? = null, + val banned: Boolean, + val expires: String? = null, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanFromCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanFromCommunity.kt new file mode 100644 index 00000000..0cad28e3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanFromCommunity.kt @@ -0,0 +1,15 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModBanFromCommunity( + val id: Long, + val mod_person_id: PersonId, + val other_person_id: PersonId, + val community_id: CommunityId, + val reason: String? = null, + val banned: Boolean, + val expires: String? = null, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanFromCommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanFromCommunityView.kt new file mode 100644 index 00000000..1f346b0f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanFromCommunityView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModBanFromCommunityView( + val mod_ban_from_community: ModBanFromCommunity, + val moderator: Person? = null, + val community: Community, + val banned_person: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanView.kt new file mode 100644 index 00000000..5646124b --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModBanView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModBanView( + val mod_ban: ModBan, + val moderator: Person? = null, + val banned_person: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModFeaturePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModFeaturePost.kt new file mode 100644 index 00000000..36fd18ed --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModFeaturePost.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModFeaturePost( + val id: Long, + val mod_person_id: PersonId, + val post_id: PostId, + val featured: Boolean, + val when_: String, + val is_featured_community: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModFeaturePostView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModFeaturePostView.kt new file mode 100644 index 00000000..3d6690f5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModFeaturePostView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModFeaturePostView( + val mod_feature_post: ModFeaturePost, + val moderator: Person? = null, + val post: Post, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModHideCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModHideCommunity.kt new file mode 100644 index 00000000..5215ff51 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModHideCommunity.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModHideCommunity( + val id: Long, + val community_id: CommunityId, + val mod_person_id: PersonId, + val when_: String, + val reason: String? = null, + val hidden: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModHideCommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModHideCommunityView.kt new file mode 100644 index 00000000..ec5a1d56 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModHideCommunityView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModHideCommunityView( + val mod_hide_community: ModHideCommunity, + val admin: Person? = null, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModLockPost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModLockPost.kt new file mode 100644 index 00000000..415e5508 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModLockPost.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModLockPost( + val id: Long, + val mod_person_id: PersonId, + val post_id: PostId, + val locked: Boolean, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModLockPostView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModLockPostView.kt new file mode 100644 index 00000000..c1dad8cf --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModLockPostView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModLockPostView( + val mod_lock_post: ModLockPost, + val moderator: Person? = null, + val post: Post, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveComment.kt new file mode 100644 index 00000000..6858842c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveComment.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModRemoveComment( + val id: Long, + val mod_person_id: PersonId, + val comment_id: CommentId, + val reason: String? = null, + val removed: Boolean, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommentView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommentView.kt new file mode 100644 index 00000000..d23633af --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommentView.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModRemoveCommentView( + val mod_remove_comment: ModRemoveComment, + val moderator: Person? = null, + val comment: Comment, + val commenter: Person, + val post: Post, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommunity.kt new file mode 100644 index 00000000..36c888ac --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommunity.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModRemoveCommunity( + val id: Long, + val mod_person_id: PersonId, + val community_id: CommunityId, + val reason: String? = null, + val removed: Boolean, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommunityView.kt new file mode 100644 index 00000000..2951e73e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemoveCommunityView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModRemoveCommunityView( + val mod_remove_community: ModRemoveCommunity, + val moderator: Person? = null, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemovePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemovePost.kt new file mode 100644 index 00000000..9b05ea0e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemovePost.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModRemovePost( + val id: Long, + val mod_person_id: PersonId, + val post_id: PostId, + val reason: String? = null, + val removed: Boolean, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemovePostView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemovePostView.kt new file mode 100644 index 00000000..b7d81e05 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModRemovePostView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModRemovePostView( + val mod_remove_post: ModRemovePost, + val moderator: Person? = null, + val post: Post, + val community: Community, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModTransferCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModTransferCommunity.kt new file mode 100644 index 00000000..3ae18352 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModTransferCommunity.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModTransferCommunity( + val id: Long, + val mod_person_id: PersonId, + val other_person_id: PersonId, + val community_id: CommunityId, + val when_: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModTransferCommunityView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModTransferCommunityView.kt new file mode 100644 index 00000000..2b1a8e06 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModTransferCommunityView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModTransferCommunityView( + val mod_transfer_community: ModTransferCommunity, + val moderator: Person? = null, + val community: Community, + val modded_person: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModlogListParams.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModlogListParams.kt new file mode 100644 index 00000000..f76a89e3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ModlogListParams.kt @@ -0,0 +1,15 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ModlogListParams( + val community_id: CommunityId? = null, + val mod_person_id: PersonId? = null, + val other_person_id: PersonId? = null, + val post_id: PostId? = null, + val comment_id: CommentId? = null, + val page: Long? = null, + val limit: Long? = null, + val hide_modlog_names: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MyUserInfo.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MyUserInfo.kt new file mode 100644 index 00000000..5e4fcc87 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/MyUserInfo.kt @@ -0,0 +1,14 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class MyUserInfo( + val local_user_view: LocalUserView, + val follows: List, + val moderates: List, + val community_blocks: List, + val instance_blocks: List, + val person_blocks: List, + val discussion_languages: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/OpenGraphData.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/OpenGraphData.kt new file mode 100644 index 00000000..ba364b50 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/OpenGraphData.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class OpenGraphData( + val title: String? = null, + val description: String? = null, + val image: String? = null, + val embed_video_url: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PaginationCursor.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PaginationCursor.kt new file mode 100644 index 00000000..790dfdad --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PaginationCursor.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PaginationCursor = String diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PasswordChangeAfterReset.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PasswordChangeAfterReset.kt new file mode 100644 index 00000000..ce256849 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PasswordChangeAfterReset.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PasswordChangeAfterReset( + val token: String, + val password: String, + val password_verify: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PasswordReset.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PasswordReset.kt new file mode 100644 index 00000000..be5fa713 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PasswordReset.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PasswordReset( + val email: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Person.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Person.kt new file mode 100644 index 00000000..401177e8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Person.kt @@ -0,0 +1,23 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Person( + val id: PersonId, + val name: String, + val display_name: String? = null, + val avatar: String? = null, + val banned: Boolean, + val published: String, + val updated: String? = null, + val actor_id: String, + val bio: String? = null, + val local: Boolean, + val banner: String? = null, + val deleted: Boolean, + val matrix_user_id: String? = null, + val bot_account: Boolean, + val ban_expires: String? = null, + val instance_id: InstanceId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonAggregates.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonAggregates.kt new file mode 100644 index 00000000..e93192b5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonAggregates.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PersonAggregates( + val person_id: PersonId, + val post_count: Long, + val comment_count: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonBlockView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonBlockView.kt new file mode 100644 index 00000000..00f11f1e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonBlockView.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PersonBlockView( + val person: Person, + val target: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonId.kt new file mode 100644 index 00000000..948f849a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PersonId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMention.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMention.kt new file mode 100644 index 00000000..5ceccd84 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMention.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PersonMention( + val id: PersonMentionId, + val recipient_id: PersonId, + val comment_id: CommentId, + val read: Boolean, + val published: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionId.kt new file mode 100644 index 00000000..57d28429 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PersonMentionId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionResponse.kt new file mode 100644 index 00000000..96008445 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PersonMentionResponse( + val person_mention_view: PersonMentionView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionView.kt new file mode 100644 index 00000000..ef2b452f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonMentionView.kt @@ -0,0 +1,23 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class PersonMentionView( + val person_mention: PersonMention, + val comment: Comment, + val creator: Person, + val post: Post, + val community: Community, + val recipient: Person, + val counts: CommentAggregates, + val creator_banned_from_community: Boolean, + val banned_from_community: Boolean, + val creator_is_moderator: Boolean, + val creator_is_admin: Boolean, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val saved: Boolean, + val creator_blocked: Boolean, + val my_vote: Int = 0, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonView.kt new file mode 100644 index 00000000..e00db0c1 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PersonView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PersonView( + val person: Person, + val counts: PersonAggregates, + val is_admin: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Post.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Post.kt new file mode 100644 index 00000000..daae564d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Post.kt @@ -0,0 +1,30 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Post( + val id: PostId, + val name: String, + val url: String? = null, + val body: String? = null, + val creator_id: PersonId, + val community_id: CommunityId, + val removed: Boolean, + val locked: Boolean, + val published: String, + val updated: String? = null, + val deleted: Boolean, + val nsfw: Boolean, + val embed_title: String? = null, + val embed_description: String? = null, + val thumbnail_url: String? = null, + val ap_id: String, + val local: Boolean, + val embed_video_url: String? = null, + val language_id: LanguageId, + val featured_community: Boolean, + val featured_local: Boolean, + val url_content_type: String? = null, + val alt_text: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostAggregates.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostAggregates.kt new file mode 100644 index 00000000..1989cefa --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostAggregates.kt @@ -0,0 +1,14 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PostAggregates( + val post_id: PostId, + val comments: Long, + val score: Long, + val upvotes: Long, + val downvotes: Long, + val published: String, + val newest_comment_time: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostId.kt new file mode 100644 index 00000000..883befeb --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PostId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReport.kt new file mode 100644 index 00000000..8a6a6469 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReport.kt @@ -0,0 +1,18 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PostReport( + val id: PostReportId, + val creator_id: PersonId, + val post_id: PostId, + val original_post_name: String, + val original_post_url: String? = null, + val original_post_body: String? = null, + val reason: String, + val resolved: Boolean, + val resolver_id: PersonId? = null, + val published: String, + val updated: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportId.kt new file mode 100644 index 00000000..d4f1f076 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PostReportId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportResponse.kt new file mode 100644 index 00000000..c71519a8 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PostReportResponse( + val post_report_view: PostReportView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportView.kt new file mode 100644 index 00000000..27a9cdd3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostReportView.kt @@ -0,0 +1,25 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class PostReportView( + val post_report: PostReport, + val post: Post, + val community: Community, + val creator: Person, + val post_creator: Person, + val creator_banned_from_community: Boolean, + val creator_is_moderator: Boolean, + val creator_is_admin: Boolean, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val saved: Boolean, + val read: Boolean, + val hidden: Boolean, + val creator_blocked: Boolean, + val my_vote: Int = 0, + val unread_comments: Long, + val counts: PostAggregates, + val resolver: Person? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostResponse.kt new file mode 100644 index 00000000..5d958654 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PostResponse( + val post_view: PostView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostView.kt new file mode 100644 index 00000000..68542a2e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PostView.kt @@ -0,0 +1,24 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SubscribedType +import kotlinx.serialization.Serializable + +@Serializable +internal data class PostView( + val post: Post, + val creator: Person, + val community: Community, + val image_details: ImageDetails? = null, + val creator_banned_from_community: Boolean, + val banned_from_community: Boolean, + val creator_is_moderator: Boolean, + val creator_is_admin: Boolean, + val counts: PostAggregates, + val subscribed: SubscribedType /* "Subscribed" | "NotSubscribed" | "Pending" */, + val saved: Boolean, + val read: Boolean, + val hidden: Boolean, + val creator_blocked: Boolean, + val my_vote: Int = 0, + val unread_comments: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessage.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessage.kt new file mode 100644 index 00000000..33547947 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessage.kt @@ -0,0 +1,17 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessage( + val id: PrivateMessageId, + val creator_id: PersonId, + val recipient_id: PersonId, + val content: String, + val deleted: Boolean, + val read: Boolean, + val published: String, + val updated: String? = null, + val ap_id: String, + val local: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageId.kt new file mode 100644 index 00000000..64251dec --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PrivateMessageId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReport.kt new file mode 100644 index 00000000..f80cae2f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReport.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessageReport( + val id: PrivateMessageReportId, + val creator_id: PersonId, + val private_message_id: PrivateMessageId, + val original_pm_text: String, + val reason: String, + val resolved: Boolean, + val resolver_id: PersonId? = null, + val published: String, + val updated: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportId.kt new file mode 100644 index 00000000..f57670ff --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias PrivateMessageReportId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportResponse.kt new file mode 100644 index 00000000..2d6fc213 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessageReportResponse( + val private_message_report_view: PrivateMessageReportView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportView.kt new file mode 100644 index 00000000..bc957c0d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageReportView.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessageReportView( + val private_message_report: PrivateMessageReport, + val private_message: PrivateMessage, + val private_message_creator: Person, + val creator: Person, + val resolver: Person? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageResponse.kt new file mode 100644 index 00000000..6e2204d5 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessageResponse( + val private_message_view: PrivateMessageView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageView.kt new file mode 100644 index 00000000..b7034324 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessageView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessageView( + val private_message: PrivateMessage, + val creator: Person, + val recipient: Person, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessagesResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessagesResponse.kt new file mode 100644 index 00000000..be7c5759 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PrivateMessagesResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PrivateMessagesResponse( + val private_messages: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgeComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgeComment.kt new file mode 100644 index 00000000..24c22c9e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgeComment.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PurgeComment( + val comment_id: CommentId, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgeCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgeCommunity.kt new file mode 100644 index 00000000..5d10dd20 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgeCommunity.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PurgeCommunity( + val community_id: CommunityId, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgePerson.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgePerson.kt new file mode 100644 index 00000000..666f2468 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgePerson.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PurgePerson( + val person_id: PersonId, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgePost.kt new file mode 100644 index 00000000..b187248d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/PurgePost.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class PurgePost( + val post_id: PostId, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ReadableFederationState.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ReadableFederationState.kt new file mode 100644 index 00000000..f98a5b92 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ReadableFederationState.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ReadableFederationState( + val instance_id: InstanceId, + val last_successful_id: ActivityId? = null, + val last_successful_published_time: String? = null, + val fail_count: Long, + val last_retry: String? = null, + val next_retry: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Register.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Register.kt new file mode 100644 index 00000000..671b1f90 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Register.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Register( + val username: String, + val password: String, + val password_verify: String, + val show_nsfw: Boolean? = null, + val email: String? = null, + val captcha_uuid: String? = null, + val captcha_answer: String? = null, + val honeypot: String? = null, + val answer: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplication.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplication.kt new file mode 100644 index 00000000..5b9d5c2f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplication.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class RegistrationApplication( + val id: RegistrationApplicationId, + val local_user_id: LocalUserId, + val answer: String, + val admin_id: PersonId? = null, + val deny_reason: String? = null, + val published: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationId.kt new file mode 100644 index 00000000..0dab6343 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias RegistrationApplicationId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationResponse.kt new file mode 100644 index 00000000..ac57ab80 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class RegistrationApplicationResponse( + val registration_application: RegistrationApplicationView, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationView.kt new file mode 100644 index 00000000..2b948e47 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RegistrationApplicationView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class RegistrationApplicationView( + val registration_application: RegistrationApplication, + val creator_local_user: LocalUser, + val creator: Person, + val admin: Person? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemoveComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemoveComment.kt new file mode 100644 index 00000000..61eb0946 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemoveComment.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class RemoveComment( + val comment_id: CommentId, + val removed: Boolean, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemoveCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemoveCommunity.kt new file mode 100644 index 00000000..815dfd00 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemoveCommunity.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class RemoveCommunity( + val community_id: CommunityId, + val removed: Boolean, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemovePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemovePost.kt new file mode 100644 index 00000000..0d96e74f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/RemovePost.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class RemovePost( + val post_id: PostId, + val removed: Boolean, + val reason: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveCommentReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveCommentReport.kt new file mode 100644 index 00000000..68d43f1e --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveCommentReport.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ResolveCommentReport( + val report_id: CommentReportId, + val resolved: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveObject.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveObject.kt new file mode 100644 index 00000000..1753580a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveObject.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ResolveObject( + val q: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveObjectResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveObjectResponse.kt new file mode 100644 index 00000000..85a365f3 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolveObjectResponse.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ResolveObjectResponse( + val comment: CommentView? = null, + val post: PostView? = null, + val community: CommunityView? = null, + val person: PersonView? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolvePostReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolvePostReport.kt new file mode 100644 index 00000000..4861342a --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolvePostReport.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ResolvePostReport( + val report_id: PostReportId, + val resolved: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolvePrivateMessageReport.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolvePrivateMessageReport.kt new file mode 100644 index 00000000..3e81c87d --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/ResolvePrivateMessageReport.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class ResolvePrivateMessageReport( + val report_id: PrivateMessageReportId, + val resolved: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SaveComment.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SaveComment.kt new file mode 100644 index 00000000..5e2e29ab --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SaveComment.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class SaveComment( + val comment_id: CommentId, + val save: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SavePost.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SavePost.kt new file mode 100644 index 00000000..31697427 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SavePost.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class SavePost( + val post_id: PostId, + val save: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SaveUserSettings.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SaveUserSettings.kt new file mode 100644 index 00000000..5beedadb --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SaveUserSettings.kt @@ -0,0 +1,39 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.PostListingMode +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class SaveUserSettings( + val show_nsfw: Boolean? = null, + val blur_nsfw: Boolean? = null, + val auto_expand: Boolean? = null, + val theme: String? = null, + val default_sort_type: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val default_listing_type: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val interface_language: String? = null, + val avatar: String? = null, + val banner: String? = null, + val display_name: String? = null, + val email: String? = null, + val bio: String? = null, + val matrix_user_id: String? = null, + val show_avatars: Boolean? = null, + val send_notifications_to_email: Boolean? = null, + val bot_account: Boolean? = null, + val show_bot_accounts: Boolean? = null, + val show_read_posts: Boolean? = null, + val discussion_languages: List? = null, + val open_links_in_new_tab: Boolean? = null, + val infinite_scroll_enabled: Boolean? = null, + val post_listing_mode: PostListingMode? /* "List" | "Card" | "SmallCard" */ = null, + val enable_keyboard_navigation: Boolean? = null, + val enable_animated_images: Boolean? = null, + val collapse_bot_comments: Boolean? = null, + val show_scores: Boolean? = null, + val show_upvotes: Boolean? = null, + val show_downvotes: Boolean? = null, + val show_upvote_percentage: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Search.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Search.kt new file mode 100644 index 00000000..c973dbb6 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Search.kt @@ -0,0 +1,20 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.ListingType +import it.vercruysse.lemmyapi.dto.SearchType +import it.vercruysse.lemmyapi.dto.SortType +import kotlinx.serialization.Serializable + +@Serializable +internal data class Search( + val q: String, + val community_id: CommunityId? = null, + val community_name: String? = null, + val creator_id: PersonId? = null, + val type_: SearchType? /* "All" | "Comments" | "Posts" | "Communities" | "Users" | "Url" */ = null, + val sort: SortType? /* "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled" */ = null, + val listing_type: ListingType? /* "All" | "Local" | "Subscribed" | "ModeratorView" */ = null, + val page: Long? = null, + val limit: Long? = null, + val post_title_only: Boolean? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SearchResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SearchResponse.kt new file mode 100644 index 00000000..def57b20 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SearchResponse.kt @@ -0,0 +1,13 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import it.vercruysse.lemmyapi.dto.SearchType +import kotlinx.serialization.Serializable + +@Serializable +internal data class SearchResponse( + val type_: SearchType /* "All" | "Comments" | "Posts" | "Communities" | "Users" | "Url" */, + val comments: List, + val posts: List, + val communities: List, + val users: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Site.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Site.kt new file mode 100644 index 00000000..1026c5be --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Site.kt @@ -0,0 +1,21 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Site( + val id: SiteId, + val name: String, + val sidebar: String? = null, + val published: String, + val updated: String? = null, + val icon: String? = null, + val banner: String? = null, + val description: String? = null, + val actor_id: String, + val last_refreshed_at: String, + val inbox_url: String, + val public_key: String, + val instance_id: InstanceId, + val content_warning: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteAggregates.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteAggregates.kt new file mode 100644 index 00000000..6a56cac9 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteAggregates.kt @@ -0,0 +1,16 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class SiteAggregates( + val site_id: SiteId, + val users: Long, + val posts: Long, + val comments: Long, + val communities: Long, + val users_active_day: Long, + val users_active_week: Long, + val users_active_month: Long, + val users_active_half_year: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteId.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteId.kt new file mode 100644 index 00000000..33213af0 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteId.kt @@ -0,0 +1,3 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +typealias SiteId = Long diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteResponse.kt new file mode 100644 index 00000000..c5a6af5f --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteResponse.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class SiteResponse( + val site_view: SiteView, + val taglines: List, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteView.kt new file mode 100644 index 00000000..f6a8ca88 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/SiteView.kt @@ -0,0 +1,11 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class SiteView( + val site: Site, + val local_site: LocalSite, + val local_site_rate_limit: LocalSiteRateLimit, + val counts: SiteAggregates, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Tagline.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Tagline.kt new file mode 100644 index 00000000..86275ab2 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/Tagline.kt @@ -0,0 +1,12 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class Tagline( + val id: Long, + val local_site_id: LocalSiteId, + val content: String, + val published: String, + val updated: String? = null, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/TransferCommunity.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/TransferCommunity.kt new file mode 100644 index 00000000..3652b5dc --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/TransferCommunity.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class TransferCommunity( + val community_id: CommunityId, + val person_id: PersonId, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/UpdateTotp.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/UpdateTotp.kt new file mode 100644 index 00000000..98d7f12c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/UpdateTotp.kt @@ -0,0 +1,9 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class UpdateTotp( + val totp_token: String, + val enabled: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/UpdateTotpResponse.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/UpdateTotpResponse.kt new file mode 100644 index 00000000..4d898779 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/UpdateTotpResponse.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class UpdateTotpResponse( + val enabled: Boolean, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/VerifyEmail.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/VerifyEmail.kt new file mode 100644 index 00000000..4aa6c24c --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/VerifyEmail.kt @@ -0,0 +1,8 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class VerifyEmail( + val token: String, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/VoteView.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/VoteView.kt new file mode 100644 index 00000000..a371b880 --- /dev/null +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x11/datatypes/VoteView.kt @@ -0,0 +1,10 @@ +package it.vercruysse.lemmyapi.v0.x19.x11.datatypes + +import kotlinx.serialization.Serializable + +@Serializable +internal data class VoteView( + val creator: Person, + val creator_banned_from_community: Boolean, + val score: Long, +) diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x3/LemmyApiUniWrapper.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x3/LemmyApiUniWrapper.kt index 2b599743..da34bbf5 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x3/LemmyApiUniWrapper.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x3/LemmyApiUniWrapper.kt @@ -723,6 +723,13 @@ internal class LemmyApiUniWrapper(client: HttpClient, actualVersion: Version, ba override suspend fun leaveAdmin(): Result = api.leaveAdmin().map(transformer::toUni) + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = notSupported() + /** * Add an admin to your site. * diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x4/LemmyApiUniWrapper.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x4/LemmyApiUniWrapper.kt index 2893e512..73911bd8 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x4/LemmyApiUniWrapper.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x4/LemmyApiUniWrapper.kt @@ -722,6 +722,13 @@ internal class LemmyApiUniWrapper(client: HttpClient, actualVersion: Version, ba override suspend fun leaveAdmin(): Result = api.leaveAdmin().map(transformer::toUni) + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = notSupported() + /** * Add an admin to your site. * diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/LemmyApiUniWrapper.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/LemmyApiUniWrapper.kt index 7359b323..e4b92b46 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/LemmyApiUniWrapper.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/LemmyApiUniWrapper.kt @@ -722,6 +722,13 @@ internal class LemmyApiUniWrapper(client: HttpClient, actualVersion: Version, ba override suspend fun leaveAdmin(): Result = api.leaveAdmin().map(transformer::toUni) + /** + * Mark donation dialog as shown. + * + * @POST("user/donation_dialog_shown") + */ + override suspend fun markDonationDialogShown(): Result = notSupported() + /** * Add an admin to your site. * diff --git a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/MapperGenerator.kt b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/MapperGenerator.kt index 9d72893f..f57ed44d 100644 --- a/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/MapperGenerator.kt +++ b/app/src/commonMain/kotlin/it/vercruysse/lemmyapi/v0/x19/x6/MapperGenerator.kt @@ -1,5 +1,3 @@ -@file:Suppress("unused", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") - package it.vercruysse.lemmyapi.v0.x19.x6 import it.vercruysse.lemmyapi.v0.x19.x6.datatypes.* diff --git a/app/src/jvmTest/kotlin/Controllers.kt b/app/src/jvmTest/kotlin/Controllers.kt index 51a97ad5..093bb78e 100644 --- a/app/src/jvmTest/kotlin/Controllers.kt +++ b/app/src/jvmTest/kotlin/Controllers.kt @@ -4,4 +4,5 @@ val controllerVersions = arrayOf( "0.19.3", "0.19.4", "0.19.6", + "0.19.11", ) diff --git a/app/src/jvmTest/kotlin/GetCorrectControllerTest.kt b/app/src/jvmTest/kotlin/GetCorrectControllerTest.kt index 0bd825d4..3798beae 100644 --- a/app/src/jvmTest/kotlin/GetCorrectControllerTest.kt +++ b/app/src/jvmTest/kotlin/GetCorrectControllerTest.kt @@ -20,5 +20,8 @@ class GetCorrectControllerTest { val controller5 = LemmyApi.getLemmyApi(instance = "lemmy.world", version = "0.19.2-alpha") assertInstanceOf(it.vercruysse.lemmyapi.v0.x19.x3.LemmyApiUniWrapper::class.java, controller5) + + val controller6 = LemmyApi.getLemmyApi(instance = "lemmy.world", version = "0.19.11") + assertInstanceOf(it.vercruysse.lemmyapi.v0.x19.x11.LemmyApiUniWrapper::class.java, controller6) } }