start fill server part

This commit is contained in:
2019-10-17 17:35:48 +06:00
parent 631cfe9c28
commit 0178229175
12 changed files with 183 additions and 12 deletions
ClientPart/src/main/kotlin/com/insanusmokrassar/postssystem/core/client
ClientServerCommon/src/main/kotlin/com/insanusmokrassar/postssystem/core/clientserver/common
Core/src/main/kotlin/com/insanusmokrassar/postssystem/core
ServerPart
build.gradlegradle.propertiessettings.gradle
src
main
kotlin
com
insanusmokrassar
postssystem
settings.gradle

@ -1,10 +1,10 @@
package com.insanusmokrassar.postssystem.core.client
import com.insanusmokrassar.postssystem.core.api.ReadPostsAPI
import com.insanusmokrassar.postssystem.core.clientserver.common.models.DateTimeRequest
import com.insanusmokrassar.postssystem.core.clientserver.common.*
import com.insanusmokrassar.postssystem.core.content.ContentId
import com.insanusmokrassar.postssystem.core.post.Post
import com.insanusmokrassar.postssystem.core.post.PostId
import com.insanusmokrassar.postssystem.core.post.*
import com.insanusmokrassar.postssystem.core.utils.pagination.Pagination
import com.insanusmokrassar.postssystem.core.utils.pagination.PaginationResult
import io.ktor.client.HttpClient
@ -13,7 +13,7 @@ import org.joda.time.DateTime
class ReadableHttpPostsAPI(
private val client: HttpClient = HttpClient(),
private val baseAddress: String
baseAddress: String
) : ReadPostsAPI {
private val postByIdAddress = "$baseAddress/$getPostByIdAddress"
private val postsByContentIdAddress = "$baseAddress/$getPostsByContentIdAddress"
@ -21,18 +21,29 @@ class ReadableHttpPostsAPI(
private val postsByPaginationAddress = "$baseAddress/$getPostsByPaginationAddress"
override suspend fun getPostById(id: PostId): Post? {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return client.post<SimplePost>(postByIdAddress) {
body = id
}
}
override suspend fun getPostsByContent(id: ContentId): List<Post> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return client.post<List<SimplePost>>(postsByContentIdAddress) {
body = id
}
}
override suspend fun getPostsByDates(from: DateTime?, to: DateTime?): List<Post> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
return client.post<List<SimplePost>>(postsByDatesAddress) {
body = DateTimeRequest(
from ?.millis,
to ?.millis
)
}
}
override suspend fun getPostsByPagination(pagination: Pagination): PaginationResult<Post> {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
override suspend fun getPostsByPagination(pagination: Pagination): PaginationResult<out Post> {
return client.post<PaginationResult<SimplePost>>(postsByPaginationAddress) {
body = pagination
}
}
}

@ -4,7 +4,9 @@ import com.insanusmokrassar.postssystem.core.api.WritePostsAPI
import com.insanusmokrassar.postssystem.core.post.*
import kotlinx.coroutines.flow.Flow
class WritableHttpPostsAPI : WritePostsAPI {
class WritableHttpPostsAPI(
) : WritePostsAPI {
override val postCreatedFlow: Flow<Post>
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
override val postDeletedFlow: Flow<Post>