Skip to content

Commit ae04add

Browse files
committed
account sub function repackaging
1 parent 7b299f0 commit ae04add

File tree

93 files changed

+274
-210
lines changed

Some content is hidden

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

93 files changed

+274
-210
lines changed

src/main/kotlin/com/vauthenticator/server/account/repository/CachedAccountRepository.kt renamed to src/main/kotlin/com/vauthenticator/server/account/adapter/CachedAccountRepository.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package com.vauthenticator.server.account.repository
1+
package com.vauthenticator.server.account.adapter
22

3-
import com.vauthenticator.server.account.Account
3+
import com.vauthenticator.server.account.domain.Account
4+
import com.vauthenticator.server.account.domain.AccountRepository
45
import com.vauthenticator.server.cache.CacheContentConverter
56
import com.vauthenticator.server.cache.CacheOperation
67
import java.util.*

src/main/kotlin/com/vauthenticator/server/account/repository/dynamodb/DynamoAccountConverter.kt renamed to src/main/kotlin/com/vauthenticator/server/account/adapter/dynamodb/DynamoAccountConverter.kt

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package com.vauthenticator.server.account.repository.dynamodb
1+
package com.vauthenticator.server.account.adapter.dynamodb
22

3-
import com.vauthenticator.server.account.*
3+
import com.vauthenticator.server.account.domain.*
44
import com.vauthenticator.server.extentions.asDynamoAttribute
55
import com.vauthenticator.server.extentions.valueAsBoolFor
66
import com.vauthenticator.server.extentions.valueAsStringFor
@@ -22,10 +22,24 @@ object DynamoAccountConverter {
2222
firstName = dynamoPayload.valueAsStringFor("firstName"),
2323
lastName = dynamoPayload.valueAsStringFor("lastName"),
2424
authorities = dynamoPayload.valueAsStringSetFor("authorities"),
25-
birthDate = Date.isoDateFor(dynamoPayload.valueAsStringFor("birthDate")),
26-
phone = Phone.phoneFor(dynamoPayload.valueAsStringFor("phone")),
27-
locale = UserLocale.localeFrom(dynamoPayload.valueAsStringFor("locale")),
28-
mandatoryAction = AccountMandatoryAction.valueOf(dynamoPayload.valueAsStringFor("mandatory_action"))
25+
birthDate = Date.isoDateFor(
26+
dynamoPayload.valueAsStringFor(
27+
"birthDate"
28+
)
29+
),
30+
phone = Phone.phoneFor(
31+
dynamoPayload.valueAsStringFor(
32+
"phone"
33+
)
34+
),
35+
locale = UserLocale.localeFrom(
36+
dynamoPayload.valueAsStringFor(
37+
"locale"
38+
)
39+
),
40+
mandatoryAction = AccountMandatoryAction.valueOf(
41+
dynamoPayload.valueAsStringFor("mandatory_action")
42+
)
2943
)
3044

3145
fun fromDomainToDynamo(account: Account) =
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package com.vauthenticator.server.account.repository.dynamodb
1+
package com.vauthenticator.server.account.adapter.dynamodb
22

