From 17c730b26e522b3280885be2ed7fa0a880f8e22d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Gargalovi=C4=8D?= <xgargal@fi.muni.cz>
Date: Sun, 26 Mar 2023 12:25:03 +0200
Subject: [PATCH] added validation to mail

---
 application/module-mail/pom.xml                |  5 +++++
 .../fuseri/modulemail/service/EmailDto.java    | 17 +++++------------
 .../modulemail/service/MailControler.java      | 18 ++++++++----------
 .../fuseri/modulemail/service/MailService.java |  4 ++--
 4 files changed, 20 insertions(+), 24 deletions(-)

diff --git a/application/module-mail/pom.xml b/application/module-mail/pom.xml
index 42f8c4f9..9d99c12f 100644
--- a/application/module-mail/pom.xml
+++ b/application/module-mail/pom.xml
@@ -22,6 +22,11 @@
             <artifactId>spring-boot-starter</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-validation</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
diff --git a/application/module-mail/src/main/java/org/fuseri/modulemail/service/EmailDto.java b/application/module-mail/src/main/java/org/fuseri/modulemail/service/EmailDto.java
index 3b4a552d..9b863edd 100644
--- a/application/module-mail/src/main/java/org/fuseri/modulemail/service/EmailDto.java
+++ b/application/module-mail/src/main/java/org/fuseri/modulemail/service/EmailDto.java
@@ -1,23 +1,16 @@
 package org.fuseri.modulemail.service;
 
+import jakarta.validation.constraints.NotBlank;
+
 public class EmailDto {
 
-    String sender;
+    @NotBlank
     String receiver;
+    @NotBlank
     String content;
 
-    public EmailDto(String sender, String receiver, String content) {
-        this.sender = sender;
+    public EmailDto(String receiver, String content) {
         this.receiver = receiver;
         this.content = content;
     }
-
-    @Override
-    public String toString() {
-        return "EmailDto{" +
-                "sender='" + sender + '\'' +
-                ", receiver='" + receiver + '\'' +
-                ", content='" + content + '\'' +
-                '}';
-    }
 }
diff --git a/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailControler.java b/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailControler.java
index 7a295183..935aeb92 100644
--- a/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailControler.java
+++ b/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailControler.java
@@ -1,9 +1,9 @@
 package org.fuseri.modulemail.service;
 
 
-import jakarta.websocket.server.PathParam;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.PositiveOrZero;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -25,19 +25,17 @@ public class MailControler {
 
 
     @GetMapping("/{id}")
-    public ResponseEntity getEmail(@PathVariable("id") Long id) {
-        return ResponseEntity.ok(service.getMail(id).toString());
+    public String getEmail(@PositiveOrZero @PathVariable("id") Long id) {
+        return  "No mail with that id yet";
     }
 
     @DeleteMapping("/delete/{id}")
-    public ResponseEntity deleteMail(@PathVariable("id") Long id) {
-        return ResponseEntity.ok(service.DeleteMail(id));
+    public String deleteMail(@PositiveOrZero @PathVariable("id") Long id) {
+        return "Nothing to delete Yet";
 }
 
     @PostMapping()
-    public ResponseEntity sendMail(@RequestBody EmailDto emailDto) {
-        return ResponseEntity.ok(service.send(emailDto));
+    public String sendMail(@Valid @RequestBody EmailDto emailDto) {
+        return service.send(emailDto);
     }
-
-
 }
diff --git a/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java b/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java
index f19e7fc3..8eba0dac 100644
--- a/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java
+++ b/application/module-mail/src/main/java/org/fuseri/modulemail/service/MailService.java
@@ -12,7 +12,7 @@ public class MailService {
 
     public String send(EmailDto dto) {
         var message = new SimpleMailMessage();
-        message.setFrom(dto.sender);
+        message.setFrom("sprachul@gmail.com");
         message.setTo(dto.receiver);
         message.setSubject("Sprachschul");
         message.setText(dto.content);
@@ -24,7 +24,7 @@ public class MailService {
     }
 
     public EmailDto getMail(long id) {
-        return new EmailDto("","",""); // return from database once there is one
+        return new EmailDto("empty","empty"); // return from database once there is one
     }
 
     public String DeleteMail (long id) {
-- 
GitLab