Skip to content

Commit cf6c841

Browse files
committed
Renamed user configuration to vault
1 parent 15262d9 commit cf6c841

File tree

9 files changed

+97
-101
lines changed

9 files changed

+97
-101
lines changed

backend/src/main/kotlin/app/cliq/backend/userconfig/UserConfigurationRepository.kt

Lines changed: 0 additions & 13 deletions
This file was deleted.

backend/src/main/kotlin/app/cliq/backend/userconfig/UserConfigurationController.kt renamed to backend/src/main/kotlin/app/cliq/backend/vault/VaultController.kt

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package app.cliq.backend.userconfig
1+
package app.cliq.backend.vault
22

33
import app.cliq.backend.annotations.Authenticated
44
import app.cliq.backend.session.Session
5-
import app.cliq.backend.userconfig.factory.UserConfigurationFactory
6-
import app.cliq.backend.userconfig.params.ConfigurationParams
7-
import app.cliq.backend.userconfig.view.ConfigurationView
5+
import app.cliq.backend.vault.factory.VaultFactory
6+
import app.cliq.backend.vault.params.VaultParams
7+
import app.cliq.backend.vault.view.VaultView
88
import io.swagger.v3.oas.annotations.Operation
99
import io.swagger.v3.oas.annotations.media.Content
1010
import io.swagger.v3.oas.annotations.media.Schema
@@ -22,39 +22,39 @@ import org.springframework.web.bind.annotation.RestController
2222
import java.time.OffsetDateTime
2323

