diff --git a/application/src/main/java/com/dh7789dev/xpeditis/controller/UploadController.java b/application/src/main/java/com/dh7789dev/xpeditis/controller/UploadController.java deleted file mode 100644 index 941e51e..0000000 --- a/application/src/main/java/com/dh7789dev/xpeditis/controller/UploadController.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.dh7789dev.xpeditis.controller; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -import static org.springframework.http.MediaType.MULTIPART_FORM_DATA_VALUE; - -@Controller -public class UploadController { - - @Value("${file.upload-dir}") - String uploadDir; - - private final EventService eventService; - - private final GalleryService galleryService; - - public UploadController(EventService eventService, GalleryService galleryService) { - this.eventService = eventService; - this.galleryService = galleryService; - } - - @GetMapping("/uploadimage") - public String displayUploadForm() { - return "addImages"; - } - - @PostMapping(value = "/upload/{eventId}", consumes = MULTIPART_FORM_DATA_VALUE) - public String uploadImage(Model model, - @PathVariable long eventId, - @RequestParam("images") List images) { - - eventService.addImages(eventId, images); - StringBuilder fileNames = new StringBuilder(); - images.forEach(image -> fileNames.append(image.getOriginalFilename()).append(" ")); - model.addAttribute("msg", "Uploaded images: " + fileNames); - return "addImages"; - } - - @PostMapping(value = "/upload/gallery/{galleryId}", consumes = MULTIPART_FORM_DATA_VALUE) - public String uploadImageToGallery(Model model, - @PathVariable long galleryId, - @RequestParam("images") List images) { - - galleryService.addImages(galleryId, images); - StringBuilder fileNames = new StringBuilder(); - images.forEach(image -> fileNames.append(image.getOriginalFilename()).append(" ")); - model.addAttribute("msg", "Uploaded images: " + fileNames); - return "addImages"; - } - - @GetMapping("/addevent") - public String displayUploadFormToAddEvent() { - return "addEvent"; - } - - @PostMapping(value = "/upload", consumes = MULTIPART_FORM_DATA_VALUE) - public String addEvent(Model model, - @RequestPart("newEvent") Event newEvent, - @RequestPart("images") List images) { - eventService.addEvent(newEvent, images); - StringBuilder fileNames = new StringBuilder(); - images.forEach(image -> fileNames.append(image.getOriginalFilename()).append(" ")); - model.addAttribute("msg", "Uploaded images: " + fileNames); - return "addEvent"; - } -} diff --git a/domain/api/src/main/java/com/dh7789dev/xpeditis/EmailService.java b/domain/api/src/main/java/com/dh7789dev/xpeditis/EmailService.java deleted file mode 100644 index 7d3217c..0000000 --- a/domain/api/src/main/java/com/dh7789dev/xpeditis/EmailService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.dh7789dev.xpeditis; - -public interface EmailService { - - void sendCustomerReservationEmail(Reservation reservation); - - void sendAdminReservationEmail(Reservation reservation); -} diff --git a/domain/api/src/main/java/com/dh7789dev/xpeditis/StorageService.java b/domain/api/src/main/java/com/dh7789dev/xpeditis/StorageService.java deleted file mode 100644 index 3088145..0000000 --- a/domain/api/src/main/java/com/dh7789dev/xpeditis/StorageService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.dh7789dev.xpeditis; - -import org.springframework.core.io.Resource; -import org.springframework.web.multipart.MultipartFile; - -public interface StorageService { - - void init(); - - String upload(MultipartFile file, String newFileName); - - Resource download(String fileName); - - void delete(String fileName); -} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Company.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Company.java new file mode 100644 index 0000000..ea7ae98 --- /dev/null +++ b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Company.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dto; + +public class Company { +} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/ExportFolder.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/ExportFolder.java new file mode 100644 index 0000000..1843685 --- /dev/null +++ b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/ExportFolder.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dto; + +public class ExportFolder { +} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Gallery.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Gallery.java deleted file mode 100644 index 9949ae6..0000000 --- a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Gallery.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.dh7789dev.xpeditis.dto; - -import com.fasterxml.jackson.annotation.JsonInclude; -import jakarta.validation.constraints.NotBlank; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -import java.util.List; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -@JsonInclude(JsonInclude.Include.NON_EMPTY) -public class Gallery { - - Long id; - - @NotBlank(message = "name cannot be empty") - String name; - - String description; - - List images; - - @Override - public String toString() { - return "Gallery(" + String.format("name=%s, description=%s)", name, description); - } -} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Image.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Image.java deleted file mode 100644 index 0a5c10d..0000000 --- a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Image.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.dh7789dev.xpeditis.dto; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.AccessLevel; -import lombok.Data; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -@Data -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -public class Image { - - Long id; - - String name; - - @JsonIgnore - String path; - - String uri; - - public Image(String name) { - this.name = name; - } -} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/License.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/License.java new file mode 100644 index 0000000..084b395 --- /dev/null +++ b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/License.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dto; + +public class License { +} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Quote.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Quote.java new file mode 100644 index 0000000..a12d37e --- /dev/null +++ b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/Quote.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dto; + +public class Quote { +} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/RegisterRequest.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/RegisterRequest.java new file mode 100644 index 0000000..1a1eae7 --- /dev/null +++ b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/RegisterRequest.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dto; + +public class RegisterRequest { +} diff --git a/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/UserAccount.java b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/UserAccount.java new file mode 100644 index 0000000..d839d33 --- /dev/null +++ b/domain/data/src/main/java/com/dh7789dev/xpeditis/dto/UserAccount.java @@ -0,0 +1,20 @@ +package com.dh7789dev.xpeditis.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.List; + +@Data +@AllArgsConstructor +public class UserAccount { + private String username; + private String firstName; + private String lastName; + private String email; + private String password; + private String role; // or "ADMIN" + private Company company; + private License license; + private List quotes; +} diff --git a/domain/service/src/main/java/com/dh7789dev/xpeditis/EmailServiceImpl.java b/domain/service/src/main/java/com/dh7789dev/xpeditis/EmailServiceImpl.java deleted file mode 100644 index 5c67b5b..0000000 --- a/domain/service/src/main/java/com/dh7789dev/xpeditis/EmailServiceImpl.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.dh7789dev.xpeditis; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import java.time.format.DateTimeFormatter; - -@Service -public class EmailServiceImpl implements EmailService { - - @Value("${application.email.from}") - String adminEmail; - - private final EmailSenderRepository emailSenderRepository; - - private final DateTimeFormatter outputFormatter; - - @Autowired - public EmailServiceImpl(EmailSenderRepository emailSenderRepository) { - this.emailSenderRepository = emailSenderRepository; - this.outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy 'à' HH:mm"); - } - - protected String buildCustomerReservationEmail(String name, String date, int nbPerson) { - return "
\n" + - " \n" + - " \n" + - " \n" + - " \n" + - "
\n" + - "

Bienvenue au Restaurant le BLR!

\n" + - " \"Restaurant\n" + - "
\n" + - "

Bonjour " + name + ",

\n" + - "

\n" + - " Merci beaucoup pour votre réservation chez Le BLR.
\n" + - " Nous sommes ravis de vous avoir parmi nous !
\n" + - " Vous avez effectué une réservation pour " + nbPerson + " " + (nbPerson > 1 ? "personnes" : "personne") + ".
\n" + - " Nous avons hâte de vous accueillir dans notre restaurant le " + date + " et de vous offrir une expérience inoubliable !
\n" + - " À très bientôt,
\n" + - " L'équipe du Le BLR\n" + - "

\n" + - "
\n" + - "
"; - } - - @Override - public void sendCustomerReservationEmail(Reservation reservation) { - emailSenderRepository.send(reservation.getEmail(), - buildCustomerReservationEmail(reservation.getName(), reservation.getDate().format(outputFormatter), reservation.getNbPerson())); - } - - @Override - public void sendAdminReservationEmail(Reservation reservation) { - emailSenderRepository.send(adminEmail, - buildCustomerReservationEmail(reservation.getName(), reservation.getDate().format(outputFormatter), reservation.getNbPerson())); - } -} diff --git a/domain/service/src/main/java/com/dh7789dev/xpeditis/FileSystemStorageService.java b/domain/service/src/main/java/com/dh7789dev/xpeditis/FileSystemStorageService.java deleted file mode 100644 index 9f7cafb..0000000 --- a/domain/service/src/main/java/com/dh7789dev/xpeditis/FileSystemStorageService.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.dh7789dev.xpeditis; - -import com.dh7789dev.xpeditis.exception.StorageException; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.Resource; -import org.springframework.core.io.UrlResource; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; - -@Slf4j -@Service -public class FileSystemStorageService implements StorageService { - - @Value("${file.upload-dir}") - String uploadDir; - - @Override - public void init() { - Path directory = Paths.get(uploadDir); - if (!Files.exists(directory)) { - try { - log.info("Create directory {} to store images", directory); - Files.createDirectories(directory); - } catch (IOException e) { - throw new StorageException("Failed to create directory " + uploadDir, e); - } - } - } - - @Override - public String upload(MultipartFile file, String newFileName) { - - if (!file.isEmpty()) { - - Path filePath = Paths.get(uploadDir, newFileName); - log.info("File path: {}", filePath); - try { - Files.write(filePath, file.getBytes()); - } catch (IOException e) { - throw new StorageException("Failed to store file", e); - } - log.info("save {} to {}", file.getOriginalFilename(), newFileName); - return filePath.toString(); - } else { - throw new StorageException("Failed to store file"); - } - } - - @Override - public Resource download(String fileName) { - - try { - Path filePath = Paths.get(uploadDir).resolve(fileName).normalize(); - log.info("Download file path: {}", fileName); - Resource resource = new UrlResource(filePath.toUri()); - if (!resource.exists() || !resource.isReadable()) { - throw new StorageException("Could not read file: " + fileName); - } - return resource; - } catch (IOException e) { - throw new StorageException("Failed to download file " + fileName, e); - } - } - - @Override - public void delete(String fileName) { - - try { - Path filePath = Paths.get(uploadDir).resolve(fileName).normalize(); - log.info("Delete file path: {}", fileName); - if (Files.exists(filePath)) { - Files.delete(filePath); - } else { - throw new StorageException("File does not exist: " + fileName); - } - } catch (IOException e) { - throw new StorageException("Failed to delete file " + fileName, e); - } - } -} diff --git a/domain/spi/src/main/java/com/dh7789dev/xpeditis/EmailSenderRepository.java b/domain/spi/src/main/java/com/dh7789dev/xpeditis/EmailSenderRepository.java deleted file mode 100644 index 0164537..0000000 --- a/domain/spi/src/main/java/com/dh7789dev/xpeditis/EmailSenderRepository.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.dh7789dev.xpeditis; - -public interface EmailSenderRepository { - - void send(String emailAddressTo, String emailContent); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/CompanyDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/CompanyDao.java new file mode 100644 index 0000000..2f7791b --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/CompanyDao.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dao; + +public interface CompanyDao { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/EventDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/EventDao.java deleted file mode 100755 index f90ab29..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/EventDao.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.EventEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.time.Instant; -import java.util.List; -import java.util.Optional; - -public interface EventDao extends JpaRepository { - - Optional findByName(String name); - - List findAllByDate(Instant date); - - List findAllByOrderByDateDescNameAsc(); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ExportFolderDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ExportFolderDao.java new file mode 100644 index 0000000..1e5c04f --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ExportFolderDao.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dao; + +public interface ExportFolderDao { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/GalleryDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/GalleryDao.java deleted file mode 100644 index 2dc055a..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/GalleryDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.GalleryEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface GalleryDao extends JpaRepository { -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ImageDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ImageDao.java deleted file mode 100644 index 3c3c066..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ImageDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.ImageEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface ImageDao extends JpaRepository { -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/LicenseDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/LicenseDao.java new file mode 100644 index 0000000..cd316e2 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/LicenseDao.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dao; + +public interface LicenseDao { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/MenuDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/MenuDao.java deleted file mode 100644 index fe807c3..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/MenuDao.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.MenuCategoryEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface MenuDao extends JpaRepository { - -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ProductDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ProductDao.java deleted file mode 100644 index 88ec680..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ProductDao.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.ProductEntity; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface ProductDao extends JpaRepository { - -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/QuoteDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/QuoteDao.java new file mode 100644 index 0000000..1500644 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/QuoteDao.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.dao; + +public class QuoteDao { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ReservationDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ReservationDao.java deleted file mode 100644 index 9a98db8..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/ReservationDao.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.ReservationEntity; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; - -import java.time.LocalDateTime; -import java.util.List; - -public interface ReservationDao extends JpaRepository { - - List findByName(String name); - - @Query("SELECT r FROM ReservationEntity r WHERE r.date >= :startOfDay AND r.date < :endOfDay") - List findReservationsByDates(@Param("startOfDay") LocalDateTime startOfDay, - @Param("endOfDay") LocalDateTime endOfDay); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/SelectedDayDao.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/SelectedDayDao.java deleted file mode 100644 index d138c3a..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/dao/SelectedDayDao.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.dh7789dev.xpeditis.dao; - -import com.dh7789dev.xpeditis.entity.SelectedDayEntity; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; - -import java.time.LocalDate; -import java.util.List; - -public interface SelectedDayDao extends JpaRepository { - - @Query("SELECT day FROM SelectedDayEntity day WHERE day.date >= :date") - List findAllFromDate(LocalDate date); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/CompanyEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/CompanyEntity.java new file mode 100644 index 0000000..7e07e91 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/CompanyEntity.java @@ -0,0 +1,23 @@ +package com.dh7789dev.xpeditis.entity; + +import jakarta.persistence.*; + +@Entity +public class Company extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String name; + private String country; + + @OneToMany(mappedBy = "company", cascade = CascadeType.ALL) + private List users; + + @OneToMany(mappedBy = "company", cascade = CascadeType.ALL) + private List quotes; + + @OneToMany(mappedBy = "company", cascade = CascadeType.ALL) + private List exports; +} + diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/EventEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/EventEntity.java deleted file mode 100755 index 7271cb1..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/EventEntity.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.*; -import lombok.*; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -import java.time.LocalDate; -import java.util.List; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -@Table(name = "event", uniqueConstraints = { - @UniqueConstraint(columnNames = {"name"}) -}) -public class EventEntity extends BaseEntity { - - @Column(nullable = false, unique = true) - String name; - - @Column - String description; - - @Column(nullable = false) - LocalDate date; - - @OneToMany(mappedBy = "event", cascade = CascadeType.ALL, orphanRemoval = true) - private List images; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ExportFolderEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ExportFolderEntity.java new file mode 100644 index 0000000..70c9171 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ExportFolderEntity.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.entity; + +public class ExportFolder { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/GalleryEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/GalleryEntity.java deleted file mode 100644 index 0f7b106..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/GalleryEntity.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.*; -import lombok.*; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -import java.util.List; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -@Table(name = "gallery", uniqueConstraints = { - @UniqueConstraint(columnNames = {"name"}) -}) -public class GalleryEntity extends BaseEntity { - - @Column(unique = true) - String name; - - @Column - String description; - - @OneToMany(mappedBy = "gallery", cascade = CascadeType.ALL, orphanRemoval = true) - private List images; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ImageEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ImageEntity.java deleted file mode 100644 index 1e53ca9..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ImageEntity.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.*; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.Setter; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -@Entity -@Getter -@Setter -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -@Table(name = "image", uniqueConstraints = { - @UniqueConstraint(columnNames = {"name", "path"}) -}) -public class ImageEntity extends BaseEntity { - - @Column(unique = true) - String name; - - @Column(unique = true) - String path; - - @ManyToOne - @JoinColumn(name = "event_id") - EventEntity event; - - @ManyToOne - @JoinColumn(name = "gallery_id") - GalleryEntity gallery; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/LicenseEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/LicenseEntity.java new file mode 100644 index 0000000..4bcb10a --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/LicenseEntity.java @@ -0,0 +1,21 @@ +package com.dh7789dev.xpeditis.entity; + +import jakarta.persistence.*; + +import java.time.LocalDate; + +@Entity +public class License extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String licenseKey; + private LocalDate expirationDate; + private boolean active; + + @OneToOne + @JoinColumn(name = "user_id", unique = true) + private UserAccount user; +} + diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/MenuCategoryEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/MenuCategoryEntity.java deleted file mode 100644 index 7f89200..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/MenuCategoryEntity.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.*; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import lombok.experimental.Accessors; - -import java.util.List; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Accessors(chain = true) -@Table(name = "menu_category", uniqueConstraints = { - @UniqueConstraint(columnNames = {"name"}) -}) -public class MenuCategoryEntity extends BaseEntity { - - @Enumerated(EnumType.STRING) - @Column(name = "name", nullable = false, unique = true) - private MenuCategory.Name name; - - @OneToMany(mappedBy = "category") - private List products; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ProductEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ProductEntity.java deleted file mode 100644 index 5549fbe..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ProductEntity.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.*; -import lombok.*; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -import java.math.BigDecimal; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -@Table(name = "product", uniqueConstraints = { - @UniqueConstraint(columnNames = {"name"}) -}) -public class ProductEntity extends BaseEntity { - - @Column(nullable = false, unique = true) - String name; - - @Column - String description; - - @Column(nullable = false) - BigDecimal price; - - @ManyToOne - @JoinColumn(name = "category_id") - private MenuCategoryEntity category; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/QuoteEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/QuoteEntity.java new file mode 100644 index 0000000..9e7aa91 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/QuoteEntity.java @@ -0,0 +1,28 @@ +package com.dh7789dev.xpeditis.entity; + +import jakarta.persistence.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Entity +public class Quote extends BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String reference; + private String status; + private BigDecimal estimatedAmount; + private LocalDateTime createdAt = LocalDateTime.now(); + + @ManyToOne + private UserAccount user; + + @ManyToOne + private Company company; + + @OneToOne(mappedBy = "quote", cascade = CascadeType.ALL) + private ExportFile exportFile; +} + diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ReservationEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ReservationEntity.java deleted file mode 100644 index e3a55ee..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/ReservationEntity.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.Table; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - -import java.time.LocalDateTime; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@Table(name = "reservation") -public class ReservationEntity extends BaseEntity { - - @Column(nullable = false) - String name; - - @Column(nullable = false) - String email; - - @Column - String phone; - - @Column(nullable = false) - int nbPerson; - - @Column(nullable = false) - LocalDateTime date; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/SelectedDayEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/SelectedDayEntity.java deleted file mode 100644 index 152b18a..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/SelectedDayEntity.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.Entity; -import jakarta.persistence.Table; -import lombok.*; -import lombok.experimental.Accessors; -import lombok.experimental.FieldDefaults; - -import java.time.LocalDate; - -@Entity -@Getter -@Setter -@AllArgsConstructor -@NoArgsConstructor -@FieldDefaults(level = AccessLevel.PRIVATE) -@Accessors(chain = true) -@Table(name = "selected_day") -public class SelectedDayEntity extends BaseEntity { - - LocalDate date; -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/UserEntity.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/UserEntity.java old mode 100755 new mode 100644 index 7132ca7..35bd76a --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/UserEntity.java +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/entity/UserEntity.java @@ -1,87 +1,94 @@ -package com.dh7789dev.xpeditis.entity; - -import jakarta.persistence.*; -import lombok.Getter; -import lombok.Setter; -import org.hibernate.annotations.NaturalId; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; - -import java.util.Collection; -import java.util.List; - -@Entity -@Getter -@Setter -@Table(name = "users", uniqueConstraints = { - @UniqueConstraint(columnNames = {"username", "email"}) -}) -public class UserEntity extends BaseEntity implements UserDetails { - - @NaturalId - @Column(nullable = false, unique = true, length = 50) - private String username; - - @Column(name = "first_name", length = 50) - private String firstName; - - @Column(name = "last_name", length = 50) - private String lastName; - - @Column(nullable = false, unique = true, length = 50) - private String email; - - @Column(nullable = false) - private String password; - - @Enumerated(EnumType.STRING) - @Column(nullable = false) - private Role role; - - @Column(name = "enabled", nullable = false, columnDefinition = "BOOLEAN DEFAULT TRUE NOT NULL") - private boolean enabled; - - @OneToMany(mappedBy = "user") - private List tokens; - - @Override - public String getPassword() { - return password; - } - - @Override - public String getUsername() { - return username; - } - - @Override - public Collection getAuthorities() { - return role.getAuthorities(); - } - - @Override - public boolean isAccountNonExpired() { - return true; - } - - @Override - public boolean isAccountNonLocked() { - return true; - } - - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - @Override - public boolean isEnabled() { - return enabled; - } - - @Override - public String toString() { - return "UserEntity(" + super.toString() + String.format("username=%s, firstName=%s, lastName=%s, email=%s, role=%s)", - username, firstName, lastName, email, role.name()); - } -} +package com.dh7789dev.xpeditis.entity; + +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.NaturalId; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; + +import java.util.Collection; +import java.util.List; + +@Entity +@Getter +@Setter +public class UserAccountEntity extends BaseEntity implements UserDetails { + + @NaturalId + @Column(nullable = false, unique = true, length = 50) + private String username; + + @Column(name = "first_name", length = 50) + private String firstName; + + @Column(name = "last_name", length = 50) + private String lastName; + + @Column(unique = true, nullable = false) + private String email; + + @Column(nullable = false) + private String password; + + @Enumerated(EnumType.STRING) + @Column(nullable = false) + private Role role; + + @Column(name = "enabled", nullable = false, columnDefinition = "BOOLEAN DEFAULT TRUE NOT NULL") + private boolean enabled; + + @ManyToOne + private CompanyEntity company; + + @OneToOne(mappedBy = "user", cascade = CascadeType.ALL) + private LicenseEntity license; + + @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) + private List quotes; + + @OneToMany(mappedBy = "user") + private List tokens; + + @Override + public String getPassword() { + return password; + } + + @Override + public String getUsername() { + return username; + } + + @Override + public Collection getAuthorities() { + return role.getAuthorities(); + } + + @Override + public boolean isAccountNonExpired() { + return true; + } + + @Override + public boolean isAccountNonLocked() { + return true; + } + + @Override + public boolean isCredentialsNonExpired() { + return true; + } + + @Override + public boolean isEnabled() { + return enabled; + } + + @Override + public String toString() { + return "UserEntity(" + super.toString() + String.format("username=%s, firstName=%s, lastName=%s, email=%s, role=%s)", + username, firstName, lastName, email, role.name()); + } +} + diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/CompanyMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/CompanyMapper.java new file mode 100644 index 0000000..2c26584 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/CompanyMapper.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.mapper; + +public class CompanyMapper { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/EventMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/EventMapper.java deleted file mode 100755 index b1c820d..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/EventMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.entity.EventEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -@Mapper(/*componentModel = MappingConstants.ComponentModel.SPRING,*/ - uses = {ImageMapper.class}) -public interface EventMapper { - - EventMapper INSTANCE = Mappers.getMapper(EventMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - EventEntity eventToEventEntity(Event event); - - Event eventEntityToEvent(EventEntity eventEntity); - - List eventEntitiesToEvents(List eventEntities); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ExportFolderMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ExportFolderMapper.java new file mode 100644 index 0000000..a364446 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ExportFolderMapper.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.mapper; + +public interface ExportFolderMapper { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/GalleryMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/GalleryMapper.java deleted file mode 100644 index ebc63fc..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/GalleryMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.dto.Gallery; -import com.dh7789dev.xpeditis.entity.GalleryEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -@Mapper(/*componentModel = MappingConstants.ComponentModel.SPRING,*/ - uses = {ImageMapper.class}) -public interface GalleryMapper { - - GalleryMapper INSTANCE = Mappers.getMapper(GalleryMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - GalleryEntity galleryToGalleryEntity(Gallery gallery); - - Gallery galleryEntityToGallery(GalleryEntity galleryEntity); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ImageMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ImageMapper.java deleted file mode 100644 index 80b8c56..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ImageMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.dto.Image; -import com.dh7789dev.xpeditis.entity.ImageEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.MappingConstants; -import org.mapstruct.factory.Mappers; - -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) -public interface ImageMapper { - - ImageMapper INSTANCE = Mappers.getMapper(ImageMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - @Mapping(target = "event", ignore = true) - ImageEntity imageToImageEntity(Image image); - - @Mapping(target = "path", ignore = true) - @Mapping(target = "uri", expression = "java(\"/api/v1/images/\" + imageEntity.getId())") - Image imageEntityToImage(ImageEntity imageEntity); -} \ No newline at end of file diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/LicenseMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/LicenseMapper.java new file mode 100644 index 0000000..e156212 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/LicenseMapper.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.mapper; + +public interface LicenseMapper { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/MenuCategoryMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/MenuCategoryMapper.java deleted file mode 100644 index 234b167..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/MenuCategoryMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.entity.MenuCategoryEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -@Mapper(/*componentModel = MappingConstants.ComponentModel.SPRING,*/ - uses = {ProductMapper.class}) -public interface MenuCategoryMapper { - - MenuCategoryMapper INSTANCE = Mappers.getMapper(MenuCategoryMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - @Mapping(source = "menuItems", target = "products") - MenuCategoryEntity menuCategoryToMenuCategoryEntity(MenuCategory menuCategory); - - @Mapping(source = "products", target = "menuItems") - MenuCategory menuCategoryEntityToMenuCategory(MenuCategoryEntity menuCategoryEntity); - - List menuCategoryEntitiesToMenuCategories(List menuCategoryEntities); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ProductMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ProductMapper.java deleted file mode 100644 index fbe0ab8..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ProductMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.entity.ProductEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.MappingConstants; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) -public interface ProductMapper { - - ProductMapper INSTANCE = Mappers.getMapper(ProductMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - @Mapping(target = "category", ignore = true) - ProductEntity menuItemToProductEntity(MenuItem menuItem); - - MenuItem productEntityToMenuItem(ProductEntity productEntity); - - List productEntitiesToMenuItems(List productEntities); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/QuoteMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/QuoteMapper.java new file mode 100644 index 0000000..eaf01a1 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/QuoteMapper.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.mapper; + +public interface QuoteMapper { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ReservationMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ReservationMapper.java deleted file mode 100644 index db3d284..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/ReservationMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.entity.ReservationEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.MappingConstants; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) -public interface ReservationMapper { - - ReservationMapper INSTANCE = Mappers.getMapper(ReservationMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - ReservationEntity reservationToReservationEntity(Reservation reservation); - - Reservation reservationEntityToReservation(ReservationEntity reservationEntity); - - List reservationEntitiesToReservation(List reservationEntities); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/SelectedDayMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/SelectedDayMapper.java deleted file mode 100644 index 2542a65..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/SelectedDayMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dh7789dev.xpeditis.mapper; - -import com.dh7789dev.xpeditis.entity.SelectedDayEntity; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.MappingConstants; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) -public interface SelectedDayMapper { - - SelectedDayMapper INSTANCE = Mappers.getMapper(SelectedDayMapper.class); - - @Mapping(target = "createdDate", ignore = true) - @Mapping(target = "modifiedDate", ignore = true) - @Mapping(target = "createdBy", ignore = true) - @Mapping(target = "modifiedBy", ignore = true) - SelectedDayEntity selectedDayToSelectedDayEntity(SelectedDay selectedDay); - - SelectedDay selectedDayEntityToSelectedDay(SelectedDayEntity selectedDayEntity); - - List selectedDayEntitiesToSelectedDays(List selectedDayEntities); -} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/UserMapper.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/UserMapper.java new file mode 100644 index 0000000..55fd979 --- /dev/null +++ b/infrastructure/src/main/java/com/dh7789dev/xpeditis/mapper/UserMapper.java @@ -0,0 +1,4 @@ +package com.dh7789dev.xpeditis.mapper; + +public class UserMapper { +} diff --git a/infrastructure/src/main/java/com/dh7789dev/xpeditis/repository/JavaMailSenderRepository.java b/infrastructure/src/main/java/com/dh7789dev/xpeditis/repository/JavaMailSenderRepository.java deleted file mode 100644 index ea2a997..0000000 --- a/infrastructure/src/main/java/com/dh7789dev/xpeditis/repository/JavaMailSenderRepository.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.dh7789dev.xpeditis.repository; - -import com.dh7789dev.xpeditis.EmailSenderRepository; -import jakarta.mail.MessagingException; -import jakarta.mail.internet.MimeMessage; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.mail.javamail.JavaMailSender; -import org.springframework.mail.javamail.MimeMessageHelper; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Repository; - -@Slf4j -@Repository -public class JavaMailSenderRepository implements EmailSenderRepository { - - @Value("${application.email.from}") - String emailAddressFrom; - - private final JavaMailSender emailSender; - - @Autowired - public JavaMailSenderRepository(JavaMailSender emailSender) { - this.emailSender = emailSender; - } - - @Async - @Override - public void send(String emailAddressTo, String emailContent) { - try { - MimeMessage mimeMessage = emailSender.createMimeMessage(); - MimeMessageHelper helperMessage = new MimeMessageHelper(mimeMessage, "utf-8"); - helperMessage.setText(emailContent, true); - helperMessage.setTo(emailAddressTo); - helperMessage.setSubject("Reservation Confirmation"); - helperMessage.setFrom(emailAddressFrom); - emailSender.send(mimeMessage); - } catch (MessagingException e) { - log.error("failed to send email", e); - throw new IllegalStateException("failed to send email"); - } - } -}