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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
/local.properties
/build/
/.gradle/
*.log
*.log
build/
98 changes: 55 additions & 43 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,60 +1,72 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.util.Properties


plugins {
kotlin("jvm") version "1.8.0"
kotlin("plugin.serialization") version "1.8.0"
kotlin("jvm") version "1.8.0" apply false
kotlin("plugin.serialization") version "1.8.0" apply false
}



group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
allprojects {
repositories {
mavenCentral()
}
}

subprojects {
apply {
plugin("org.jetbrains.kotlin.jvm")
plugin("org.jetbrains.kotlin.plugin.serialization")
}

group = "org.example"
version = "1.0-SNAPSHOT"

tasks.test {
val props = Properties()
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}

tasks.getByName("test",Test::class) {
val props = Properties()
//
try {
props.load(file("local.properties").inputStream())
systemProperties("multim_misskey_token" to props["multim_misskey_token"])
systemProperties("multim_misskey_instance" to props["multim_misskey_instance"])

} catch (e: Exception) {
e.printStackTrace()
systemProperties("multim_misskey_token" to System.getenv("multim_misskey_token"))
systemProperties("multim_misskey_instance" to System.getenv("multim_misskey_instance"))
try {
props.load(file("${project.rootProject.projectDir}/local.properties").inputStream())
systemProperties("multim_misskey_token" to props["multim_misskey_token"])
systemProperties("multim_misskey_instance" to props["multim_misskey_instance"])

} catch (e: Exception) {
e.printStackTrace()
systemProperties("multim_misskey_token" to System.getenv("multim_misskey_token"))
systemProperties("multim_misskey_instance" to System.getenv("multim_misskey_instance"))
}

useJUnitPlatform()
}

useJUnitPlatform()
}
val ktor_version = "2.2.2"
dependencies {
"implementation"("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1")
"implementation"("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
"implementation"("io.ktor:ktor-client-core:$ktor_version")
"implementation"("io.ktor:ktor-client-cio:$ktor_version")
"implementation"("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
"implementation"("io.ktor:ktor-client-content-negotiation:$ktor_version")
"implementation"("io.ktor:ktor-client-logging:$ktor_version")
"implementation"("io.ktor:ktor-client-websockets:$ktor_version")
"implementation"("io.ktor:ktor-serialization-kotlinx-json:$ktor_version")

tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}

val ktor_version = "2.2.2"
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
implementation("io.ktor:ktor-client-core:$ktor_version")
implementation("io.ktor:ktor-client-cio:$ktor_version")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
implementation("io.ktor:ktor-client-content-negotiation:$ktor_version")
implementation("io.ktor:ktor-client-logging:$ktor_version")
implementation("io.ktor:ktor-client-websockets:$ktor_version")
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version")


testImplementation("org.junit.jupiter:junit-jupiter-api:5.9.0")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.9.0")
testImplementation("org.assertj:assertj-core:3.2.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.9.0")
testImplementation("io.ktor:ktor-client-mock:$ktor_version")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4")
testImplementation("org.slf4j:slf4j-simple:2.0.4")
testImplementation("io.github.artsok:rerunner-jupiter:2.1.6")
"testImplementation"("org.junit.jupiter:junit-jupiter-api:5.9.0")
"testImplementation"("org.junit.jupiter:junit-jupiter-params:5.9.0")
"testImplementation"("org.assertj:assertj-core:3.2.0")
"testRuntimeOnly"("org.junit.jupiter:junit-jupiter-engine:5.9.0")
"testImplementation"("io.ktor:ktor-client-mock:$ktor_version")
"testImplementation"("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4")
"testImplementation"("org.slf4j:slf4j-simple:2.0.4")
"testImplementation"("io.github.artsok:rerunner-jupiter:2.1.6")
}

}
Empty file added core/build.gradle.kts
Empty file.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.usbharu.multim.api.factory
package dev.usbharu.multim.factory

import dev.usbharu.multim.api.common.AccountApi
import dev.usbharu.multim.api.common.StatusApi

abstract class MultiMApis(
var statusApi: StatusApi,
var accountApi: AccountApi
)
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.api.factory
package dev.usbharu.multim.factory

import dev.usbharu.multim.api.common.PlatformApis
import dev.usbharu.multim.model.nodeinfo.NodeInfo
Expand All @@ -12,4 +12,4 @@ interface PlatformApiFactory {
baseUrl: String,
build: MultiMApis.(PlatformApis) -> Unit = {}
): MultiMApis
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
package dev.usbharu.multim.api.common

import dev.usbharu.multim.model.misskey.v12.components.Note
import dev.usbharu.multim.model.misskey.v12.components.UserLite
import io.ktor.client.*
import io.ktor.client.engine.mock.*
import io.ktor.client.plugins.contentnegotiation.*
import io.ktor.client.request.*
import io.ktor.http.*
import io.ktor.serialization.kotlinx.json.*
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonObject
import org.assertj.core.api.Fail.fail
Expand Down Expand Up @@ -50,20 +47,7 @@ object TestUtil {
}
}

fun createFakeNote(id: String, userId: String, username: String, text: String?): Note {
return Note(
id = id,
userId = userId,
user = UserLite(id = userId, name = username, username = username),
text = text
)
}

fun createFakeNoteToString(id: String, userId: String, username: String, text: String?): String {
return json.encodeToString(createFakeNote(id, userId, username, text))
}

