chore(release): first stable release #45
@@ -31,7 +31,6 @@ java {
|
||||
|
||||
dependencies {
|
||||
implementation(platform(libs.sentry.bom))
|
||||
implementation(platform(libs.spring.grpc.bom))
|
||||
|
||||
implementation(libs.spring.boot.starter.web)
|
||||
implementation(libs.spring.boot.starter.actuator)
|
||||
@@ -47,9 +46,6 @@ dependencies {
|
||||
implementation(libs.opentelemetry.exporter.otlp)
|
||||
implementation(libs.sentry.spring.boot.starter)
|
||||
|
||||
implementation(libs.spring.grpc.starter)
|
||||
implementation(libs.grpc.services)
|
||||
|
||||
implementation(libs.spring.boot.starter.oauth2.client)
|
||||
|
||||
runtimeOnly(libs.micrometer.registry.prometheus)
|
||||
@@ -60,7 +56,6 @@ dependencies {
|
||||
|
||||
testImplementation(libs.spring.boot.starter.test)
|
||||
testImplementation(libs.kotlin.test.junit5)
|
||||
testImplementation(libs.spring.grpc.test)
|
||||
testImplementation(libs.mockk)
|
||||
testRuntimeOnly(libs.junit.platform.launcher)
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ data class UserEntity(
|
||||
val id: UUID,
|
||||
val name: String,
|
||||
val email: String,
|
||||
val password: String?,
|
||||
val provider: String?,
|
||||
val providerId: String?,
|
||||
val createdAt: LocalDateTime,
|
||||
@@ -32,7 +31,6 @@ fun User.toEntity(
|
||||
id = id,
|
||||
name = name,
|
||||
email = email,
|
||||
password = password,
|
||||
provider = provider?.name,
|
||||
providerId = providerId,
|
||||
createdAt = createdAt,
|
||||
|
||||
@@ -20,7 +20,6 @@ class UserRepository(
|
||||
id = UUID.fromString(rs.getString("id")),
|
||||
name = rs.getString("name"),
|
||||
email = rs.getString("email"),
|
||||
password = rs.getString("password"),
|
||||
provider = rs.getString("provider"),
|
||||
providerId = rs.getString("provider_id"),
|
||||
createdAt = rs.getTimestamp("created_at").toLocalDateTime(),
|
||||
@@ -46,12 +45,11 @@ class UserRepository(
|
||||
jdbc.update(
|
||||
"""
|
||||
UPDATE users
|
||||
SET name = ?, email = ?, password = ?, provider = ?, provider_id = ?
|
||||
SET name = ?, email = ?, provider = ?, provider_id = ?
|
||||
WHERE id = ?
|
||||
""".trimIndent(),
|
||||
entity.name,
|
||||
entity.email,
|
||||
user.password,
|
||||
entity.provider,
|
||||
entity.providerId,
|
||||
entity.id,
|
||||
@@ -60,13 +58,12 @@ class UserRepository(
|
||||
if (updatedRows == 0) {
|
||||
jdbc.update(
|
||||
"""
|
||||
INSERT INTO users (id, name, email, password, provider, provider_id, created_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||
INSERT INTO users (id, name, email, provider, provider_id, created_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?)
|
||||
""".trimIndent(),
|
||||
entity.id,
|
||||
entity.name,
|
||||
entity.email,
|
||||
user.password,
|
||||
entity.provider,
|
||||
entity.providerId,
|
||||
entity.createdAt,
|
||||
@@ -78,7 +75,7 @@ class UserRepository(
|
||||
override fun findById(id: UUID): User? {
|
||||
val entities =
|
||||
jdbc.query(
|
||||
"SELECT id, name, email, password, provider, provider_id, created_at FROM users WHERE id = ?",
|
||||
"SELECT id, name, email, provider, provider_id, created_at FROM users WHERE id = ?",
|
||||
userEntityRowMapper,
|
||||
id,
|
||||
)
|
||||
@@ -88,7 +85,7 @@ class UserRepository(
|
||||
override fun findByEmail(email: String): User? {
|
||||
val entities =
|
||||
jdbc.query(
|
||||
"SELECT id, name, email, password, provider, provider_id, created_at FROM users WHERE email = ?",
|
||||
"SELECT id, name, email, provider, provider_id, created_at FROM users WHERE email = ?",
|
||||
userEntityRowMapper,
|
||||
email,
|
||||
)
|
||||
@@ -98,7 +95,7 @@ class UserRepository(
|
||||
override fun findAll(): List<User> =
|
||||
jdbc
|
||||
.query(
|
||||
"SELECT id, name, email, password, provider, provider_id, created_at FROM users",
|
||||
"SELECT id, name, email, provider, provider_id, created_at FROM users",
|
||||
userEntityRowMapper,
|
||||
).map { it.toDomain() }
|
||||
|
||||
@@ -106,47 +103,6 @@ class UserRepository(
|
||||
jdbc.update("DELETE FROM users WHERE id = ?", id)
|
||||
}
|
||||
|
||||
override fun saveWithOAuth2(user: User, provider: String, providerId: String): User {
|
||||
val updatedRows = jdbc.update(
|
||||
"""
|
||||
UPDATE users
|
||||
SET name = ?, email = ?, password = ?, provider = ?, provider_id = ?
|
||||
WHERE id = ?
|
||||
""".trimIndent(),
|
||||
user.name,
|
||||
user.email,
|
||||
user.password,
|
||||
provider,
|
||||
providerId,
|
||||
user.id,
|
||||
)
|
||||
if (updatedRows == 0) {
|
||||
jdbc.update(
|
||||
"""
|
||||
INSERT INTO users (id, name, email, password, provider, provider_id)
|
||||
VALUES (?, ?, ?, ?, ?, ?)
|
||||
""".trimIndent(),
|
||||
user.id,
|
||||
user.name,
|
||||
user.email,
|
||||
user.password,
|
||||
provider,
|
||||
providerId,
|
||||
)
|
||||
}
|
||||
return user
|
||||
}
|
||||
|
||||
override fun findByProviderAndProviderId(provider: String, providerId: String): User? {
|
||||
val entities = jdbc.query(
|
||||
"SELECT id, name, email, password, provider, provider_id, created_at FROM users WHERE provider = ? AND provider_id = ?",
|
||||
userEntityRowMapper,
|
||||
provider,
|
||||
providerId,
|
||||
)
|
||||
return entities.firstOrNull()?.toDomain()
|
||||
}
|
||||
|
||||
override fun findByProviderAndProviderId(
|
||||
provider: AuthProvider,
|
||||
providerId: String,
|
||||
@@ -154,7 +110,7 @@ class UserRepository(
|
||||
val entities =
|
||||
jdbc.query(
|
||||
"""
|
||||
SELECT id, name, email, password, provider, provider_id, created_at
|
||||
SELECT id, name, email, provider, provider_id, created_at
|
||||
FROM users
|
||||
WHERE provider = ? AND provider_id = ?
|
||||
""".trimIndent(),
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_users_provider_provider_id
|
||||
ON users(provider, provider_id)
|
||||
WHERE provider IS NOT NULL AND provider_id IS NOT NULL;
|
||||
ON users(provider, provider_id);
|
||||
|
||||
@@ -17,7 +17,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPat
|
||||
import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status
|
||||
|
||||
@SpringBootTest
|
||||
@AutoConfigureMockMvc
|
||||
@AutoConfigureMockMvc(addFilters = false)
|
||||
class FilmControllerTest {
|
||||
@Autowired
|
||||
private lateinit var mockMvc: MockMvc
|
||||
|
||||
@@ -17,7 +17,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
|
||||
@SpringBootTest
|
||||
@AutoConfigureMockMvc
|
||||
@AutoConfigureMockMvc(addFilters = false)
|
||||
@Transactional
|
||||
class FilmLibraryControllerTest {
|
||||
@Autowired
|
||||
|
||||
@@ -17,7 +17,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
|
||||
@SpringBootTest
|
||||
@AutoConfigureMockMvc
|
||||
@AutoConfigureMockMvc(addFilters = false)
|
||||
@Transactional
|
||||
class UserControllerTest {
|
||||
@Autowired
|
||||
|
||||
Reference in New Issue
Block a user