File tree 13 files changed +145
-2
lines changed
src/main/kotlin/cloud/keyforge/keyforge/common
13 files changed +145
-2
lines changed Original file line number Diff line number Diff line change @@ -6,14 +6,19 @@ plugins {
6
6
id(" keyforge.kotlin-library-conventions" )
7
7
id(" com.github.johnrengelman.shadow" ) version " 8.1.1"
8
8
id(" maven-publish" )
9
+
10
+ kotlin(" plugin.serialization" ) version " 2.0.0"
9
11
}
10
12
11
13
group = " cloud.keyforge"
12
- version = " 0.0.2 "
14
+ version = " 0.0.3 "
13
15
14
16
dependencies {
15
17
implementation(" org.apache.commons:commons-text" )
16
- implementation(project(" :common" ))
18
+ // implementation(project(":common"))
19
+
20
+ api(" org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3" )
21
+ api(" com.google.code.gson:gson:2.11.0" )
17
22
}
18
23
19
24
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common
2
+
3
+ object Constants {
4
+ const val KEYFORGE_API_URL = " https://api.keyforge.cloud/v0/"
5
+ }
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common
2
+
3
+ abstract class KeyforgeClient {
4
+ var accountToken: String? = null
5
+ var apiId: String? = null
6
+ }
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ @Serializable
6
+ data class ApiErrorResponse (
7
+ val error : Error
8
+ )
9
+
10
+ @Serializable
11
+ data class Error (
12
+ val statusCode : Int ,
13
+ val name : String ,
14
+ val message : String
15
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ @Serializable
6
+ data class CreateAPIRequestBody (
7
+ val name : String
8
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types
2
+
3
+ import kotlinx.serialization.Serializable
4
+ import kotlinx.serialization.json.JsonObject
5
+
6
+ @Serializable
7
+ data class CreateKeyResponse (
8
+ val keyId : String ,
9
+ val token : String
10
+ )
11
+
12
+ @Serializable
13
+ data class CreateKeyRequestBody (
14
+ val ownerId : String? ,
15
+ val name : String? ,
16
+ val permissions : List <String >? ,
17
+ val metadata : JsonObject ?
18
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types
2
+
3
+ import kotlinx.serialization.Serializable
4
+ import kotlinx.serialization.json.JsonObject
5
+
6
+ @Serializable
7
+ data class Key (
8
+ val id : String ,
9
+ val name : String ,
10
+ val enabled : Boolean ,
11
+ val ownerId : String ,
12
+ val apiOwnerId : String ,
13
+ val apiId : String ,
14
+ val permissions : List <String >,
15
+ val metadata : JsonObject ,
16
+ val lastUsed : String? ,
17
+ val createdAt : String
18
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types.requests
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ @Serializable
6
+ data class CreateAPIRequestBody (
7
+ val name : String
8
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types.requests
2
+
3
+ import kotlinx.serialization.json.JsonObject
4
+
5
+ data class CreateKeyRequestBody (
6
+ val name : String? = null ,
7
+ val ownerId : String? = null ,
8
+ val permissions : List <String >? = null ,
9
+ val metadata : Any? = null ,
10
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types.requests
2
+
3
+ data class VerifyKeyRequestBody (
4
+ val apiId : String ,
5
+ val token : String
6
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types.responses
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ @Serializable
6
+ data class API (
7
+ val id : String ,
8
+ val ownerId : String ,
9
+ val name : String ,
10
+ val createdAt : String
11
+ )
12
+
13
+ @Serializable
14
+ data class MessageResponse (
15
+ val message : String
16
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types.responses
2
+
3
+ import kotlinx.serialization.Serializable
4
+ import kotlinx.serialization.json.JsonObject
5
+
6
+ @Serializable
7
+ data class VerifiedKeyResponse (
8
+ val valid : Boolean ,
9
+ val keyId : String ,
10
+ val ownerId : String ,
11
+ val permissions : List <String >,
12
+ val metadata : JsonObject
13
+ )
Original file line number Diff line number Diff line change
1
+ package cloud.keyforge.common.types.responses
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ @Serializable
6
+ data class PaginatedResult <T >(
7
+ val pagination : Pagination ,
8
+ val results : List <T >
9
+ )
10
+
11
+ @Serializable
12
+ data class Pagination (
13
+ val page : Int ,
14
+ val pageSize : Int
15
+ )
You can’t perform that action at this time.
0 commit comments