diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/PostsAPI.kt b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/PostsAPI.kt deleted file mode 100644 index 9021fe6a..00000000 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/PostsAPI.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.insanusmokrassar.postssystem.core.api - -interface PostsAPI : ReadPostsAPI, WritePostsAPI diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt index 4d722930..c21ffb42 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt +++ b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/content/Content.kt @@ -10,7 +10,7 @@ interface Content /** * Content which is already registered in database. Using its [id] you can retrieve all known * [com.insanusmokrassar.postssystem.core.post.RegisteredPost]s by using - * [com.insanusmokrassar.postssystem.core.api.ReadPostsAPI.getPostsByContent] + * [com.insanusmokrassar.postssystem.core.post.api.ReadPostsAPI.getPostsByContent] */ interface RegisteredContent : Content { val id: ContentId diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt index ded1c2b0..15814a68 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt +++ b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/Post.kt @@ -1,29 +1,26 @@ package com.insanusmokrassar.postssystem.core.post -import com.insanusmokrassar.postssystem.core.content.Content -import com.insanusmokrassar.postssystem.core.content.RegisteredContent -import kotlinx.serialization.Serializable +import com.insanusmokrassar.postssystem.core.content.* import org.joda.time.DateTime typealias PostId = String -typealias PostContents = List -typealias RegisteredPostContents = List +typealias ContentIds = List /** * Base interface for creating of new post. Usually, it is just [SimplePost] instance */ interface Post { - val content: PostContents + val content: ContentIds } /** - * Root entity of whole system. Can be retrieved from [com.insanusmokrassar.postssystem.core.api.ReadPostsAPI] by - * getting and created in [com.insanusmokrassar.postssystem.core.api.WritePostsAPI] by inserting of [Post] instance + * Root entity of whole system. Can be retrieved from [com.insanusmokrassar.postssystem.core.post.api.ReadPostsAPI] by + * getting and created in [com.insanusmokrassar.postssystem.core.post.api.WritePostsAPI] by inserting of [Post] instance */ interface RegisteredPost : Post { val id: PostId - override val content: RegisteredPostContents + override val content: ContentIds val creationDate: DateTime val modificationDate: DateTime @@ -34,7 +31,7 @@ interface RegisteredPost : Post { * is [Post] too, but it is not direct [Post] realisation */ data class SimplePost( - override val content: PostContents + override val content: ContentIds ) : Post /** @@ -42,7 +39,7 @@ data class SimplePost( */ data class SimpleRegisteredPost( override val id: PostId, - override val content: RegisteredPostContents, + override val content: ContentIds, override val creationDate: DateTime, override val modificationDate: DateTime = creationDate ) : RegisteredPost \ No newline at end of file diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt new file mode 100644 index 00000000..a3fdceea --- /dev/null +++ b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/PostsAPI.kt @@ -0,0 +1,3 @@ +package com.insanusmokrassar.postssystem.core.post.api + +interface PostsAPI : ReadPostsAPI, WritePostsAPI diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/ReadPostsAPI.kt b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt similarity index 95% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/ReadPostsAPI.kt rename to core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt index 250d08b1..1ff1e7ca 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/ReadPostsAPI.kt +++ b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/ReadPostsAPI.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.postssystem.core.api +package com.insanusmokrassar.postssystem.core.post.api import com.insanusmokrassar.postssystem.core.content.ContentId import com.insanusmokrassar.postssystem.core.post.* diff --git a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/WritePostsAPI.kt b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt similarity index 89% rename from core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/WritePostsAPI.kt rename to core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt index c4980197..992f79fd 100644 --- a/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/api/WritePostsAPI.kt +++ b/core/src/main/kotlin/com/insanusmokrassar/postssystem/core/post/api/WritePostsAPI.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.postssystem.core.api +package com.insanusmokrassar.postssystem.core.post.api import com.insanusmokrassar.postssystem.core.post.* import com.insanusmokrassar.postssystem.core.post.* diff --git a/core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt b/core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt index a6c7baac..00d18702 100644 --- a/core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt +++ b/core/src/test/kotlin/com/insanusmokrassar/postssystem/core/api/InMemoryPostsAPI.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.postssystem.core.api +package com.insanusmokrassar.postssystem.core.post.api import com.insanusmokrassar.postssystem.core.content.ContentId import com.insanusmokrassar.postssystem.core.content.RegisteredContent