start fill server part
This commit is contained in:
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
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>
|
||||
|
Reference in New Issue
Block a user