23
23
import java .util .*;
24
24
import java .util .stream .Collectors ;
25
25
26
+ import static com .example .cassandradbdemo .constant .ModelConstant .*;
27
+
26
28
@ Controller
27
29
public class ComposeController {
28
-
29
- @ Autowired
30
- private EmailRepository emailRepository ;
31
-
32
-
33
- @ Autowired
34
- FolderRepository folderRepository ;
35
-
36
- @ Autowired
37
- FolderService folderService ;
38
-
39
- @ Autowired
40
- EmailService emailService ;
30
+ private final FolderRepository folderRepository ;
31
+ private final EmailService emailService ;
32
+ private final FolderService folderService ;
33
+
34
+ public ComposeController (
35
+ FolderRepository folderRepository ,
36
+ FolderService folderService ,
37
+ EmailService emailService
38
+ ) {
39
+ this . folderRepository = folderRepository ;
40
+ this . folderService = folderService ;
41
+ this . emailService = emailService ;
42
+ }
41
43
42
44
@ GetMapping ("/compose" )
43
45
public String getEmail (
44
46
@ AuthenticationPrincipal OidcUser principal ,
45
47
Model model , @ RequestParam (required = false ) String to ) {
46
- System .out .println ("email sent111 " );
47
48
48
- String userName = principal .getAttribute ("name" );
49
49
String userId = principal .getEmail ();
50
50
List <Folder > folderList = folderRepository .findAllById (userId );
51
- model .addAttribute ("userFolders" , folderList );
51
+ model .addAttribute (USER_FOLDERS_ATTRIBUTE , folderList );
52
52
53
53
54
54
List <Folder > defaultfolderList = folderService .fetchDefaultUserFolders (userId );
55
- model .addAttribute ("defaultFolders" , defaultfolderList );
55
+ model .addAttribute (DEFAULT_FOLDERS_ATTRIBUTE , defaultfolderList );
56
56
57
57
List <String > ids = splitIds (to );
58
58
59
- model .addAttribute ("to" , String .join (", " , ids ));
60
- model .addAttribute ("stats" , folderService .getEmailStats (userId ));
59
+ model .addAttribute (TO_ATTRIBUTE , String .join (", " , ids ));
60
+ model .addAttribute (STATS_ATTRIBUTE , folderService .getEmailStats (userId ));
61
61
62
- return "/components/compose-page" ;
62
+ return COMPOSE_MODEL ;
63
63
}
64
64
65
65
@ NotNull
@@ -77,21 +77,18 @@ private static List<String> splitIds(String to) {
77
77
78
78
@ PostMapping ("/sendEmail" )
79
79
public ModelAndView sendEmail (
80
- @ AuthenticationPrincipal OidcUser principal
81
- // @RequestBody MultiValueMap<String, String> formData
80
+ @ AuthenticationPrincipal OidcUser principal ,
81
+ @ RequestBody MultiValueMap <String , String > formData
82
82
83
83
) {
84
- System .out .println ("email sent111 " );
85
- //
86
- // String userName = principal.getAttribute("name");
87
- // String from = principal.getEmail();
88
- // List<String> toIds = splitIds(formData.getFirst("to"));
89
- // String subject = formData.getFirst("subject");
90
- // String body = formData.getFirst("body");
91
- //
92
- // emailService.sendEmail(from, toIds, subject, body);
93
-
94
- return new ModelAndView ("redirect:/folders" );
84
+ String from = principal .getEmail ();
85
+ List <String > toIds = splitIds (formData .getFirst (TO ));
86
+ String subject = formData .getFirst (SUBJECT );
87
+ String body = formData .getFirst (BODY );
88
+
89
+ emailService .sendEmail (from , toIds , subject , body );
90
+
91
+ return new ModelAndView ("redirect:/" + FOLDERS_MODEL );
95
92
96
93
}
97
94
0 commit comments