Ignore:
Timestamp:
02/16/23 14:45:38 (17 months ago)
Author:
SazdovaEkaterina <sazdovaekaterina@…>
Branches:
main
Children:
3c7bf5b
Parents:
50f2c2a
Message:

adopt a pet button + save adoption to db

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/PetController.java

    r50f2c2a r9a180fd  
    11package finki.paw5.web.controllers;
    22
     3import finki.paw5.model.entities.Adoption;
     4import finki.paw5.model.entities.Pet;
     5import finki.paw5.model.entities.User;
     6import finki.paw5.model.exceptions.InvalidPetIdException;
     7import finki.paw5.service.AdoptionService;
    38import finki.paw5.service.PetService;
     9import jakarta.servlet.http.HttpServletRequest;
    410import org.springframework.stereotype.Controller;
     11import org.springframework.web.bind.annotation.PathVariable;
     12import org.springframework.web.bind.annotation.PostMapping;
     13
     14import java.time.LocalDate;
    515
    616@Controller
     
    818
    919    private final PetService petService;
     20    private final AdoptionService adoptionService;
    1021
    11     public PetController(PetService petService) {
     22    public PetController(PetService petService, AdoptionService adoptionService) {
    1223        this.petService = petService;
     24        this.adoptionService = adoptionService;
    1325    }
    1426
     27    @PostMapping("/submit-adopton-{id}")
     28    public String saveAdoption(@PathVariable Integer id, HttpServletRequest request) {
     29
     30        Pet pet = this.petService.findById(id).orElseThrow(InvalidPetIdException::new);
     31       
     32        User user = (User) request.getSession().getAttribute("user");
     33
     34        Adoption adoption = new Adoption(LocalDate.now(), null, false, user.getId());
     35        this.adoptionService.save(adoption);
     36
     37        pet.setAdoptionId(adoption.getId());
     38        this.petService.save(pet);
     39
     40        return "redirect:/home";
     41    }
    1542}
Note: See TracChangeset for help on using the changeset viewer.