3-
import com.vauthenticator.server.account.Account
3+
import com.vauthenticator.server.account.adapter.dynamodb.DynamoAccountConverter.fromDomainToDynamo
4+
import com.vauthenticator.server.account.domain.Account
45
import com.vauthenticator.server.extentions.asDynamoAttribute
56
import software.amazon.awssdk.services.dynamodb.model.GetItemRequest
67
import software.amazon.awssdk.services.dynamodb.model.PutItemRequest
@@ -19,7 +20,7 @@ object DynamoAccountQueryFactory {
1920
fun storeAccountQueryFor(account: Account, table: String, withUpsert: Boolean = true): PutItemRequest =
2021
PutItemRequest.builder()
2122
.tableName(table)
22-
.item(DynamoAccountConverter.fromDomainToDynamo(account))
23+
.item(fromDomainToDynamo(account))
2324
.let {
2425
if (withUpsert)
2526
it
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.vauthenticator.server.account.repository.dynamodb
2-
3-
import com.vauthenticator.server.account.Account
4-
import com.vauthenticator.server.account.repository.AccountRegistrationException
5-
import com.vauthenticator.server.account.repository.AccountRepository
6-
import com.vauthenticator.server.account.repository.dynamodb.DynamoAccountConverter.fromDynamoToDomain
7-
import com.vauthenticator.server.account.repository.dynamodb.DynamoAccountQueryFactory.findAccountQueryForUserName
8-
import com.vauthenticator.server.account.repository.dynamodb.DynamoAccountQueryFactory.storeAccountQueryFor
1+
package com.vauthenticator.server.account.adapter.dynamodb
2+
3+
import com.vauthenticator.server.account.adapter.dynamodb.DynamoAccountConverter.fromDynamoToDomain
4+
import com.vauthenticator.server.account.adapter.dynamodb.DynamoAccountQueryFactory.findAccountQueryForUserName
5+
import com.vauthenticator.server.account.adapter.dynamodb.DynamoAccountQueryFactory.storeAccountQueryFor
6+
import com.vauthenticator.server.account.domain.Account
7+
import com.vauthenticator.server.account.domain.AccountRegistrationException
8+
import com.vauthenticator.server.account.domain.AccountRepository
99
import com.vauthenticator.server.extentions.filterEmptyMetadata
1010
import com.vauthenticator.server.role.domain.RoleRepository
1111
import software.amazon.awssdk.services.dynamodb.DynamoDbClient

src/main/kotlin/com/vauthenticator/server/account/repository/jdbc/JdbcAccountRepository.kt renamed to src/main/kotlin/com/vauthenticator/server/account/adapter/jdbc/JdbcAccountRepository.kt

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
package com.vauthenticator.server.account.repository.jdbc
1+
package com.vauthenticator.server.account.adapter.jdbc
22

3-
import com.vauthenticator.server.account.*
4-
import com.vauthenticator.server.account.Date
5-
import com.vauthenticator.server.account.repository.AccountRegistrationException
6-
import com.vauthenticator.server.account.repository.AccountRepository
3+
import com.vauthenticator.server.account.domain.*
4+
import com.vauthenticator.server.account.domain.Date
75
import org.springframework.dao.DuplicateKeyException
86
import org.springframework.jdbc.core.JdbcTemplate
97
import org.springframework.transaction.annotation.Transactional
@@ -106,10 +104,18 @@ class JdbcAccountRepository(private val jdbcTemplate: JdbcTemplate) : AccountRep
106104
firstName = rs.getString("first_name"),
107105
lastName = rs.getString("last_name"),
108106
authorities = authorities,
109-
birthDate = Date.isoDateFor(rs.getString("birth_date").orEmpty()),
107+
birthDate = Date.isoDateFor(
108+
rs.getString("birth_date").orEmpty()
109+
),
110110
phone = Phone.phoneFor(rs.getString("phone")),
111-
locale = UserLocale.localeFrom(rs.getString("locale")),
112-
mandatoryAction = AccountMandatoryAction.valueOf(rs.getString("mandatory_action"))
111+
locale = UserLocale.localeFrom(
112+
rs.getString(
113+
"locale"
114+
)
115+
),
116+
mandatoryAction = AccountMandatoryAction.valueOf(
117+
rs.getString("mandatory_action")
118+
)
113119
)
114120
}, username)
115121
return Optional.ofNullable(queryResult.firstOrNull())

src/main/kotlin/com/vauthenticator/server/account/api/AccountEndPoint.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.vauthenticator.server.account.api
22

3-
import com.vauthenticator.server.account.*
4-
import com.vauthenticator.server.account.AccountMandatoryAction.NO_ACTION
5-
import com.vauthenticator.server.account.Date
3+
import com.vauthenticator.server.account.domain.AccountMandatoryAction.NO_ACTION
64
import com.vauthenticator.server.account.api.SignUpAccountConverter.fromRepresentationToSignedUpAccount
7-
import com.vauthenticator.server.account.signup.SignUpUse
5+
import com.vauthenticator.server.account.domain.*
6+
import com.vauthenticator.server.account.domain.Date
7+
import com.vauthenticator.server.account.domain.signup.SignUpUse
88
import com.vauthenticator.server.extentions.clientAppId
99
import com.vauthenticator.server.extentions.oauth2ClientId
1010
import com.vauthenticator.server.oauth2.clientapp.domain.ClientAppId

src/main/kotlin/com/vauthenticator/server/account/api/AdminApiAccountEndPoint.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
package com.vauthenticator.server.account.api
22

3-
import com.vauthenticator.server.account.Account
4-
import com.vauthenticator.server.account.AccountMandatoryAction
5-
import com.vauthenticator.server.account.AccountUpdateAdminAction
6-
import com.vauthenticator.server.account.AdminAccountApiRequest
7-
import com.vauthenticator.server.account.repository.AccountRepository
3+
import com.vauthenticator.server.account.domain.*
84
import org.springframework.http.ResponseEntity.noContent
95
import org.springframework.http.ResponseEntity.ok
106
import org.springframework.security.core.Authentication
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
package com.vauthenticator.server.account.emailverification
1+
package com.vauthenticator.server.account.api
22

