класс избранное репозиторий и сервис

This commit is contained in:
ekallin 2024-03-18 12:10:52 +04:00
parent 58581e731b
commit fa6fbd2323
2 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,11 @@
package com.example.backend.favorites.repository;
import org.springframework.stereotype.Repository;
import com.example.backend.core.repository.MapRepository;
import com.example.backend.favorites.model.FavoriteEntity;
@Repository
public class FavoriteRepository extends MapRepository<FavoriteEntity> {
}

View File

@ -0,0 +1,49 @@
package com.example.backend.favorites.service;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import org.springframework.stereotype.Service;
import com.example.backend.core.errors.NotFoundException;
import com.example.backend.favorites.model.FavoriteEntity;
import com.example.backend.favorites.repository.FavoriteRepository;
@Service
public class FavoriteService {
private final FavoriteRepository repository;
public FavoriteService(FavoriteRepository repository) {
this.repository = repository;
}
public List<FavoriteEntity> getAll(Integer userId) {
if (Objects.equals(userId, 0)) {
return repository.getAll();
}
return repository.getAll().stream()
.filter(item -> item.getUser().getId().equals(userId))
.toList();
}
public FavoriteEntity get(Integer id) {
return Optional.ofNullable(repository.get(id)).orElseThrow(() -> new NotFoundException(id));
}
public FavoriteEntity create(FavoriteEntity entity) {
return repository.create(entity);
}
public FavoriteEntity update(Integer id, FavoriteEntity entity) {
final FavoriteEntity exisEntity = get(id);
exisEntity.setUser(entity.getUser());
exisEntity.setMovie(entity.getMovie());
return repository.update(exisEntity);
}
public FavoriteEntity delete(Integer id) {
final FavoriteEntity exisEntity = get(id);
return repository.delete(exisEntity);
}
}