diff --git a/README.md b/README.md index 3b62c5a..e5e0f74 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # java-filmorate ### Описание (Description) The Filmorate project — это приложение для работы с базой данных фильмов. +А также площадка для общения и взаимодействия пользователей. + ### Основные возможности - Хранение данных о фильмах - Хранение данных о пользователях @@ -8,11 +10,17 @@ The Filmorate project — это приложение для работы с б - Возможность пользователям добавлять друг друга в друзья - Возможность получать рейтинг TOP_N фильмов по количеству лайков - Возможность получать общих с другим пользователем фильмов с сортировкой по их популярности +- Возможность заводить друзей +- Возможность оставлять отзывы о фильмах - Фильмы содержат возрастные ограничения по стандарту MPPA +- Реализован поиск по названию и описанию - Реализована система жанров для фильмов +- Есть лента событий + ### Требования (Environmental Requirements) Для запуска проекта требуется: - Java версии 21 -Приложение работает на порту 8080 +Приложение работает на порту 8080 + ### Установка и запуск (Installation and Running) Откройте терминал в корне проекта и выполните команды для запуска приложения. diff --git a/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java b/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java index d8e2a74..1edda74 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java +++ b/src/main/java/ru/yandex/practicum/filmorate/dto/request/create/UserCreateRequest.java @@ -8,7 +8,7 @@ @Data public class UserCreateRequest { - @Size(min = 2, max = 50, message = "Длина имени пользователя может быть от 2 до 50 символов.") + @Size(max = 50, message = "Длина имени пользователя не может быть больше 50 символов.") private String name; @NotNull(message = "Логин должен быть указан.") diff --git a/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java b/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java index 6276e1e..5a211d2 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java +++ b/src/main/java/ru/yandex/practicum/filmorate/dto/request/update/UserUpdateRequest.java @@ -12,7 +12,7 @@ public class UserUpdateRequest { @Positive(message = "Id должен быть положительным числом.") private Long id; - @Size(min = 2, max = 50, message = "Длина имени пользователя может быть от 2 до 50 символов.") + @Size(max = 50, message = "Длина имени пользователя не может быть больше 50 символов.") private String name; @Pattern(regexp = "^[A-Za-z0-9_]+$", message = "Логин может состоять только из этих символов [A-Za-z0-9_].") diff --git a/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java b/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java index 76ec5d5..c7d7d20 100644 --- a/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java +++ b/src/main/java/ru/yandex/practicum/filmorate/servise/UserService.java @@ -90,6 +90,10 @@ public void changeFriends(FriendsAction action, long userId, long friendId) { public UserDto create(UserCreateRequest request) { log.info("Добавление нового пользователя login={}.", request.getLogin()); + if (request.getName().isBlank()) { + request.setName(request.getLogin()); + } + User user = UserMapper.mapToUser(request); try { @@ -103,6 +107,10 @@ public UserDto create(UserCreateRequest request) { public UserDto update(UserUpdateRequest request) { log.info("Обновление данных о пользователе с id={}.", request.getId()); + if (request.getName().isBlank()) { + request.setName(request.getLogin()); + } + User oldUser = findUser(request.getId()); logUserUpdate(request, oldUser); User newUser = UserMapper.updateUserFields(oldUser, request);