diff --git a/PostsSystem.drawio b/PostsSystem.drawio index 1aa9958f..482c64c1 100644 --- a/PostsSystem.drawio +++ b/PostsSystem.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/publishing/api/src/commonMain/kotlin/dev/inmo/postssystem/core/publishing/repos/PublishedPostsRepo.kt b/publishing/api/src/commonMain/kotlin/dev/inmo/postssystem/core/publishing/repos/PublishedPostsRepo.kt index 4f7e6bb4..36a80d60 100644 --- a/publishing/api/src/commonMain/kotlin/dev/inmo/postssystem/core/publishing/repos/PublishedPostsRepo.kt +++ b/publishing/api/src/commonMain/kotlin/dev/inmo/postssystem/core/publishing/repos/PublishedPostsRepo.kt @@ -29,10 +29,10 @@ interface PublishedPostsReadRepo : ReadCRUDRepo reversed: Boolean = false ): PaginationResult } -suspend inline fun PostId.isPublished(lookIn: PublishedPostsReadRepo): Boolean { +suspend inline fun PostId.publishedAtLeastOnce(lookIn: PublishedPostsReadRepo): Boolean { return lookIn.getPostPublishing(this, FirstPagePagination(1)).results.isNotEmpty() } -suspend inline fun RegisteredPost.isPublished(lookIn: PublishedPostsReadRepo): Boolean { +suspend inline fun RegisteredPost.publishedAtLeastOnce(lookIn: PublishedPostsReadRepo): Boolean { return lookIn.getPostPublishing(id, FirstPagePagination(1)).results.isNotEmpty() } interface PublishedPostsWriteRepo : WriteCRUDRepo