Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
649c070
:Box: :: add file
kimjeakwan Mar 4, 2025
b914b98
:recycle: :: AdminAPI ๊ถŒํ•œ๋ณ€๊ฒฝ API ์ถ”๊ฐ€
kimjeakwan Mar 4, 2025
4158eab
:recycle: :: AdminCleanRequest authority,accountIdx
kimjeakwan Mar 4, 2025
7cb52f2
:recycle: :: AdminCleanRequestModel authority,accountIdx
kimjeakwan Mar 4, 2025
d5d9a6d
:recycle: ::AdminDataSource
kimjeakwan Mar 4, 2025
1b82391
:recycle: ::AdminDataSourceImpl getStudentSearch
kimjeakwan Mar 4, 2025
a6229ce
:recycle: :: AdminPenaltyListResponse
kimjeakwan Mar 4, 2025
ebaf450
:recycle: :: AdminPenaltyRequest
kimjeakwan Mar 4, 2025
cc07cf4
:recycle: :: AdminPenaltyRequestModel
kimjeakwan Mar 4, 2025
799bd1d
:recycle: :: AdminRepository
kimjeakwan Mar 4, 2025
d5921fb
:recycle: :: AdminRepositoryImpl
kimjeakwan Mar 4, 2025
d54c36d
:recycle: :: AdminStudentLIstResponse
kimjeakwan Mar 4, 2025
12f6703
:sparkles: :: AdminStudentListResponseModel
kimjeakwan Mar 4, 2025
9ef4d8a
:sparkles: :: AdminUserListResponse
kimjeakwan Mar 4, 2025
4768661
:recycle: :: AdminUserListResponseModel roomNum ์ถ”๊ฐ€
kimjeakwan Mar 4, 2025
6ec2241
:recycle: :: ์“ฐ์ง€ ์•Š๋Š” import ๋ฌธ ์ถ”๊ฐ€
kimjeakwan Mar 4, 2025
bf5476f
:recycle: :: Authority.kt
kimjeakwan Mar 4, 2025
c6f0523
:recycle: :: AuthorityRequest
kimjeakwan Mar 4, 2025
af33c49
:sprekles: :: AuthorityRequestModel.kt
kimjeakwan Mar 4, 2025
60f4702
:sprekles: :: AuthRepository.kt
kimjeakwan Mar 4, 2025
67a9821
:sprekles: :: AuthRepositoryImpl getRole ์ถ”๊ฐ€
kimjeakwan Mar 4, 2025
c77dfb3
:sprekles: :: ChangeAuthorityUseCase
kimjeakwan Mar 4, 2025
8d9a8ca
:sprekles: :: ColorTheme ์— DarkGray ์ถ”๊ฐ€
kimjeakwan Mar 4, 2025
7c74b99
:sprekles: :: CombinationViewNavigation
kimjeakwan Mar 4, 2025
7bf87d2
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 4, 2025
e972fd3
:recycle: :: DMNavHost chrlghk
kimjeakwan Mar 4, 2025
c6c6cfe
:recycle: :: DoMaColor DARKGARY ๋ณ€๊ฒฝ
kimjeakwan Mar 4, 2025
9d14258
:recycle: :: DoMaCombinationView.kt
kimjeakwan Mar 4, 2025
06b164f
:recycle: :: DoMaIcon.kt
kimjeakwan Mar 4, 2025
55d12f5
:recycle: :: DomaNavBar.kt
kimjeakwan Mar 4, 2025
cf8fd05
:recycle: :: DomaNavBarItemType.
kimjeakwan Mar 4, 2025
0ff5587
:recycle: :: AdminViewModel ๊ณต๋ฐฑ ์‚ญ์ œ
kimjeakwan Mar 5, 2025
b7119b1
:recycle: :: CombinationViewNavigation ํŒŒ์ผ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
676482c
:recycle: :: ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
57826a1
:recycle: :: DoMaCombinationView ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
a5ebd41
:recycle: :: DomaNavBar ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
edd7f4f
:recycle: :: DomaSearchTextField ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
cd10d70
:recycle: :: authority ๊ถŒํ•œ ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
b2679c2
:recycle: :: authority ๊ถŒํ•œ ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
471dec4
:sparkles: :: GetStudentSearchUseCase
kimjeakwan Mar 5, 2025
4c35b51
:sparkles: :: Home Icon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
c87ed17
:recycle: :: ๊ณต๋ฐฑ ์‚ญ์ œ
kimjeakwan Mar 5, 2025
da83b58
:sparkles: :: keyboardAsState.kt
kimjeakwan Mar 5, 2025
ecd7d85
:sparkles: :: left Icon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
2d72425
:sparkles: :: LocalDataSource.kt
kimjeakwan Mar 5, 2025
235703a
:sparkles: :: LocalDataSourceImpl.kt
kimjeakwan Mar 5, 2025
158d473
:recycle: :: MainNavigation PostDemeritSearchRounte
kimjeakwan Mar 5, 2025
6d190ce
:recycle: :: ํ†ต์‹ ์ ์šฉ
kimjeakwan Mar 5, 2025
3482102
:recycle: :: preview์ ์šฉ
kimjeakwan Mar 5, 2025
9a85118
:recycle: :: MyDemeritList ๊ณต๋ฐฑ ์‚ญ์ œ
kimjeakwan Mar 5, 2025
6751523
:recycle: :: DoMaCombinationView ํŒŒ์ผ ๊ฒฝใ„ฑ๋กœ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
2235c3b
:recycle: :: Colunm ์‚ญ์ œ
kimjeakwan Mar 5, 2025
a16b1c0
:recycle: :: mypage Icon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
e9e60ef
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 5, 2025
b5489e9
:recycle: :: ํŒŒ์ผ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
f34cac9
:recycle: :: notice ICon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
cff5f00
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 5, 2025
32d3441
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 5, 2025
d97f841
:recycle: ::NoticeNavigation conbinViewNavgation ์œผ๋กœ ์ด๋™
kimjeakwan Mar 5, 2025
9cf2dc9
:recycle: :: NoticeScreen ๊ณต๋ฐฑ
kimjeakwan Mar 5, 2025
72023fc
:recycle: :: notserach Icon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
7fb1822
:sparkles: :: other Icon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
a8dec3d
:recycle: :: ์ด๋ฆ„ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
bdd76ea
:sparkles: :: PostDemeritComponent
kimjeakwan Mar 5, 2025
df1bbde
:sparkles: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 5, 2025
15b58cd
:sparkles: :: PostDemeritComponent
kimjeakwan Mar 5, 2025
cded3a1
:sparkles: :: PostDemeritComponent
kimjeakwan Mar 5, 2025
06c77dc
:sparkles: :: RankingComponent.kt
kimjeakwan Mar 5, 2025
df2b332
:package: :: untill -> util ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ
kimjeakwan Mar 5, 2025
efcf674
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 5, 2025
002bf90
:recycle: :: ๊ณต๋ฐฑ์ •๋ฆฌ
kimjeakwan Mar 5, 2025
ce56fc6
:sparkles: :: SearchEmptyText.kt
kimjeakwan Mar 5, 2025
9bbf553
:sparkles: :: SearchList.kt
kimjeakwan Mar 5, 2025
19d0321
:sparkles: :: serach Icon ์ถ”๊ฐ€
kimjeakwan Mar 5, 2025
e84f31d
:sparkles: :: StudentPatch.kt
kimjeakwan Mar 5, 2025
b348fa5
:package: :: UsersViewModel.kt
kimjeakwan Mar 5, 2025
0c42450
:recycle: :: DemeritList ๊ณต๋ฐฑ ์‚ญ์ œ ๋ฐ Empty ์ฒ˜๋ฆฌ
kimjeakwan Mar 6, 2025
e0d073c
:recycle: :: MyClean ์ด๋ฆ„ ๋ณ€๊ฒฝ
kimjeakwan Mar 6, 2025
4e36fe4
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 6, 2025
39ef025
:sparkles: :: MyPageEmptyText
kimjeakwan Mar 6, 2025
1765898
:sparkles: :: StudentSearchUiState.kt
kimjeakwan Mar 6, 2025
9616339
:sparkles: :: TokenRefreshUiState.kt
kimjeakwan Mar 6, 2025
2bfdabe
:recycle: scrollState: ScrollState = rememberScrollState() ์„ ์ด์šฉํ•œ scrโ€ฆ
kimjeakwan Mar 6, 2025
1bf4440
:recycle: DOAM COloerTHeme ์ƒ‰๊น” ์ถ”๊ฐ€
kimjeakwan Mar 7, 2025
0bd976f
:recycle: DOAM COloerTHeme ์ ์šฉ
kimjeakwan Mar 7, 2025
3f6d567
:recycle: ์“ฐ์ง€ ์•Š๋Š” import ๋ฌธ ์ œ๊ฑฐ
kimjeakwan Mar 7, 2025
c826c1e
:recycle: ์ƒ‰๊น” ์ถ”๊ฐ€ SMALLDARKGARY ์ถ”๊ฐ€ ํ•˜์—ฌ ์ ์šฉ,
kimjeakwan Mar 7, 2025
750c044
:recycle: AdminPenaltyRequest ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
85fa6af
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
3f5bb82
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
e8f9aaa
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
03458e5
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
08165b2
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
8b86df2
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
e7db7d2
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
06b6356
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
e6607b6
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
6222efb
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
bb329a9
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
68f9564
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
a477d77
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
82ee5bb
:box: :: other.xml ์ถ”๊ฐ€
kimjeakwan Mar 7, 2025
e6fb641
:recycle: :: ๊ฐœํ–‰ ์‚ญ์ œ
kimjeakwan Mar 7, 2025
eee7a4e
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
b223dda
:recycle: :: ๊ณต๋ฐฑ์‚ญ์ œ
kimjeakwan Mar 7, 2025
bd0535b
:recycle: :: typography ๋ฅผ ์‚ฌ์šฉ์•ˆํ•˜๊ธฐ ๋–„๋ฌธ์— ์‚ญ์ œ
kimjeakwan Mar 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 83 additions & 6 deletions .idea/other.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 0 additions & 12 deletions app/src/main/java/DMNavHost.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@ package com.kim.Dormitorymanager


