думаю на этом всё, осталось сделать реакт
This commit is contained in:
parent
8f17dd6365
commit
728b166be0
@ -1,8 +1,8 @@
|
|||||||
package com.LabWork.app.MangaStore.configuration;
|
package com.LabWork.app.MangaStore.configuration;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.controller.UserSignupMvcController;
|
import com.LabWork.app.MangaStore.controller.User.UserSignupMvcController;
|
||||||
import com.LabWork.app.MangaStore.user.model.UserRole;
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
import com.LabWork.app.MangaStore.user.service.UserService;
|
import com.LabWork.app.MangaStore.service.UserService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
@ -6,7 +6,7 @@ import com.LabWork.app.MangaStore.service.CreatorService;
|
|||||||
import com.LabWork.app.MangaStore.service.MangaService;
|
import com.LabWork.app.MangaStore.service.MangaService;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.UserRole;
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.security.access.annotation.Secured;
|
import org.springframework.security.access.annotation.Secured;
|
||||||
@ -38,7 +38,7 @@ public class CreatorActionMvcController {
|
|||||||
creatorService.findAllCreators().stream()
|
creatorService.findAllCreators().stream()
|
||||||
.map(CreatorMangaDto::new)
|
.map(CreatorMangaDto::new)
|
||||||
.toList());
|
.toList());
|
||||||
CreatorMangaDto currentCreator = new CreatorMangaDto(creatorService.findCreator(creatorService.findByLogin(user).getId()));
|
CreatorMangaDto currentCreator = new CreatorMangaDto(creatorService.findByLogin(user));
|
||||||
model.addAttribute("currentCreator", currentCreator);
|
model.addAttribute("currentCreator", currentCreator);
|
||||||
model.addAttribute("creatorId", currentCreator.getId());
|
model.addAttribute("creatorId", currentCreator.getId());
|
||||||
return "creatorAction";
|
return "creatorAction";
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
package com.LabWork.app.MangaStore.controller.Creator;
|
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.configuration.WebConfiguration;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.CreatorMangaDto;
|
|
||||||
import com.LabWork.app.MangaStore.service.CreatorService;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping(WebConfiguration.REST_API + "/creator")
|
|
||||||
public class CreatorController {
|
|
||||||
private final CreatorService creatorService;
|
|
||||||
|
|
||||||
public CreatorController(CreatorService creatorService) {
|
|
||||||
this.creatorService = creatorService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
|
||||||
public CreatorMangaDto getCreator(@PathVariable Long id) {
|
|
||||||
return new CreatorMangaDto(creatorService.findCreator(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping
|
|
||||||
public List<CreatorMangaDto> getCreators() {
|
|
||||||
return creatorService.findAllCreators().stream()
|
|
||||||
.map(CreatorMangaDto::new)
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping("/{id}")
|
|
||||||
public CreatorMangaDto updateCreator(@PathVariable Long id,
|
|
||||||
@RequestParam("creatorName") String creatorName,
|
|
||||||
@RequestParam("password") String password) {
|
|
||||||
return new CreatorMangaDto(creatorService.updateCreator(id, creatorName, password));
|
|
||||||
}
|
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
|
||||||
public CreatorMangaDto deleteCreator(@PathVariable Long id) {
|
|
||||||
//creatorService.deleteAllCreators();
|
|
||||||
return new CreatorMangaDto(creatorService.deleteCreator(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@DeleteMapping
|
|
||||||
public void deleteAllCreator() {
|
|
||||||
creatorService.deleteAllCreators();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
package com.LabWork.app.MangaStore.controller.Manga;
|
|
||||||
|
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.configuration.WebConfiguration;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.MangaReaderDto;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.ReaderMangaDto;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.SupportDto.MangaDto;
|
|
||||||
import com.LabWork.app.MangaStore.service.MangaService;
|
|
||||||
|
|
||||||
import javax.validation.Valid;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping(WebConfiguration.REST_API + "/manga")
|
|
||||||
public class MangaController {
|
|
||||||
private final MangaService mangaService;
|
|
||||||
|
|
||||||
public MangaController(MangaService mangaService) {
|
|
||||||
this.mangaService = mangaService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
|
||||||
public MangaReaderDto getManga(@PathVariable Long id) {
|
|
||||||
return new MangaReaderDto(mangaService.findManga(id), mangaService.getReader(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping
|
|
||||||
public List<MangaReaderDto> getMangas() {
|
|
||||||
return mangaService.findAllMangas().stream()
|
|
||||||
.map(x -> new MangaReaderDto(x, mangaService.getReader(x.getId())))
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/{id}/readers")
|
|
||||||
public List<ReaderMangaDto> getReaders(@PathVariable Long id) {
|
|
||||||
return mangaService.getReader(id).stream()
|
|
||||||
.map(x -> new ReaderMangaDto(x))
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
|
||||||
public MangaDto deleteManga(@PathVariable Long id) {
|
|
||||||
return new MangaDto(mangaService.deleteManga(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping
|
|
||||||
public MangaDto createManga(@RequestBody @Valid MangaDto mangaDto) {
|
|
||||||
return new MangaDto(mangaService.addManga(mangaDto));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping("/{id}")
|
|
||||||
public MangaDto updateManga(@RequestBody @Valid MangaDto mangaDto) {
|
|
||||||
return new MangaDto(mangaService.updateManga(mangaDto));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +1,12 @@
|
|||||||
package com.LabWork.app.MangaStore.controller.Reader;
|
package com.LabWork.app.MangaStore.controller.Reader;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.CreatorMangaDto;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.ReaderMangaDto;
|
import com.LabWork.app.MangaStore.model.Dto.ReaderMangaDto;
|
||||||
import com.LabWork.app.MangaStore.model.Dto.SupportDto.MangaDto;
|
import com.LabWork.app.MangaStore.model.Dto.SupportDto.MangaDto;
|
||||||
import com.LabWork.app.MangaStore.service.ReaderService;
|
import com.LabWork.app.MangaStore.service.ReaderService;
|
||||||
import com.LabWork.app.MangaStore.service.MangaService;
|
import com.LabWork.app.MangaStore.service.MangaService;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.UserRole;
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.security.access.annotation.Secured;
|
import org.springframework.security.access.annotation.Secured;
|
||||||
@ -16,8 +15,6 @@ import org.springframework.ui.Model;
|
|||||||
import org.springframework.validation.BindingResult;
|
import org.springframework.validation.BindingResult;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/readerAction")
|
@RequestMapping("/readerAction")
|
||||||
@Secured({UserRole.AsString.USER})
|
@Secured({UserRole.AsString.USER})
|
||||||
@ -37,7 +34,7 @@ public class ReaderActionMvcController {
|
|||||||
readerService.findAllReaders().stream()
|
readerService.findAllReaders().stream()
|
||||||
.map(ReaderMangaDto::new)
|
.map(ReaderMangaDto::new)
|
||||||
.toList());
|
.toList());
|
||||||
ReaderMangaDto currentReader = new ReaderMangaDto(readerService.findReader(readerService.findByLogin(user).getId()));
|
ReaderMangaDto currentReader = new ReaderMangaDto(readerService.findByLogin(user));
|
||||||
model.addAttribute("readerId", currentReader.getId());
|
model.addAttribute("readerId", currentReader.getId());
|
||||||
model.addAttribute("reader", new ReaderMangaDto(readerService.findReader(currentReader.getId())));
|
model.addAttribute("reader", new ReaderMangaDto(readerService.findReader(currentReader.getId())));
|
||||||
model.addAttribute("MangaDto", new MangaDto());
|
model.addAttribute("MangaDto", new MangaDto());
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
package com.LabWork.app.MangaStore.controller.Reader;
|
|
||||||
|
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.configuration.WebConfiguration;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.ReaderMangaDto;
|
|
||||||
import com.LabWork.app.MangaStore.model.Dto.SupportDto.MangaDto;
|
|
||||||
import com.LabWork.app.MangaStore.service.ReaderService;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping(WebConfiguration.REST_API + "/reader")
|
|
||||||
public class ReaderController {
|
|
||||||
private final ReaderService readerService;
|
|
||||||
|
|
||||||
public ReaderController(ReaderService readerService) {
|
|
||||||
this.readerService = readerService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
|
||||||
public ReaderMangaDto getReader(@PathVariable Long id) {
|
|
||||||
return new ReaderMangaDto(readerService.findReader(id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@GetMapping
|
|
||||||
public List<ReaderMangaDto> getReaders() {
|
|
||||||
return readerService.findAllReaders().stream()
|
|
||||||
.map(ReaderMangaDto::new)
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping("/{id}")
|
|
||||||
public ReaderMangaDto updateReader(@PathVariable Long id,
|
|
||||||
@RequestParam("readerName") String readerName,
|
|
||||||
@RequestParam("password") String password) {
|
|
||||||
return new ReaderMangaDto(readerService.updateReader(id, readerName, password));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping("/{id}/addManga")
|
|
||||||
public MangaDto addManga(@PathVariable Long id,
|
|
||||||
@RequestParam("mangaId") Long mangaId) {
|
|
||||||
return new MangaDto(readerService.addManga(mangaId, id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@PutMapping("/{id}/removeManga")
|
|
||||||
public MangaDto removeManga(@PathVariable Long id,
|
|
||||||
@RequestParam("mangaId") Long mangaId) {
|
|
||||||
return new MangaDto(readerService.removeManga(mangaId, id));
|
|
||||||
}
|
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
|
||||||
public ReaderMangaDto deleteReader(@PathVariable Long id) {
|
|
||||||
return new ReaderMangaDto(readerService.deleteReader(id));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +1,8 @@
|
|||||||
package com.LabWork.app.MangaStore.user.controller;
|
package com.LabWork.app.MangaStore.controller.User;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.UserDto;
|
import com.LabWork.app.MangaStore.model.Dto.UserDto;
|
||||||
import com.LabWork.app.MangaStore.user.model.UserRole;
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
import com.LabWork.app.MangaStore.user.service.UserService;
|
import com.LabWork.app.MangaStore.service.UserService;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.security.access.annotation.Secured;
|
import org.springframework.security.access.annotation.Secured;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
@ -1,8 +1,8 @@
|
|||||||
package com.LabWork.app.MangaStore.user.controller;
|
package com.LabWork.app.MangaStore.controller.User;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
import com.LabWork.app.MangaStore.model.Default.User;
|
||||||
import com.LabWork.app.MangaStore.user.model.UserSignupDto;
|
import com.LabWork.app.MangaStore.model.Dto.UserSignupDto;
|
||||||
import com.LabWork.app.MangaStore.user.service.UserService;
|
import com.LabWork.app.MangaStore.service.UserService;
|
||||||
import com.LabWork.app.MangaStore.util.validation.ValidationException;
|
import com.LabWork.app.MangaStore.util.validation.ValidationException;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
@ -1,9 +1,6 @@
|
|||||||
package com.LabWork.app.MangaStore.model.Default;
|
package com.LabWork.app.MangaStore.model.Default;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import javax.validation.constraints.NotBlank;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -25,8 +25,6 @@ public class Manga {
|
|||||||
@JoinColumn(name="creator_fk")
|
@JoinColumn(name="creator_fk")
|
||||||
private Creator creator;
|
private Creator creator;
|
||||||
|
|
||||||
private Long creatorId;
|
|
||||||
|
|
||||||
@Lob
|
@Lob
|
||||||
private byte[] image;
|
private byte[] image;
|
||||||
public Manga() {
|
public Manga() {
|
||||||
|
@ -2,9 +2,6 @@ package com.LabWork.app.MangaStore.model.Default;
|
|||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
|
||||||
import org.hibernate.annotations.Cascade;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.LabWork.app.MangaStore.user.model;
|
package com.LabWork.app.MangaStore.model.Default;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
@ -1,4 +1,4 @@
|
|||||||
package com.LabWork.app.MangaStore.user.model;
|
package com.LabWork.app.MangaStore.model.Default;
|
||||||
|
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
|
|
@ -1,4 +1,7 @@
|
|||||||
package com.LabWork.app.MangaStore.user.model;
|
package com.LabWork.app.MangaStore.model.Dto;
|
||||||
|
|
||||||
|
import com.LabWork.app.MangaStore.model.Default.User;
|
||||||
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
|
|
||||||
public class UserDto {
|
public class UserDto {
|
||||||
private final long id;
|
private final long id;
|
@ -1,4 +1,6 @@
|
|||||||
package com.LabWork.app.MangaStore.user.model;
|
package com.LabWork.app.MangaStore.model.Dto;
|
||||||
|
|
||||||
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
@ -5,8 +5,8 @@ import com.LabWork.app.MangaStore.model.Default.Manga;
|
|||||||
import com.LabWork.app.MangaStore.model.Default.Reader;
|
import com.LabWork.app.MangaStore.model.Default.Reader;
|
||||||
import com.LabWork.app.MangaStore.service.Repository.CreatorRepository;
|
import com.LabWork.app.MangaStore.service.Repository.CreatorRepository;
|
||||||
import com.LabWork.app.MangaStore.service.Exception.CreatorNotFoundException;
|
import com.LabWork.app.MangaStore.service.Exception.CreatorNotFoundException;
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
import com.LabWork.app.MangaStore.model.Default.User;
|
||||||
import com.LabWork.app.MangaStore.user.repository.UserRepository;
|
import com.LabWork.app.MangaStore.service.Repository.UserRepository;
|
||||||
import com.LabWork.app.MangaStore.util.validation.ValidatorUtil;
|
import com.LabWork.app.MangaStore.util.validation.ValidatorUtil;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@ -36,8 +36,9 @@ public class CreatorService {
|
|||||||
final Optional<Creator> creator = creatorRepository.findById(id);
|
final Optional<Creator> creator = creatorRepository.findById(id);
|
||||||
return creator.orElseThrow(() -> new CreatorNotFoundException(id));
|
return creator.orElseThrow(() -> new CreatorNotFoundException(id));
|
||||||
}
|
}
|
||||||
public User findByLogin(String login) {
|
|
||||||
return userRepository.findOneByLoginIgnoreCase(login);
|
public Creator findByLogin(String login) {
|
||||||
|
return findCreator(userRepository.findOneByLoginIgnoreCase(login).getId());
|
||||||
}
|
}
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public User findUser(Long id) {
|
public User findUser(Long id) {
|
||||||
@ -54,31 +55,4 @@ public class CreatorService {
|
|||||||
validatorUtil.validate(creator);
|
validatorUtil.validate(creator);
|
||||||
return creatorRepository.save(creator);
|
return creatorRepository.save(creator);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public Creator updateCreator(Long id, String creatorName, String password) {
|
|
||||||
final User currentUser = findUser(id);
|
|
||||||
currentUser.setLogin(creatorName);
|
|
||||||
currentUser.setPassword(password);
|
|
||||||
validatorUtil.validate(currentUser);
|
|
||||||
return findCreator(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public Creator deleteCreator(Long id) {
|
|
||||||
final Creator currentCreator = findCreator(id);
|
|
||||||
List<Manga> listManga = currentCreator.getMangas();
|
|
||||||
for (Manga manga : listManga){
|
|
||||||
for (final Reader reader :mangaService.getReader(manga.getId())){
|
|
||||||
reader.getMangas().remove(manga);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
creatorRepository.delete(currentCreator);
|
|
||||||
return currentCreator;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public void deleteAllCreators() {
|
|
||||||
creatorRepository.deleteAll();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.LabWork.app.MangaStore.service;
|
package com.LabWork.app.MangaStore.service;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.model.Default.Creator;
|
|
||||||
import com.LabWork.app.MangaStore.model.Default.Manga;
|
import com.LabWork.app.MangaStore.model.Default.Manga;
|
||||||
import com.LabWork.app.MangaStore.model.Default.Reader;
|
import com.LabWork.app.MangaStore.model.Default.Reader;
|
||||||
import com.LabWork.app.MangaStore.service.Exception.CreatorNotFoundException;
|
import com.LabWork.app.MangaStore.service.Exception.CreatorNotFoundException;
|
||||||
@ -8,8 +7,8 @@ import com.LabWork.app.MangaStore.service.Repository.MangaRepository;
|
|||||||
import com.LabWork.app.MangaStore.service.Repository.ReaderRepository;
|
import com.LabWork.app.MangaStore.service.Repository.ReaderRepository;
|
||||||
import com.LabWork.app.MangaStore.service.Exception.MangaNotFoundException;
|
import com.LabWork.app.MangaStore.service.Exception.MangaNotFoundException;
|
||||||
import com.LabWork.app.MangaStore.service.Exception.ReaderNotFoundException;
|
import com.LabWork.app.MangaStore.service.Exception.ReaderNotFoundException;
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
import com.LabWork.app.MangaStore.model.Default.User;
|
||||||
import com.LabWork.app.MangaStore.user.repository.UserRepository;
|
import com.LabWork.app.MangaStore.service.Repository.UserRepository;
|
||||||
import com.LabWork.app.MangaStore.util.validation.ValidatorUtil;
|
import com.LabWork.app.MangaStore.util.validation.ValidatorUtil;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@ -40,8 +39,8 @@ public class ReaderService {
|
|||||||
return reader.orElseThrow(() -> new ReaderNotFoundException(id));
|
return reader.orElseThrow(() -> new ReaderNotFoundException(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public User findByLogin(String login) {
|
public Reader findByLogin(String login) {
|
||||||
return userRepository.findOneByLoginIgnoreCase(login);
|
return findReader(userRepository.findOneByLoginIgnoreCase(login).getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
@ -62,28 +61,6 @@ public class ReaderService {
|
|||||||
return readerRepository.save(reader);
|
return readerRepository.save(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public Reader updateReader(Long id, String creatorName, String password) {
|
|
||||||
final User currentUser = findUser(id);
|
|
||||||
currentUser.setLogin(creatorName);
|
|
||||||
currentUser.setPassword(password);
|
|
||||||
validatorUtil.validate(currentUser);
|
|
||||||
return findReader(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public Reader deleteReader(Long id) {
|
|
||||||
final Reader currentReader = findReader(id);
|
|
||||||
currentReader.getMangas().clear();
|
|
||||||
readerRepository.delete(currentReader);
|
|
||||||
return currentReader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public void deleteAllReaders() {
|
|
||||||
readerRepository.deleteAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public Manga findManga(Long id) {
|
public Manga findManga(Long id) {
|
||||||
final Optional<Manga> manga = mangaRepository.findById(id);
|
final Optional<Manga> manga = mangaRepository.findById(id);
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.LabWork.app.MangaStore.service.Repository;
|
package com.LabWork.app.MangaStore.service.Repository;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.model.Default.Creator;
|
import com.LabWork.app.MangaStore.model.Default.Creator;
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
public interface CreatorRepository extends JpaRepository<Creator, Long> {
|
public interface CreatorRepository extends JpaRepository<Creator, Long> {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.LabWork.app.MangaStore.user.repository;
|
package com.LabWork.app.MangaStore.service.Repository;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
import com.LabWork.app.MangaStore.model.Default.User;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
package com.LabWork.app.MangaStore.user.service;
|
package com.LabWork.app.MangaStore.service;
|
||||||
|
|
||||||
import com.LabWork.app.MangaStore.service.CreatorService;
|
import com.LabWork.app.MangaStore.service.CreatorService;
|
||||||
import com.LabWork.app.MangaStore.service.ReaderService;
|
import com.LabWork.app.MangaStore.service.ReaderService;
|
||||||
import com.LabWork.app.MangaStore.user.model.UserRole;
|
import com.LabWork.app.MangaStore.model.Default.UserRole;
|
||||||
import com.LabWork.app.MangaStore.util.validation.ValidationException;
|
import com.LabWork.app.MangaStore.util.validation.ValidationException;
|
||||||
import com.LabWork.app.MangaStore.util.validation.ValidatorUtil;
|
import com.LabWork.app.MangaStore.util.validation.ValidatorUtil;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
@ -13,8 +13,8 @@ import org.springframework.security.core.userdetails.UserDetailsService;
|
|||||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.LabWork.app.MangaStore.user.model.User;
|
import com.LabWork.app.MangaStore.model.Default.User;
|
||||||
import com.LabWork.app.MangaStore.user.repository.UserRepository;
|
import com.LabWork.app.MangaStore.service.Repository.UserRepository;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -46,10 +46,6 @@ public class UserService implements UserDetailsService {
|
|||||||
return userRepository.findOneByLoginIgnoreCase(login);
|
return userRepository.findOneByLoginIgnoreCase(login);
|
||||||
}
|
}
|
||||||
|
|
||||||
public User createUser(String login, String password, String passwordConfirm) {
|
|
||||||
return createUser(login, password, passwordConfirm, UserRole.USER);
|
|
||||||
}
|
|
||||||
|
|
||||||
public User createUser(String login, String password, String passwordConfirm, UserRole role) {
|
public User createUser(String login, String password, String passwordConfirm, UserRole role) {
|
||||||
if (findByLogin(login) != null) {
|
if (findByLogin(login) != null) {
|
||||||
throw new ValidationException(String.format("User '%s' already exists", login));
|
throw new ValidationException(String.format("User '%s' already exists", login));
|
@ -45,7 +45,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="pt-3 description mb-3 fs-6 fw-bold">
|
<div class="pt-3 description mb-3 fs-6 fw-bold">
|
||||||
Имя пользователя:
|
Имя пользователя:
|
||||||
<a th:href="@{/readerAction/{id}(id=${reader.id})}" th:text="${reader.readerName}"></a>
|
<a th:href="@{/readerAction/(readerId=${reader.id})}" th:text="${reader.readerName}"></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user