summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/barbershop/controller/HomeController.java
diff options
context:
space:
mode:
authorAlisaLinUwU <alisalinuwu@gmail.com>2025-01-26 10:42:28 +0500
committerAlisaLinUwU <alisalinuwu@gmail.com>2025-01-26 10:42:28 +0500
commit0225bdb772d1334cc1aa7ab0fc3678df0864df6b (patch)
tree85a8c8e4fcf1d935fcbad54886b73410c8cb2e26 /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.java91
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:/";
+ }
+}