Skip to content
This repository was archived by the owner on Apr 9, 2024. It is now read-only.

Commit f1f42d4

Browse files
committed
Added new cosmetic endpoints
1 parent b7b5ef1 commit f1f42d4

File tree

7 files changed

+73
-4
lines changed

7 files changed

+73
-4
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.thoo.api;
2+
3+
public class Test {
4+
}

src/main/kotlin/com/thoo/api/endpoints/CosmeticEndpoints.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.thoo.api.endpoints
22

33
import com.thoo.api.enums.Language
4+
import com.thoo.api.models.CosmeticSearchProperties
45
import com.thoo.api.services.CosmeticService
56
import com.thoo.api.utils.send
67
import retrofit2.Retrofit
@@ -15,4 +16,19 @@ class CosmeticEndpoints(
1516
@JvmOverloads fun getCosmetics(language: Language = this.language) =
1617
service.getCosmetics(language.code).send()
1718

19+
@JvmOverloads fun getNewCosmetics(language: Language = this.language) =
20+
service.getNewCosmetics(language.code).send()
21+
22+
@JvmOverloads
23+
fun searchCosmetic(language: Language = this.language, propertiesReceiver: CosmeticSearchProperties.() -> Unit) {
24+
val properties = CosmeticSearchProperties()
25+
propertiesReceiver.invoke(properties)
26+
val clazz = properties.javaClass
27+
clazz.declaredFields.forEach {
28+
it.isAccessible = true
29+
val value = it.get(properties) ?: return@forEach
30+
println(it.name + " : " + value)
31+
}
32+
}
33+
1834
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.thoo.api.enums
2+
3+
enum class MatchMethod(val code: String) {
4+
5+
FULL("full"),
6+
CONTAINS("contains"),
7+
STARTS("starts"),
8+
ENDS("ends")
9+
10+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.thoo.api.models
2+
3+
@Suppress("unused")
4+
class CosmeticSearchProperties {
5+
6+
@JvmField var id: String? = null
7+
@JvmField var name: String? = null
8+
@JvmField var description: String? = null
9+
@JvmField var type: String? = null
10+
@JvmField var displayType: String? = null
11+
@JvmField var backendType: String? = null
12+
@JvmField var hasSeries: Boolean? = null
13+
@JvmField var series: String? = null
14+
@JvmField var backendSeries: String? = null
15+
@JvmField var hasSet: Boolean? = null
16+
@JvmField var set: String? = null
17+
@JvmField var setText: String? = null
18+
@JvmField var backendSet: String? = null
19+
@JvmField var hasIntroduction: Boolean? = null
20+
@JvmField var introductionSeason: String? = null
21+
@JvmField var introductionChapter: String? = null
22+
@JvmField var hasFeaturedImage: Boolean? = null
23+
@JvmField var hasVariants: Boolean? = null
24+
@JvmField var hasGameplayTags: Boolean? = null
25+
@JvmField var gameplayTag: String? = null
26+
@JvmField var added: Long? = null
27+
@JvmField var addedSince: Long? = null
28+
@JvmField var unseenFor: Int? = null
29+
@JvmField var lastAppearance: Long? = null
30+
31+
}

src/main/kotlin/com/thoo/api/services/CosmeticService.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,9 @@ interface CosmeticService: EndpointService {
1212
@Query("language") language: String
1313
): FCall<List<Cosmetic>>
1414

15+
@GET("/v2/cosmetics/br/new")
16+
fun getNewCosmetics(
17+
@Query("language") language: String
18+
): FCall<List<Cosmetic>>
19+
1520
}

src/test/java/TestJava.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import com.thoo.api.FortniteAPI;
2-
3-
import java.io.File;
2+
import kotlin.Unit;
43

54
public final class TestJava {
65

76
public static void main(String[] args) {
87
FortniteAPI api = FortniteAPI.create();
8+
api.cosmetic.searchCosmetic(cosmetic -> {
9+
cosmetic.name = "Test";
10+
return Unit.INSTANCE;
11+
});
912
}
1013

1114
}

src/test/kotlin/TestKotlin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ object TestKotlin {
88
val api = FortniteAPI.create(
99
language = Language.DE
1010
)
11-
api.cosmetic.getCosmetics().data.forEach {
12-
println(it.name)
11+
api.cosmetic.searchCosmetic {
12+
name = "Test"
1313
}
1414
}
1515

0 commit comments

Comments
 (0)