2424
@RestController
25-
@RequestMapping("/api/user/configuration")
26-
@Tag(name = "User Configuration", description = "User configuration management")
27-
class UserConfigurationController(
28-
private val userConfigurationFactory: UserConfigurationFactory,
29-
private val repository: UserConfigurationRepository,
25+
@RequestMapping("/api/vault")
26+
@Tag(name = "Vault", description = "Vault management")
27+
class VaultController(
28+
private val vaultFactory: VaultFactory,
29+
private val repository: VaultRepository,
3030
) {
3131
@Authenticated
3232
@PutMapping
33-
@Operation(summary = "Insert or update user configuration")
33+
@Operation(summary = "Insert or update vault")
3434
@ApiResponses(
3535
value = [
3636
ApiResponse(
3737
responseCode = "200",
38-
description = "Successfully updated user configuration",
38+
description = "Successfully updated vault",
3939
),
4040
],
4141
)
4242
fun put(
4343
@AuthenticationPrincipal session: Session,
44-
@RequestBody configurationParams: ConfigurationParams,
44+
@RequestBody vaultParams: VaultParams,
4545
): ResponseEntity<Void> {
4646
val user = session.user
4747
val existingConfig = repository.getByUser(user)
4848

4949
if (existingConfig == null) {
50-
val config = userConfigurationFactory.createFromParams(configurationParams, user)
50+
val config = vaultFactory.createFromParams(vaultParams, user)
5151

5252
repository.save(config)
5353
} else {
5454
val config =
55-
userConfigurationFactory.updateFromParams(
55+
vaultFactory.updateFromParams(
5656
existingConfig,
57-
configurationParams,
57+
vaultParams,
5858
user,
5959
)
6060

@@ -66,35 +66,35 @@ class UserConfigurationController(
6666

6767
@Authenticated
6868
@GetMapping
69-
@Operation(summary = "Get's you the current configuration.")
69+
@Operation(summary = "Get's you the current vault.")
7070
@ApiResponses(
7171
value = [
7272
ApiResponse(
7373
responseCode = "200",
74-
description = "Successfully retrieved user configuration",
74+
description = "Successfully retrieved the vault.",
7575
content = [
7676
Content(
7777
mediaType = MediaType.APPLICATION_JSON_VALUE,
78-
schema = Schema(implementation = ConfigurationView::class),
78+
schema = Schema(implementation = VaultView::class),
7979
),
8080
],
8181
),
8282
],
8383
)
8484
fun get(
8585
@AuthenticationPrincipal session: Session,
86-
): ResponseEntity<ConfigurationView> {
86+
): ResponseEntity<VaultView> {
8787
val user = session.user
88-
val config = repository.getByUser(user) ?: return ResponseEntity.notFound().build()
88+
val vault = repository.getByUser(user) ?: return ResponseEntity.notFound().build()
8989

90-
val view = ConfigurationView(config.encryptedConfig, config.updatedAt, config.updatedAt)
90+
val view = VaultView(vault.encryptedConfig, vault.version, vault.updatedAt, vault.updatedAt)
9191

9292
return ResponseEntity.ok(view)
9393
}
9494

9595
@Authenticated
9696
@GetMapping("/last-updated")
97-
@Operation(summary = "Get's you when the config was last updated")
97+
@Operation(summary = "Get's you when the vault was last updated")
9898
@ApiResponses(
9999
value = [
100100
ApiResponse(

backend/src/main/kotlin/app/cliq/backend/userconfig/UserConfiguration.kt renamed to backend/src/main/kotlin/app/cliq/backend/vault/VaultData.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package app.cliq.backend.userconfig
1+
package app.cliq.backend.vault
22

33
import app.cliq.backend.user.User
44
import jakarta.persistence.Column
@@ -15,14 +15,15 @@ import java.time.OffsetDateTime
1515

1616
@Entity
1717
@Table(
18-
name = "user_configurations",
18+
name = "vaults",
1919
uniqueConstraints = [UniqueConstraint(columnNames = ["user_id"])],
2020
)
21-
class UserConfiguration(
21+
class VaultData(
2222
@OneToOne(fetch = FetchType.LAZY)
2323
@JoinColumn(nullable = false)
2424
var user: User,
2525
@Column var encryptedConfig: String,
26+
@Column(nullable = false) var version: String,
2627
@Column(nullable = false) var createdAt: OffsetDateTime,
2728
@Column(nullable = false) var updatedAt: OffsetDateTime,
2829
@Id
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package app.cliq.backend.vault
2+
3+
import app.cliq.backend.user.User
4+
import org.springframework.data.jpa.repository.JpaRepository
5+
import org.springframework.data.jpa.repository.Query
6+
import java.time.OffsetDateTime
7+
8+
interface VaultRepository : JpaRepository<VaultData, Long> {
9+
fun getByUser(user: User): VaultData?
10+
11+
@Query("SELECT uc.updatedAt FROM VaultData uc WHERE uc.user = :user")
12+
fun getUpdatedAtByUser(user: User): OffsetDateTime?
13+
}

backend/src/main/kotlin/app/cliq/backend/userconfig/factory/UserConfigurationFactory.kt renamed to backend/src/main/kotlin/app/cliq/backend/vault/factory/VaultFactory.kt

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,45 @@
1-
package app.cliq.backend.userconfig.factory
1+
package app.cliq.backend.vault.factory
22

33
import app.cliq.backend.user.User
4-
import app.cliq.backend.userconfig.UserConfiguration
5-
import app.cliq.backend.userconfig.params.ConfigurationParams
4+
import app.cliq.backend.vault.VaultData
5+
import app.cliq.backend.vault.params.VaultParams
66
import org.springframework.stereotype.Service
77
import java.time.Clock
88
import java.time.OffsetDateTime
99

1010
@Service
1111
class
12-
UserConfigurationFactory(
12+
VaultFactory(
1313
private val clock: Clock,
1414
) {
1515
fun createFromParams(
16-
configurationParams: ConfigurationParams,
16+
vaultParams: VaultParams,
1717
user: User,
18-
): UserConfiguration = create(configurationParams.configuration, user)
18+
): VaultData = create(vaultParams.configuration, vaultParams.version, user)
1919

2020
fun updateFromParams(
21-
existingConfig: UserConfiguration,
22-
configurationParams: ConfigurationParams,
21+
existingConfig: VaultData,
22+
vaultParams: VaultParams,
2323
user: User,
24-
): UserConfiguration =
25-
UserConfiguration(
24+
): VaultData =
25+
VaultData(
2626
user,
27-
configurationParams.configuration,
27+
vaultParams.configuration,
28+
vaultParams.version,
2829
existingConfig.createdAt,
2930
OffsetDateTime.now(clock),
3031
id = existingConfig.id,
3132
)
3233

3334
fun create(
3435
encryptedConfig: String,
36+
version: String,
3537
user: User,
36-
): UserConfiguration =
37-
UserConfiguration(
38+
): VaultData =
39+
VaultData(
3840
user = user,
3941
encryptedConfig = encryptedConfig,
42+
version = version,
4043
createdAt = OffsetDateTime.now(clock),
4144
updatedAt = OffsetDateTime.now(clock),
4245
)

backend/src/main/kotlin/app/cliq/backend/userconfig/params/ConfigurationParams.kt renamed to backend/src/main/kotlin/app/cliq/backend/vault/params/VaultParams.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
package app.cliq.backend.userconfig.params
1+
package app.cliq.backend.vault.params
22

33
import io.swagger.v3.oas.annotations.media.Schema
44

55
@Schema
6-
data class ConfigurationParams(
6+
data class VaultParams(
77
@Schema(description = "The encrypted user configuration")
88
val configuration: String,
9+
val version: String,
910
)

backend/src/main/kotlin/app/cliq/backend/userconfig/view/ConfigurationView.kt renamed to backend/src/main/kotlin/app/cliq/backend/vault/view/VaultView.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
package app.cliq.backend.userconfig.view
1+
package app.cliq.backend.vault.view
22

33
import io.swagger.v3.oas.annotations.media.Schema
44
import java.time.OffsetDateTime
55

66
@Schema
7-
data class ConfigurationView(
7+
data class VaultView(
88
val configuration: String,
9+
val version: String,
910
val updatedAt: OffsetDateTime,
1011
val createdAt: OffsetDateTime,
1112
)

backend/src/main/resources/db/migration/V1.0.0.0__Initial_schema.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,12 @@ CREATE INDEX idx_sessions_refresh_token ON sessions (refresh_token);
4545
-- # #
4646
-- ############################################################
4747

48-
CREATE TABLE user_configurations
48+
CREATE TABLE vaults
4949
(
5050
"id" BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
5151
"user_id" BIGINT REFERENCES "users" (id) ON DELETE CASCADE UNIQUE NOT NULL,
5252
"encrypted_config" TEXT NOT NULL,
53+
"version" TEXT NOT NULL,
5354
"created_at" timestamp with time zone NOT NULL,
5455
"updated_at" timestamp with time zone NOT NULL
5556
);

0 commit comments

Comments
 (0)