3-
import com.vauthenticator.server.i18n.I18nMessageInjector
4-
import com.vauthenticator.server.i18n.I18nScope
3+
import com.vauthenticator.server.account.domain.emailverification.SendVerifyEMailChallenge
54
import com.vauthenticator.server.oauth2.clientapp.domain.Scope
65
import com.vauthenticator.server.oauth2.clientapp.domain.Scopes
76
import com.vauthenticator.server.role.domain.PermissionValidator
@@ -10,8 +9,6 @@ import org.springframework.http.ResponseEntity
109
import org.springframework.http.ResponseEntity.badRequest
1110
import org.springframework.http.ResponseEntity.noContent
1211
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken
13-
import org.springframework.stereotype.Controller
14-
import org.springframework.ui.Model
1512
import org.springframework.web.bind.annotation.*
1613

1714
@RestController
@@ -38,21 +35,4 @@ class MailVerificationEndPoint(
3835

3936
}
4037

41-
}
42-
43-
@Controller
44-
class MailVerificationController(
45-
private val i18nMessageInjector: I18nMessageInjector,
46-
private val verifyEMailChallenge: VerifyEMailChallenge
47-
) {
48-
49-
@GetMapping("/email-verify/{ticket}")
50-
fun verifyMail(@PathVariable ticket: String, model: Model): String {
51-
verifyEMailChallenge.verifyMail(ticket)
52-
53-
i18nMessageInjector.setMessagedFor(I18nScope.SUCCESSFUL_MAIL_VERIFY_PAGE, model)
54-
model.addAttribute("assetBundle", "successfulMailVerify_bundle.js")
55-
return "template"
56-
}
57-
5838
}

src/main/kotlin/com/vauthenticator/server/account/welcome/WelcomeMailEndPoint.kt renamed to src/main/kotlin/com/vauthenticator/server/account/api/WelcomeMailEndPoint.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package com.vauthenticator.server.account.welcome
1+
package com.vauthenticator.server.account.api
22

3-
import com.vauthenticator.server.account.AccountNotFoundException
3+
import com.vauthenticator.server.account.domain.AccountNotFoundException
4+
import com.vauthenticator.server.account.domain.welcome.SayWelcome
45
import com.vauthenticator.server.oauth2.clientapp.domain.Scope
56
import com.vauthenticator.server.oauth2.clientapp.domain.Scopes
67
import com.vauthenticator.server.role.domain.PermissionValidator

src/main/kotlin/com/vauthenticator/server/account/Account.kt renamed to src/main/kotlin/com/vauthenticator/server/account/domain/Account.kt

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.vauthenticator.server.account
1+
package com.vauthenticator.server.account.domain
22

33
import com.fasterxml.jackson.databind.ObjectMapper
44
import com.vauthenticator.server.cache.CacheContentConverter
@@ -84,7 +84,14 @@ data class Date(
8484
fun empty(): Optional<Date> = Optional.empty()
8585

8686
fun isoDateFor(date: String): Optional<Date> = try {
87-
Optional.of(Date(LocalDate.parse(date, USER_INFO_DEFAULT_DATE_TIME_FORMATTER)))
87+
Optional.of(
88+
Date(
89+
LocalDate.parse(
90+
date,
91+
USER_INFO_DEFAULT_DATE_TIME_FORMATTER
92+
)
93+
)
94+
)
8895
} catch (e: RuntimeException) {
8996
empty()
9097
}
@@ -106,9 +113,21 @@ data class Phone(private val countryPrefix: String, private val prefix: String,
106113
var phone = Optional.empty<Phone>()
107114
val split = phoneNumber.split(" ".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
108115
if (split.size == 3) {
109-
phone = Optional.of(Phone(split[0], split[1], split[2]))
116+
phone = Optional.of(
117+
Phone(
118+
split[0],
119+
split[1],
120+
split[2]
121+
)
122+
)
110123
} else if (split.size == 2) {
111-
phone = Optional.of(Phone("", split[0], split[1]))
124+
phone = Optional.of(
125+
Phone(
126+
"",
127+
split[0],
128+
split[1]
129+
)
130+
)
112131
}
113132
phone
114133
} catch (e: RuntimeException) {
@@ -140,8 +159,12 @@ class AccountCacheContentConverter(private val objectMapper: ObjectMapper) : Cac
140159
lastName = it["lastName"] as String,
141160
birthDate = Date.isoDateFor(it["birthDate"] as String),
142161
phone = Phone.phoneFor(it["phone"] as String),
143-
locale = UserLocale.localeFrom((it["locale"] as String)),
144-
mandatoryAction = AccountMandatoryAction.valueOf(it["mandatory_action"] as String)
162+
locale = UserLocale.localeFrom(
163+
(it["locale"] as String)
164+
),
165+
mandatoryAction = AccountMandatoryAction.valueOf(
166+
it["mandatory_action"] as String
167+
)
145168
)
146169
}
147170

0 commit comments

Comments
 (0)