Skip to content

Commit 24c9959

Browse files
authored
Merge pull request #51 from Stack-Knowledge/feature/50-user-domain-network-setting
🔀 :: (#50) - user domain network setting
2 parents 3c21006 + 33d960c commit 24c9959

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+408
-33
lines changed

build-logic/convention/src/main/java/com/convention/AndroidHiltConventionPlugin.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ class AndroidHiltConventionPlugin : Plugin<Project> {
1111
override fun apply(target: Project) {
1212
with(target) {
1313
with(pluginManager) {
14+
apply("com.google.devtools.ksp")
1415
apply("dagger.hilt.android.plugin")
15-
apply("org.jetbrains.kotlin.kapt")
1616
}
1717

1818
dependencies {
1919
add("implementation", (libs.findLibrary("hilt.android").get()))
20-
add("kapt", (libs.findLibrary("hilt.compiler").get()))
21-
add("kaptAndroidTest", (libs.findLibrary("hilt.compiler").get()))
22-
add("kaptTest", (libs.findLibrary("hilt.compiler").get()))
20+
add("ksp", (libs.findLibrary("hilt.compiler").get()))
21+
add("kspAndroidTest", (libs.findLibrary("hilt.compiler").get()))
22+
add("kspTest", (libs.findLibrary("hilt.compiler").get()))
2323
}
2424
}
2525
}

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
// Top-level build file where you can add configuration options common to all sub-projects/modules.
1+
@file:Suppress("DSL_SCOPE_VIOLATION")
22
buildscript {
33
repositories {
44
google()
55
mavenCentral()
66
}
7-
87
}
98

109
plugins {
@@ -14,4 +13,5 @@ plugins {
1413
alias(libs.plugins.hilt) apply false
1514
alias(libs.plugins.android.library) apply false
1615
alias(libs.plugins.org.jetbrains.kotlin.android) apply false
16+
alias(libs.plugins.ksp) apply false
1717
}

core/data/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ dependencies {
1515

1616
implementation(libs.kotlinx.datetime)
1717
implementation(libs.kotlinx.serialization.json)
18+
implementation(libs.retrofit.moshi.converter)
1819
}

core/data/src/main/kotlin/com/stackknowledge/.gitkeep

Whitespace-only changes.

core/data/src/main/kotlin/com/stackknowledge/di/RepositoryModule.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.stackknowledge.di
22

3-
import com.stackknowledge.repository.StudentRepository
4-
import com.stackknowledge.repository.StudentRepositoryImpl
3+
import com.stackknowledge.repository.student.StudentRepository
4+
import com.stackknowledge.repository.student.StudentRepositoryImpl
55
import dagger.Binds
66
import dagger.Module
77
import dagger.hilt.InstallIn

core/data/src/main/kotlin/com/stackknowledge/repository/StudentRepository.kt renamed to core/data/src/main/kotlin/com/stackknowledge/repository/student/StudentRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.stackknowledge.repository
1+
package com.stackknowledge.repository.student
22

33
import kotlinx.coroutines.flow.Flow
44
import remote.request.student.UploadProfileImageRequest

core/data/src/main/kotlin/com/stackknowledge/repository/StudentRepositoryImpl.kt renamed to core/data/src/main/kotlin/com/stackknowledge/repository/student/StudentRepositoryImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.stackknowledge.repository
1+
package com.stackknowledge.repository.student
22

33
import com.stackknowledge.datasource.student.StudentDataSource
44
import kotlinx.coroutines.flow.Flow
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.stackknowledge.repository.user
2+
3+
import com.stackknowledge.dto.request.user.ApproveRequest
4+
import com.stackknowledge.dto.request.user.ScoreRequest
5+
import com.stackknowledge.dto.response.user.DetailSolveMissionResponse
6+
import com.stackknowledge.dto.response.user.GetRequestSignUpTeacherResponse
7+
import com.stackknowledge.dto.response.user.GetSolveMissionResponse
8+
import kotlinx.coroutines.flow.Flow
9+
import remote.request.user.ApproveRequestModel
10+
import remote.request.user.ScoreRequestModel
11+
import remote.response.user.DetailSolveMissionResponseModel
12+
import remote.response.user.GetRequestSignUpTeacherResponseModel
13+
import remote.response.user.GetSolveMissionResponseModel
14+
import java.util.UUID
15+
16+
interface UserRepository {
17+
fun getSolvedMission(): Flow<List<GetSolveMissionResponseModel>>
18+
19+
fun getDetailSolveMission(solveId: UUID): Flow<DetailSolveMissionResponseModel>
20+
21+
fun getRequestSignUpTeacher(): Flow<List<GetRequestSignUpTeacherResponseModel>>
22+
23+
fun scoreSolveMission(solveId: UUID, body: ScoreRequestModel): Flow<Unit>
24+
25+
fun signUpApprove(userId: UUID, body: ApproveRequestModel): Flow<Unit>
26+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.stackknowledge.repository.user
2+
3+
import com.stackknowledge.datasource.user.UserDataSource
4+
import com.stackknowledge.dto.request.user.ApproveRequest
5+
import com.stackknowledge.dto.request.user.ScoreRequest
6+
import com.stackknowledge.dto.response.user.DetailSolveMissionResponse
7+
import com.stackknowledge.dto.response.user.GetRequestSignUpTeacherResponse
8+
import com.stackknowledge.dto.response.user.GetSolveMissionResponse
9+
import com.stackknowledge.mapper.request.user.toDto
10+
import com.stackknowledge.mapper.response.toModel
11+
import kotlinx.coroutines.flow.Flow
12+
import kotlinx.coroutines.flow.map
13+
import remote.request.user.ApproveRequestModel
14+
import remote.request.user.ScoreRequestModel
15+
import remote.response.user.DetailSolveMissionResponseModel
16+
import remote.response.user.GetRequestSignUpTeacherResponseModel
17+
import remote.response.user.GetSolveMissionResponseModel
18+
import java.util.UUID
19+
import javax.inject.Inject
20+
21+
class UserRepositoryImpl @Inject constructor(
22+
private val userDataSource: UserDataSource
23+
) : UserRepository {
24+
override fun getSolvedMission(): Flow<List<GetSolveMissionResponseModel>> {
25+
return userDataSource.getSolvedMission().map { list -> list.map { it.toModel() } }
26+
}
27+
28+
override fun getDetailSolveMission(solveId: UUID): Flow<DetailSolveMissionResponseModel> {
29+
return userDataSource.getDetailSolveMission(solveId = solveId).map { it.toModel() }
30+
}
31+
32+
override fun getRequestSignUpTeacher(): Flow<List<GetRequestSignUpTeacherResponseModel>> {
33+
return userDataSource.getRequestSignUpTeacher().map { list -> list.map { it.toModel() } }
34+
}
35+
36+
override fun scoreSolveMission(solveId: UUID, body: ScoreRequestModel): Flow<Unit> {
37+
return userDataSource.scoreSolveMission(
38+
solveId = solveId,
39+
body = body.toDto(),
40+
)
41+
}
42+
43+
override fun signUpApprove(userId: UUID, body: ApproveRequestModel): Flow<Unit> {
44+
return userDataSource.signUpApprove(
45+
userId = userId,
46+
body = body.toDto(),
47+
)
48+
}
49+
}

core/domain/src/main/kotlin/com/stackknowledge/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)