fun checkAuth(
fun checkAuth(
respond: String,
status: HttpStatusCode = HttpStatusCode.OK,
headers: Headers = headersOf()
Expand Down
3 changes: 3 additions & 0 deletions impl/misskey/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dependencies {
implementation(project(":core"))
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package dev.usbharu.multim.api.factory.impl
package dev.usbharu.multim.misskey.factory

import dev.usbharu.multim.api.common.PlatformApis
import dev.usbharu.multim.api.common.impl.misskey.MisskeyAccountApi
import dev.usbharu.multim.api.common.impl.misskey.MisskeyApis
import dev.usbharu.multim.api.common.impl.misskey.MisskeyStatusApi
import dev.usbharu.multim.api.factory.MultiMApis
import dev.usbharu.multim.api.factory.PlatformApiFactory
import dev.usbharu.multim.api.misskey.v12.MisskeyApiClient
import dev.usbharu.multim.factory.MultiMApis
import dev.usbharu.multim.factory.PlatformApiFactory
import dev.usbharu.multim.misskey.v12.api.MisskeyApis
import dev.usbharu.multim.misskey.v12.common.api.MisskeyAccountApi
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import dev.usbharu.multim.misskey.v12.common.api.MisskeyStatusApi
import dev.usbharu.multim.model.nodeinfo.NodeInfo
import io.ktor.client.*

Expand Down Expand Up @@ -42,4 +42,4 @@ open class DefaultPlatformApiFactory : PlatformApiFactory {
}
TODO()
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package dev.usbharu.multim.misskey.factory

import dev.usbharu.multim.factory.MultiMApis
import dev.usbharu.multim.misskey.v12.common.api.MisskeyAccountApi
import dev.usbharu.multim.misskey.v12.common.api.MisskeyStatusApi

class MisskeyMultiMApis(statusApi: MisskeyStatusApi, accountApi: MisskeyAccountApi) :
MultiMApis(statusApi, accountApi)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import dev.usbharu.multim.misskey.v12.model.ApShowRequest
import dev.usbharu.multim.misskey.v12.model.ApShowResponse

class Ap(val client: MisskeyApiClient) {
suspend fun show(apShowRequest: ApShowRequest): ApShowResponse {
return client.post(apShowRequest, "api/ap/show")
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dev.usbharu.multim.api.misskey.v12
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.model.misskey.v12.*
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import dev.usbharu.multim.misskey.v12.model.*

class Following(val client: MisskeyApiClient) {
suspend fun create(followingCreateRequest: FollowingCreateRequest): FollowingCreateResponse {
Expand Down Expand Up @@ -41,4 +42,4 @@ class Following(val client: MisskeyApiClient) {
)
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package dev.usbharu.multim.api.misskey.v12
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.model.misskey.v12.MiauthCheckRequest
import dev.usbharu.multim.model.misskey.v12.MiauthCheckResponse
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import dev.usbharu.multim.misskey.v12.model.MiauthCheckRequest
import dev.usbharu.multim.misskey.v12.model.MiauthCheckResponse
import io.ktor.client.statement.*
import java.util.*

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package dev.usbharu.multim.api.common.impl.misskey
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.api.common.PlatformApis
import dev.usbharu.multim.api.misskey.v12.*
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient

class MisskeyApis(misskeyApiClient: MisskeyApiClient) : PlatformApis(misskeyApiClient) {
val notes = Notes(misskeyApiClient)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dev.usbharu.multim.api.misskey.v12
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.model.misskey.v12.*
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import dev.usbharu.multim.misskey.v12.model.*

class Notes(val client: MisskeyApiClient) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dev.usbharu.multim.api.misskey.v12
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.api.misskey.v12.Miauth.Companion.baseUrl
import dev.usbharu.multim.misskey.v12.api.Miauth.Companion.baseUrl
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import io.ktor.client.plugins.websocket.*
import io.ktor.websocket.*
import kotlinx.coroutines.async
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dev.usbharu.multim.api.misskey.v12
package dev.usbharu.multim.misskey.v12.api

import dev.usbharu.multim.model.misskey.v12.*
import dev.usbharu.multim.misskey.v12.common.api.MisskeyApiClient
import dev.usbharu.multim.misskey.v12.model.*

class Users(val client: MisskeyApiClient) {
suspend fun relation(relationRequest: UsersRelationRequest): UsersRelationResponse {
Expand All @@ -14,4 +15,4 @@ class Users(val client: MisskeyApiClient) {
suspend fun show(showRequest: UsersShowRequest): UsersShowResponse {
return client.post(showRequest, "api/users/show")
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.Account
import dev.usbharu.multim.model.common.Avatar
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.Avatar

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.StatusContent

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.Account
import dev.usbharu.multim.model.common.Field
Expand All @@ -12,4 +12,4 @@ class MisskeyProfile(
followingCount: Int = 0,
followersCount: Int = 0,
fields: List<Field> = emptyList()
) : Profile(account, isBot, profileContent, followingCount, followersCount, fields)
) : Profile(account, isBot, profileContent, followingCount, followersCount, fields)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.ProfileContent

class MisskeyProfileContent(text: String) : ProfileContent(text)
class MisskeyProfileContent(text: String) : ProfileContent(text)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.Reaction

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.Relation

Expand All @@ -9,4 +9,4 @@ class MisskeyRelation(
follower: Boolean,
mute: Boolean,
block: Boolean
) : Relation(myself, other, following, follower, mute, block)
) : Relation(myself, other, following, follower, mute, block)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.*

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.usbharu.multim.model.common.impl.misskey
package dev.usbharu.multim.misskey.v12.common

import dev.usbharu.multim.model.common.StatusId

Expand Down
Loading