import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.remember
import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController
import view.Mypage.navigation.MyScreen
import view.login.navigation.LoginScreen
import view.login.navigation.navigateToLogin

Expand All @@ -18,16 +14,8 @@ fun DMNavHost(
navController: NavHostController = rememberNavController(),
startDestination: String
){


NavHost(navController = navController,
startDestination =startDestination ){
LoginScreen(navigateToHome = navController::navigateToLogin)


MyScreen(
navigationBack = navController::popBackStack,
onErrorToast = { throwable, message ->}
)
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
5
3
0
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin
Binary file not shown.
Binary file modified buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin
Binary file not shown.
Binary file modified buildSrc/build/libs/buildSrc.jar
Binary file not shown.
4 changes: 4 additions & 0 deletions data/src/main/java/local/datasource/LocalDataSource.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ interface LocalDataSource {

suspend fun deleteAccessTime()

fun getAuthority(): Flow<String>

suspend fun setAuthority(authority: String)

fun getRefreshToken(): Flow<String>

suspend fun setRefreshToken(refreshToken: String)
Expand Down
13 changes: 12 additions & 1 deletion data/src/main/java/local/datasource/LocalDataSourceImpl.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,23 @@ import javax.inject.Inject
class LocalDataSourceImpl @Inject constructor(
private val dataStore: DataStore<Preferences>
): LocalDataSource {

companion object AuthDataStoreKey {
val ACCESS_TOKEN = stringPreferencesKey("access_token")
val ACCESS_TIME = stringPreferencesKey("access_time")
val REFRESH_TOKEN = stringPreferencesKey("refresh_token")
val REFRESH_TIME = stringPreferencesKey("refresh_time")
val AUTHORITY = stringPreferencesKey("authority")
}

override fun getAuthority(): Flow<String> =
dataStore.data.map {
it[AUTHORITY] ?: ""
}

override suspend fun setAuthority(authority: String) {
dataStore.edit {
it[AUTHORITY] = authority
}
}

override fun getAccessToken(): Flow<String> = dataStore.data.map {
Expand Down
16 changes: 11 additions & 5 deletions data/src/main/java/remote/api/auth/AdminAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ package remote.api.auth

import remote.dto.admin.request.AdminCleanRequest
import remote.dto.admin.request.AdminPenaltyRequest
import remote.dto.admin.request.AuthorityRequest
import remote.dto.admin.response.AdminPenaltyListResponse
import remote.dto.admin.response.AdminPenaltyResponse
import remote.dto.admin.response.AdminUserListResponse
import remote.dto.admin.response.AdminUserResponse
import remote.dto.users.response.UsersResponse
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.PATCH
import retrofit2.http.POST
import retrofit2.http.Path
import retrofit2.http.Query
Expand All @@ -18,12 +19,17 @@ interface AdminAPI {
@GET("admin/users/list")
suspend fun getUsers(): List<AdminUserListResponse>

@PATCH("admin/users/authority")
suspend fun changeAuthority(
@Body body: AuthorityRequest
)

@GET("admin/users/list")
suspend fun getUsersName(
@Query("name") name: String?
suspend fun getStudentSearch(
@Query("name") name: String,
): List<AdminUserListResponse>

@POST("admin/user_id/penalty")
@POST("admin/{user_id}/penalty")
suspend fun postPenalty(
@Path("user_id") userId: String,
@Body body: AdminPenaltyRequest
Expand All @@ -32,7 +38,7 @@ interface AdminAPI {
@GET("admin/users/penalty-list")
suspend fun getPenaltyList(): AdminPenaltyListResponse

@POST("admin/user_id/clean")
@POST("admin/{user_id}/clean")
suspend fun postClean(
@Path("user_id") userId: String,
@Body body: AdminCleanRequest
Expand Down
1 change: 0 additions & 1 deletion data/src/main/java/remote/api/auth/NoticeAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ interface NoticeAPI {
suspend fun getNotice(
@Path("notice_id") noticeId: UUID,
): List<NoticeResponse>

}
19 changes: 6 additions & 13 deletions data/src/main/java/remote/datasource/admin/AdminDataSource.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,22 @@ package remote.datasource.admin
import kotlinx.coroutines.flow.Flow
import remote.dto.admin.request.AdminCleanRequest
import remote.dto.admin.request.AdminPenaltyRequest
import remote.dto.admin.request.AuthorityRequest
import remote.dto.admin.response.AdminPenaltyListResponse
import remote.dto.admin.response.AdminPenaltyResponse
import remote.dto.admin.response.AdminUserListResponse
import remote.dto.admin.response.AdminUserResponse
import remote.dto.myrank.response.MyRankResponse
import remote.dto.rank.response.RankResponse

interface AdminDataSource {
fun getUsers(): Flow<List<AdminUserListResponse>>

fun getUsersName(
name: String?
): Flow<List<AdminUserListResponse>>
fun changeAuthority(body: AuthorityRequest): Flow<Unit>

fun postPenalty(
userId: String,
body: AdminPenaltyRequest
): Flow<List<AdminPenaltyResponse>>
fun getStudentSearch(name: String): Flow<List<AdminUserListResponse>>

fun postPenalty(userId: String, body: AdminPenaltyRequest): Flow<List<AdminPenaltyResponse>>

fun getPenaltyList(): Flow<AdminPenaltyListResponse>

fun postClean(
userId: String,
body: AdminCleanRequest
): Flow<AdminUserResponse>
fun postClean(userId: String, body: AdminCleanRequest): Flow<AdminUserResponse>
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import kotlinx.coroutines.flow.Flow
import remote.api.auth.AdminAPI
import remote.dto.admin.request.AdminCleanRequest
import remote.dto.admin.request.AdminPenaltyRequest
import remote.dto.admin.request.AuthorityRequest
import remote.dto.admin.response.AdminPenaltyListResponse
import remote.dto.admin.response.AdminPenaltyResponse
import remote.dto.admin.response.AdminUserListResponse
Expand All @@ -15,6 +16,12 @@ class AdminDataSourceImpl @Inject constructor(
private val adminService: AdminAPI
): AdminDataSource
{
override fun getStudentSearch(name: String): Flow<List<AdminUserListResponse>> =
performApiRequest { adminService.getStudentSearch(name = name) }

override fun changeAuthority(body: AuthorityRequest): Flow<Unit> =
performApiRequest { adminService.changeAuthority(body = body) }

override fun getUsers(): Flow<List<AdminUserListResponse>> =
performApiRequest { adminService.getUsers() }

Expand All @@ -26,7 +33,4 @@ class AdminDataSourceImpl @Inject constructor(

override fun getPenaltyList(): Flow<AdminPenaltyListResponse> =
performApiRequest { adminService.getPenaltyList() }

override fun getUsersName(name: String?): Flow<List<AdminUserListResponse>> =
performApiRequest { adminService.getUsersName(name = name) }
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,29 @@ package remote.dto.admin.request

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import emumtype.Authority
import model.admin.request.AdminCleanRequestModel
import java.util.UUID

@JsonClass(generateAdapter = true)
data class AdminCleanRequest(
@Json(name = "toDayClean") val toDayClean: String,
@Json(name = "cleanPoint") val cleanPoint: Int,
@Json(name = "accountIdx") val accountIdx: UUID,
@Json(name = "authority") val authority: Authority,
)

fun AdminCleanRequestModel.toDto() = AdminCleanRequest(
toDayClean = toDayClean,
cleanPoint = cleanPoint,
accountIdx = accountIdx,
authority = authority
)

fun AdminCleanRequest.toModel() = AdminCleanRequestModel(
toDayClean = toDayClean,
cleanPoint = cleanPoint,
accountIdx = accountIdx,
authority = authority
)

Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,28 @@ package remote.dto.admin.request

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import emumtype.Authority
import model.admin.request.AdminPenaltyRequestModel
import model.admin.response.AdminPenaltyResponseModel
import java.util.UUID

@JsonClass(generateAdapter = true)
data class AdminPenaltyRequest (
@Json(name = "penaltyPoint") val penaltyPoint: Int,
@Json(name = "because") val because: String,
@Json(name = "accountIdx") val accountIdx: UUID,
@Json(name = "authority") val authority: Authority
)

fun AdminPenaltyRequestModel.toDto() = AdminPenaltyRequest(
because = because,
penaltyPoint = penaltyPoint,
accountIdx = accountIdx,
authority = authority
)

fun AdminPenaltyRequest.toModel() = AdminPenaltyRequestModel(
because = because,
penaltyPoint = penaltyPoint,
accountIdx = accountIdx,
authority = authority
)
Loading
Loading