Skip to content

Commit 658c73a

Browse files
authored
Merge pull request #205 from elimu-ai/convert_upload_service_to_kotlin
Convert Upload service classes to Kotlin
2 parents 281b93f + d6575f5 commit 658c73a

15 files changed

+138
-371
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package ai.elimu.analytics.entity
2+
3+
import ai.elimu.analytics.rest.LetterAssessmentEventService
4+
import ai.elimu.analytics.rest.LetterLearningEventService
5+
import ai.elimu.analytics.rest.LetterSoundLearningEventService
6+
import ai.elimu.analytics.rest.StoryBookLearningEventService
7+
import ai.elimu.analytics.rest.UploadService
8+
import ai.elimu.analytics.rest.WordAssessmentEventService
9+
import ai.elimu.analytics.rest.WordLearningEventService
10+
11+
enum class LearningEventUploadType(val type: String) {
12+
LETTER_LEARNING("letter-learning-events"),
13+
LETTER_ASSESSMENT("letter-assessment-events"),
14+
LETTER_SOUND_LEARNING("letter-sound-learning-events"),
15+
STORY_BOOK_LEARNING("storybook-learning-events"),
16+
WORD_ASSESSMENT("word-assessment-events"),
17+
WORD_LEARNING("word-learning-events")
18+
}
19+
20+
fun LearningEventUploadType.toServiceClass(): Class<out UploadService> {
21+
return when (this) {
22+
LearningEventUploadType.LETTER_LEARNING -> LetterLearningEventService::class.java
23+
LearningEventUploadType.LETTER_ASSESSMENT -> LetterAssessmentEventService::class.java
24+
LearningEventUploadType.LETTER_SOUND_LEARNING -> LetterSoundLearningEventService::class.java
25+
LearningEventUploadType.STORY_BOOK_LEARNING -> StoryBookLearningEventService::class.java
26+
LearningEventUploadType.WORD_ASSESSMENT -> WordAssessmentEventService::class.java
27+
LearningEventUploadType.WORD_LEARNING -> WordLearningEventService::class.java
28+
}
29+
}

app/src/main/java/ai/elimu/analytics/rest/LetterAssessmentEventService.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Multipart
7+
import retrofit2.http.POST
8+
import retrofit2.http.Part
9+
10+
interface LetterAssessmentEventService: UploadService {
11+
@Multipart
12+
@POST("analytics/letter-assessment-events/csv")
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
14+
}

app/src/main/java/ai/elimu/analytics/rest/LetterLearningEventService.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Multipart
7+
import retrofit2.http.POST
8+
import retrofit2.http.Part
9+
10+
interface LetterLearningEventService: UploadService {
11+
@Multipart
12+
@POST("analytics/letter-learning-events/csv")
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
14+
}

app/src/main/java/ai/elimu/analytics/rest/LetterSoundLearningEventService.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Multipart
7+
import retrofit2.http.POST
8+
import retrofit2.http.Part
9+
10+
interface LetterSoundLearningEventService: UploadService {
11+
@Multipart
12+
@POST("analytics/letter-sound-learning-events/csv")
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
14+
}

app/src/main/java/ai/elimu/analytics/rest/StoryBookLearningEventService.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Multipart
7+
import retrofit2.http.POST
8+
import retrofit2.http.Part
9+
10+
interface StoryBookLearningEventService: UploadService {
11+
@Multipart
12+
@POST("analytics/storybook-learning-events/csv")
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
14+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Part
7+
8+
interface UploadService {
9+
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
10+
}

app/src/main/java/ai/elimu/analytics/rest/WordAssessmentEventService.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Multipart
7+
import retrofit2.http.POST
8+
import retrofit2.http.Part
9+
10+
interface WordAssessmentEventService: UploadService {
11+
@Multipart
12+
@POST("analytics/word-assessment-events/csv")
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
14+
}

app/src/main/java/ai/elimu/analytics/rest/WordLearningEventService.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.elimu.analytics.rest
2+
3+
import okhttp3.MultipartBody
4+
import okhttp3.ResponseBody
5+
import retrofit2.Call
6+
import retrofit2.http.Multipart
7+
import retrofit2.http.POST
8+
import retrofit2.http.Part
9+
10+
interface WordLearningEventService: UploadService {
11+
@Multipart
12+
@POST("analytics/word-learning-events/csv")
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
14+
}

0 commit comments

Comments
 (0)