opencv/src/main/java/pl/edu/amu/wmi/bookapi/service/BookService.java

51 lines
1.7 KiB
Java

package pl.edu.amu.wmi.bookapi.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import pl.edu.amu.wmi.bookapi.api.dto.BookDto;
import pl.edu.amu.wmi.bookapi.models.BookDocument;
import pl.edu.amu.wmi.bookapi.repositories.BookRepository;
import java.util.List;
@Service
public class BookService {
BookRepository bookRepository;
ImageProcessingService imageProcessingService;
@Autowired
public BookService(BookRepository bookRepository, ImageProcessingService imageProcessingService) {
this.imageProcessingService = imageProcessingService;
this.bookRepository = bookRepository;
}
public void deleteBook(String userName, String bookId) {
bookRepository.deleteById(bookId);
}
public List<BookDocument> findAllForUser(String userName) {
return bookRepository.findAllByOwnerUsername(userName);
}
public void saveBook(String userName, BookDto bookDto) {
System.out.println("saving");
System.out.println(bookRepository.save(BookDocument.from(userName, bookDto)));
}
public void handleImageUpload(MultipartFile imageFile, String author, String title) throws Exception {
String detectedEan = imageProcessingService.getDecodedEan(imageFile);
if (detectedEan == null) detectedEan = "Test";
saveBook("admin", new BookDto(detectedEan, author, title));
}
public List<BookDocument> findAll() {
return bookRepository.findAll();
}
public BookDocument updateBook(String bookId, String userId, BookDto bookDto) {
return bookRepository.updateBook(bookId, userId, bookDto);
}
}