diff --git a/src/main/kotlin/com/project/movienight/MovieNightService.kt b/src/main/kotlin/com/project/movienight/MovieNightService.kt index a56bc5e..3d72bba 100644 --- a/src/main/kotlin/com/project/movienight/MovieNightService.kt +++ b/src/main/kotlin/com/project/movienight/MovieNightService.kt @@ -54,7 +54,13 @@ class MovieNightService( println(filmStarWars) println("Редактирование фильма ${filmSpiderMan.title}") - filmSpiderMan = filmService.edit(filmSpiderMan.id, EditFilmCommand("Delayed", "-")) + filmSpiderMan = filmService.edit( + id = filmSpiderMan.id, // ID имеет тип UUID + command = EditFilmCommand( + title = "Delayed", + description = "-" + ) + ) println(filmSpiderMan) println("Редактирование пользователя ${userAboba.name}") diff --git a/src/main/kotlin/com/project/movienight/adapters/persistence/FilmLibraryRepository.kt b/src/main/kotlin/com/project/movienight/adapters/persistence/FilmLibraryRepository.kt index 4f5c6e8..4cef7d4 100644 --- a/src/main/kotlin/com/project/movienight/adapters/persistence/FilmLibraryRepository.kt +++ b/src/main/kotlin/com/project/movienight/adapters/persistence/FilmLibraryRepository.kt @@ -3,6 +3,7 @@ package com.project.movienight.adapters.persistence import com.project.movienight.domain.model.FilmLibrary import org.springframework.jdbc.core.JdbcTemplate import org.springframework.stereotype.Repository +import java.util.UUID @Repository class FilmLibraryRepository(private val jdbc: JdbcTemplate) { @@ -12,9 +13,9 @@ class FilmLibraryRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM favorites WHERE id = ?", { rs, _ -> FilmLibrary( - id = rs.getInt("id"), - userId = rs.getInt("userid"), - filmId = rs.getInt("film_id"), + id = UUID.fromString(rs.getString("id")), + userId = UUID.fromString(rs.getString("userid")), + filmId = UUID.fromString(rs.getString("film_id")), comment = rs.getString("comment"), isViewed = rs.getBoolean("is_viewed"), ) @@ -27,9 +28,9 @@ class FilmLibraryRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM favorites WHERE userid = ?", { rs, _ -> FilmLibrary( - id = rs.getInt("id"), - userId = rs.getInt("userid"), - filmId = rs.getInt("film_id"), + id = UUID.fromString(rs.getString("id")), + userId = UUID.fromString(rs.getString("userid")), + filmId = UUID.fromString(rs.getString("film_id")), comment = rs.getString("comment"), isViewed = rs.getBoolean("is_viewed"), ) @@ -42,9 +43,9 @@ class FilmLibraryRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM favorites" ) { rs, _ -> FilmLibrary( - id = rs.getInt("id"), - userId = rs.getInt("userid"), - filmId = rs.getInt("film_id"), + id = UUID.fromString(rs.getString("id")), + userId = UUID.fromString(rs.getString("userid")), + filmId = UUID.fromString(rs.getString("film_id")), comment = rs.getString("comment"), isViewed = rs.getBoolean("is_viewed"), ) @@ -55,9 +56,9 @@ class FilmLibraryRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM favorites ORDER BY $sortBy LIMIT ?", { rs, _ -> FilmLibrary( - id = rs.getInt("id"), - userId = rs.getInt("userid"), - filmId = rs.getInt("film_id"), + id = UUID.fromString(rs.getString("id")), + userId = UUID.fromString(rs.getString("userid")), + filmId = UUID.fromString(rs.getString("film_id")), comment = rs.getString("comment"), isViewed = rs.getBoolean("is_viewed"), ) diff --git a/src/main/kotlin/com/project/movienight/adapters/persistence/FilmRepository.kt b/src/main/kotlin/com/project/movienight/adapters/persistence/FilmRepository.kt index 5c9b209..7caabf2 100644 --- a/src/main/kotlin/com/project/movienight/adapters/persistence/FilmRepository.kt +++ b/src/main/kotlin/com/project/movienight/adapters/persistence/FilmRepository.kt @@ -4,6 +4,7 @@ import com.project.movienight.domain.model.Film import org.springframework.jdbc.core.JdbcTemplate import org.springframework.stereotype.Repository import java.time.LocalDate +import java.util.UUID @Repository class FilmRepository(private val jdbc: JdbcTemplate) { @@ -13,10 +14,9 @@ class FilmRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM films WHERE id = ?", { rs, _ -> Film( - id = rs.getInt("id"), + id = UUID.fromString(rs.getString("id")), title = rs.getString("title"), - genreId = rs.getInt("genre_id"), - issueDate = rs.getDate("issue_date")?.toLocalDate(), + description = rs.getString("description"), ) }, id @@ -27,10 +27,9 @@ class FilmRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM films" ) { rs, _ -> Film( - id = rs.getInt("id"), + id = UUID.fromString(rs.getString("id")), title = rs.getString("title"), - genreId = rs.getInt("genre_id"), - issueDate = rs.getDate("issue_date")?.toLocalDate(), + description = rs.getString("description"), ) } @@ -39,10 +38,9 @@ class FilmRepository(private val jdbc: JdbcTemplate) { "SELECT * FROM films ORDER BY $sortBy LIMIT ?", { rs, _ -> Film( - id = rs.getInt("id"), + id = UUID.fromString(rs.getString("id")), title = rs.getString("title"), - genreId = rs.getInt("genre_id"), - issueDate = rs.getDate("issue_date")?.toLocalDate(), + description = rs.getString("description"), ) }, limit @@ -56,8 +54,8 @@ class FilmRepository(private val jdbc: JdbcTemplate) { ON CONFLICT (id) DO UPDATE SET title = ?, genre_id = ?, issue_date = ? """, - film.title, film.genreId, film.issueDate, - film.title, film.genreId, film.issueDate + film.title, + film.title, ) } diff --git a/src/main/kotlin/com/project/movienight/domain/model/Film.kt b/src/main/kotlin/com/project/movienight/domain/model/Film.kt index d1e6319..b8cec2f 100644 --- a/src/main/kotlin/com/project/movienight/domain/model/Film.kt +++ b/src/main/kotlin/com/project/movienight/domain/model/Film.kt @@ -1,10 +1,10 @@ package com.project.movienight.domain.model import java.time.LocalDate +import java.util.UUID data class Film( - val id: Int, + val id: UUID, val title: String, - val genreId: Int, - val issueDate: LocalDate?, + val description: String, ) diff --git a/src/main/kotlin/com/project/movienight/domain/model/FilmLibrary.kt b/src/main/kotlin/com/project/movienight/domain/model/FilmLibrary.kt index 040a474..868f57a 100644 --- a/src/main/kotlin/com/project/movienight/domain/model/FilmLibrary.kt +++ b/src/main/kotlin/com/project/movienight/domain/model/FilmLibrary.kt @@ -1,9 +1,11 @@ package com.project.movienight.domain.model +import java.util.UUID + data class FilmLibrary( - val id: Int, - val userId: Int, - val filmId: Int, + val id: UUID, + val userId: UUID, + val filmId: UUID, val comment: String?, val isViewed: Boolean, )