Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions core/src/main/kotlin/dev/usbharu/multim/api/AccountApi.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package dev.usbharu.multim.api

import com.github.michaelbull.result.Err
import com.github.michaelbull.result.Result
import dev.usbharu.multim.error.ErrorType
import dev.usbharu.multim.error.MultiMError
import dev.usbharu.multim.model.*

Expand All @@ -22,3 +24,51 @@ interface AccountApi {
suspend fun requestAccept(account: Account): Result<Unit,MultiMError>
suspend fun requestReject(account: Account): Result<Unit,MultiMError>
}

object NotImplAccountApi : AccountApi {
override suspend fun userTimeline(
account: Account,
since: StatusId?,
until: StatusId?
): Result<List<Status>, MultiMError> {
return Err(MultiMError("userTimeline not implements", null, ErrorType.NOT_IMPL))
}

override suspend fun follow(account: Account): Result<Unit, MultiMError> {
return Err(MultiMError("follow not implements", null, ErrorType.NOT_IMPL))
}

override suspend fun unfollow(account: Account): Result<Unit, MultiMError> {
return Err(MultiMError("unfollow not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun profile(account: Account): Result<Profile, MultiMError> {
return Err(MultiMError("profile not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun statuses(
account: Account,
includeRepost: Boolean
): Result<List<Status>, MultiMError> {
return Err(MultiMError("statuses not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun relationships(
myself: Account,
other: Account
): Result<Relation, MultiMError> {
return Err(MultiMError("relationships not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun requestCancel(account: Account): Result<Unit, MultiMError> {
return Err(MultiMError("requestCancel not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun requestAccept(account: Account): Result<Unit, MultiMError> {
return Err(MultiMError("requestAccept not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun requestReject(account: Account): Result<Unit, MultiMError> {
return Err(MultiMError("requestReject not implements",null,ErrorType.NOT_IMPL))
}
}
13 changes: 13 additions & 0 deletions core/src/main/kotlin/dev/usbharu/multim/api/EmojiApi.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package dev.usbharu.multim.api

import com.github.michaelbull.result.Err
import dev.usbharu.multim.error.ErrorType
import dev.usbharu.multim.error.MultiMError
import dev.usbharu.multim.error.MultiMResult
import dev.usbharu.multim.model.Emoji

Expand All @@ -8,3 +11,13 @@ interface EmojiApi {

suspend fun findByName(name:String):MultiMResult<List<Emoji>>
}

object NotImplEmojiApi : EmojiApi {
override suspend fun get(name: String): MultiMResult<Emoji> {
return Err(MultiMError("emoji get not implements",null, ErrorType.NOT_IMPL))
}

override suspend fun findByName(name: String): MultiMResult<List<Emoji>> {
return Err(MultiMError("emoji findByName not implements",null,ErrorType.NOT_IMPL))
}
}
60 changes: 60 additions & 0 deletions core/src/main/kotlin/dev/usbharu/multim/api/StatusApi.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package dev.usbharu.multim.api

import com.github.michaelbull.result.Err
import com.github.michaelbull.result.Result
import dev.usbharu.multim.error.ErrorType
import dev.usbharu.multim.error.MultiMError
import dev.usbharu.multim.model.*

Expand Down Expand Up @@ -28,3 +30,61 @@ interface StatusApi {
suspend fun removeFromBookmarks(id: StatusId): Result<Unit,MultiMError>
suspend fun getPreviousAndNext(id: StatusId): Result<PreviousAndNextPosts,MultiMError>
}


object NotImplStatusApi : StatusApi {
override suspend fun post(status: StatusForPost): Result<Status, MultiMError> {
return Err(MultiMError("post not implements",null, ErrorType.NOT_IMPL))
}

override suspend fun delete(id: StatusId): Result<Unit, MultiMError> {
return Err(MultiMError("delete not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun findById(id: StatusId): Result<Status, MultiMError> {
return Err(MultiMError("findById not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun addReaction(id: StatusId, reaction: Reaction): Result<Unit, MultiMError> {
return Err(MultiMError("addReaction not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun removeReaction(
id: StatusId,
reaction: Reaction?
): Result<Unit, MultiMError> {
return Err(MultiMError("removeReaction not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun reactions(id: StatusId): Result<Map<Reaction, Int>, MultiMError> {
return Err(MultiMError("reactions not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun replies(id: StatusId): Result<List<Status>, MultiMError> {
return Err(MultiMError("replies not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun repost(id: StatusId): Result<Status, MultiMError> {
return Err(MultiMError("repost not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun unRepost(id: StatusId): Result<Unit, MultiMError> {
return Err(MultiMError("unRepost not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun replyTo(id: StatusId, status: StatusForPost): Result<Status, MultiMError> {
return Err(MultiMError("replyTo not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun addToBookmarks(id: StatusId): Result<Unit, MultiMError> {
return Err(MultiMError("addToBookmarks not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun removeFromBookmarks(id: StatusId): Result<Unit, MultiMError> {
return Err(MultiMError("removeFromBookmarks not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun getPreviousAndNext(id: StatusId): Result<PreviousAndNextPosts, MultiMError> {
return Err(MultiMError("getPreviousAndNext not implements",null,ErrorType.NOT_IMPL))
}
}
23 changes: 23 additions & 0 deletions core/src/main/kotlin/dev/usbharu/multim/api/TimelineApi.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package dev.usbharu.multim.api

import com.github.michaelbull.result.Err
import com.github.michaelbull.result.Result
import dev.usbharu.multim.error.ErrorType
import dev.usbharu.multim.error.MultiMError
import dev.usbharu.multim.model.Status
import dev.usbharu.multim.model.Timeline
Expand All @@ -24,3 +26,24 @@ interface TimelineApi {


}

object NotImplTimelineApi : TimelineApi {
override suspend fun availableTimelines(): Result<List<Timeline>, MultiMError> {
return Err(MultiMError("availableTimelines not implements",null, ErrorType.NOT_IMPL))
}

override suspend fun listen(
timeline: Timeline,
callback: (List<Status>) -> Unit
): Result<Unit, MultiMError> {
return Err(MultiMError("timeline listen not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun connect(timeline: Timeline): Result<Unit, MultiMError> {
return Err(MultiMError("timeline connect not implements",null,ErrorType.NOT_IMPL))
}

override suspend fun disconnect(timeline: Timeline, force: Boolean): Result<Unit, MultiMError> {
return Err(MultiMError("timeline disconnect not implements",null,ErrorType.NOT_IMPL))
}
}