Skip to content

Commit 1079739

Browse files
authored
Remove duplicate upload service code
1 parent 996f4e6 commit 1079739

9 files changed

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

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import retrofit2.http.Multipart
77
import retrofit2.http.POST
88
import retrofit2.http.Part
99

10-
interface LetterAssessmentEventService {
10+
interface LetterAssessmentEventService: UploadService {
1111
@Multipart
1212
@POST("analytics/letter-assessment-events/csv")
13-
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
1414
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import retrofit2.http.Multipart
77
import retrofit2.http.POST
88
import retrofit2.http.Part
99

10-
interface LetterLearningEventService {
10+
interface LetterLearningEventService: UploadService {
1111
@Multipart
1212
@POST("analytics/letter-learning-events/csv")
13-
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
1414
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import retrofit2.http.Multipart
77
import retrofit2.http.POST
88
import retrofit2.http.Part
99

10-
interface LetterSoundLearningEventService {
10+
interface LetterSoundLearningEventService: UploadService {
1111
@Multipart
1212
@POST("analytics/letter-sound-learning-events/csv")
13-
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
1414
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import retrofit2.http.Multipart
77
import retrofit2.http.POST
88
import retrofit2.http.Part
99

10-
interface StoryBookLearningEventService {
10+
interface StoryBookLearningEventService: UploadService {
1111
@Multipart
1212
@POST("analytics/storybook-learning-events/csv")
13-
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
1414
}
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.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import retrofit2.http.Multipart
77
import retrofit2.http.POST
88
import retrofit2.http.Part
99

10-
interface WordAssessmentEventService {
10+
interface WordAssessmentEventService: UploadService {
1111
@Multipart
1212
@POST("analytics/word-assessment-events/csv")
13-
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
1414
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import retrofit2.http.Multipart
77
import retrofit2.http.POST
88
import retrofit2.http.Part
99

10-
interface WordLearningEventService {
10+
interface WordLearningEventService: UploadService {
1111
@Multipart
1212
@POST("analytics/word-learning-events/csv")
13-
fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
13+
override fun uploadCsvFile(@Part part: MultipartBody.Part?): Call<ResponseBody?>
1414
}

0 commit comments

Comments
 (0)