diff options
author | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 10:42:28 +0500 |
---|---|---|
committer | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 10:42:28 +0500 |
commit | 0225bdb772d1334cc1aa7ab0fc3678df0864df6b (patch) | |
tree | 85a8c8e4fcf1d935fcbad54886b73410c8cb2e26 /src/main/java/com/mavlushechka/barbershop/controller/HomeController.java |
Initializemain
Diffstat (limited to 'src/main/java/com/mavlushechka/barbershop/controller/HomeController.java')
-rw-r--r-- | src/main/java/com/mavlushechka/barbershop/controller/HomeController.java | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/barbershop/controller/HomeController.java b/src/main/java/com/mavlushechka/barbershop/controller/HomeController.java new file mode 100644 index 0000000..e3a96c8 --- /dev/null +++ b/src/main/java/com/mavlushechka/barbershop/controller/HomeController.java @@ -0,0 +1,91 @@ +package com.mavlushechka.barbershop.controller; + +import com.mavlushechka.barbershop.domain.*; +import com.mavlushechka.barbershop.repository.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.Base64; +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Controller +public class HomeController { + @Autowired + private VisitorRepository visitorRepository; + @Autowired + private AppointmentRepository appointmentRepository; + @Autowired + private BarberRepository barberRepository; + @Autowired + private SlideRepository slideRepository; + @Autowired + private TestimonialRepository testimonialRepository; + @Autowired + private MessageRepository messageRepository; + + @GetMapping + public String home(Map<String, Object> model) { + List<Slide> slides = slideRepository.findAll(); + List<Barber> barbers = barberRepository.findAll(); + List<Testimonial> testimonials = testimonialRepository.findAll(); + + for (Slide slide : slides) { + slide.setEncodedPhoto(Base64.getEncoder().encodeToString(slide.getPhoto().getData())); + } + for (Barber barber : barbers) { + barber.setEncodedPhoto(Base64.getEncoder().encodeToString(barber.getPhoto().getData())); + } + for (Testimonial testimonial : testimonials) { + testimonial.setEncodedPhoto(Base64.getEncoder().encodeToString(testimonial.getPhoto().getData())); + } + model.put("slides", slides); + model.put("barbers", barbers); + model.put("testimonials", testimonials); + visitorRepository.save(new Visitor(new Date())); + return "index"; + } + + @GetMapping("/services") + public String services(Map<String, Object> model) { + model.put("barbers", barberRepository.findAll()); + return "services"; + } + + @GetMapping("/about") + public String about(Map<String, Object> model) { + List<Barber> barbers = barberRepository.findAll(); + List<Testimonial> testimonials = testimonialRepository.findAll(); + + for (Barber barber : barbers) { + barber.setEncodedPhoto(Base64.getEncoder().encodeToString(barber.getPhoto().getData())); + } + for (Testimonial testimonial : testimonials) { + testimonial.setEncodedPhoto(Base64.getEncoder().encodeToString(testimonial.getPhoto().getData())); + } + model.put("barbers", barbers); + model.put("testimonials", testimonials); + return "about"; + } + + @GetMapping("/contact") + public String contact(Map<String, Object> model) { + model.put("barbers", barberRepository.findAll()); + return "contact"; + } + + @PostMapping("/save/appointment") + public String saveAppointment(Appointment appointment) { + appointmentRepository.save(appointment); + return "redirect:/"; + } + + @PostMapping("/save/message") + public String saveAppointment(Message message) { + messageRepository.save(message); + return "redirect:/"; + } +} |