From 39b194177e4c08e0a5fe56edb018607a5632d96a Mon Sep 17 00:00:00 2001 From: dmankovsky Date: Sun, 17 Apr 2022 23:23:05 +0200 Subject: [PATCH 01/34] Note functionality fixed. Note display still missing --- .../cloudstorage/config/SecurityConfig.java | 37 +++++++++++++++++++ .../cloudstorage/mapper/UserMapper.java | 2 +- .../cloudstorage/model/SingleNote.java | 4 +- .../src/main/resources/templates/home.html | 8 ++-- 4 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java new file mode 100644 index 0000000..270492a --- /dev/null +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java @@ -0,0 +1,37 @@ +package com.udacity.jwdnd.course1.cloudstorage.config; + +import com.udacity.jwdnd.course1.cloudstorage.services.AuthenticationService; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; + +@Configuration +@EnableWebSecurity +public class SecurityConfig extends WebSecurityConfigurerAdapter { + private AuthenticationService authenticationService; + + public SecurityConfig(AuthenticationService authenticationService) { + this.authenticationService = authenticationService; + } + + @Override + protected void configure(AuthenticationManagerBuilder auth) { + auth.authenticationProvider(this.authenticationService); + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + http.authorizeRequests() + .antMatchers("/signup", "/css/**", "/js/**").permitAll() + .anyRequest().authenticated(); + + http.formLogin() + .loginPage("/login") + .permitAll(); + + http.formLogin() + .defaultSuccessUrl("/home", true); + } +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index 47c1061..9417f11 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -9,7 +9,7 @@ public interface UserMapper { @Select("SELECT * FROM USERS WHERE username = #{username}") User getUser(String username); - @Select("SELECT userId FROM USERS WHERE username = #{username}") + @Select("SELECT userid FROM USERS WHERE username = #{username}") Integer getUserFromId(String username); @Insert("INSERT INTO USERS (username, salt, password, firstName, lastName) " + diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java index 6a07352..c107826 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java @@ -6,7 +6,7 @@ public class SingleNote { private String noteDescription; private Integer userId; - public SingleNote(int i, String noteTitle, String noteDescription, int userId) { + public SingleNote(Integer noteId, String noteTitle, String noteDescription, int userId) { this.noteId = noteId; this.noteTitle = this.noteTitle; this.noteDescription = this.noteDescription; @@ -21,7 +21,7 @@ public Integer getNoteId() { return noteId; } - public void setNoteId(int noteId) { + public void setNoteId(Integer noteId) { this.noteId = noteId; } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html index 5f8a669..c9c5d67 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html @@ -33,7 +33,7 @@
- +
@@ -50,9 +50,7 @@ View - Delete + Delete ExampleFile.txt @@ -82,7 +80,7 @@ th:onclick="showNoteModal(this.getAttribute('dataId'), this.getAttribute('dataTitle'), this.getAttribute('dataDescription'))" >Edit Delete Example Note Title From e845141fb188d02f0b0f30b4d3bc5b9713003269 Mon Sep 17 00:00:00 2001 From: dmankovsky Date: Sun, 17 Apr 2022 23:44:02 +0200 Subject: [PATCH 02/34] Automatic login redirection added to the Signup Controller --- .../course1/cloudstorage/controller/SignupController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java index bc56edf..994e78c 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; @Controller @RequestMapping("/signup") @@ -24,9 +25,10 @@ public String signupView() { } @PostMapping() - public String signupUser(@ModelAttribute User user, Model model) { + public String signupUser(@ModelAttribute User user, Model model, RedirectAttributes redirectAttributes) { String signupError = null; + if (!userService.isUsernameAvailable(user.getUsername())) { signupError = "The username already exists."; } @@ -40,6 +42,8 @@ public String signupUser(@ModelAttribute User user, Model model) { if (signupError == null) { model.addAttribute("signupSuccess", true); + redirectAttributes.addFlashAttribute("SuccessMessage","Sign Up Successfully"); + return "redirect:/login"; } else { model.addAttribute("signupError", signupError); } From 59980c895fd73b224f795f3eefa8c6b79017fee6 Mon Sep 17 00:00:00 2001 From: dmankovsky Date: Mon, 18 Apr 2022 00:08:06 +0200 Subject: [PATCH 03/34] Notes fixed. Diplay still missing --- .../jwdnd/course1/cloudstorage/mapper/NoteMapper.java | 10 +++++----- .../jwdnd/course1/cloudstorage/mapper/UserMapper.java | 6 ++---- .../udacity/jwdnd/course1/cloudstorage/model/User.java | 10 +++++----- .../course1/cloudstorage/services/UserService.java | 2 +- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java index 4b6661d..fb3c5cd 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java @@ -7,19 +7,19 @@ @Mapper public interface NoteMapper { - @Select("select * from notes where userId = #{userId}") + @Select("select * from notes where userid = #{userId}") List getAllNotesForUser(Integer userId); // add this method in NoteService - @Insert("insert into notes (noteTitle, noteDescription, userId) values (#{noteTitle}, #{noteDescription}, #{userId})") + @Insert("insert into notes (notetitle, notedescription, userid) values (#{noteTitle}, #{noteDescription}, #{userId})") @Options(useGeneratedKeys = true, keyProperty = "noteId") int addNote(SingleNote singleNote); // add this method in NoteService - @Update("update notes set noteText = #{noteDescription} where noteId = #{noteId}") + @Update("update notes set notetext = #{noteDescription} where noteid = #{noteId}") int editNote(SingleNote singleNote); // add this method in NoteService - @Select("select * from notes where userId=#{userId} and noteTitle=#{noteTitle} and noteDescription=#{noteDescription}") + @Select("select * from notes where userid=#{userId} and notetitle=#{noteTitle} and noteDescription=#{noteDescription}") SingleNote isOnlyNote(Integer userId, String noteTitle, String noteDescription); - @Delete("delete from notes where noteId = #{noteId}") + @Delete("delete from notes where noteid = #{noteId}") int deleteNote(Integer noteId); } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index 9417f11..ad5c9ec 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -5,16 +5,14 @@ @Mapper public interface UserMapper { - @Select("SELECT * FROM USERS WHERE username = #{username}") User getUser(String username); @Select("SELECT userid FROM USERS WHERE username = #{username}") Integer getUserFromId(String username); - @Insert("INSERT INTO USERS (username, salt, password, firstName, lastName) " + + @Insert("INSERT INTO USERS (username, salt, password, firstname, lastname) " + "VALUES(#{username}, #{salt}, #{password}, #{firstName}, #{lastName})") - @Options(useGeneratedKeys = true, keyProperty = "userId") + @Options(useGeneratedKeys = true, keyProperty = "userid") int insert(User user); - } \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java index e7f1910..d0940ab 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java @@ -1,7 +1,7 @@ package com.udacity.jwdnd.course1.cloudstorage.model; public class User { - private Integer userId; + private Integer userid; private String username; private String salt; private String password; @@ -11,8 +11,8 @@ public class User { public User(){} - public User(Integer userId, String username, String salt, String password, String firstName, String lastName) { - this.userId = userId; + public User(Integer userid, String username, String salt, String password, String firstName, String lastName) { + this.userid = userid; this.username = username; this.salt = salt; this.password = password; @@ -21,11 +21,11 @@ public User(Integer userId, String username, String salt, String password, Strin } public Integer getUserId() { - return userId; + return userid; } public void setUserId(Integer userId) { - this.userId = userId; + this.userid = userId; } public String getUsername() { diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java index 5a97a3c..47fa99f 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java @@ -35,7 +35,7 @@ public User getUser(String username) { return userMapper.getUser(username); } - public int getUserFromId(String username){ + public Integer getUserFromId(String username){ return userMapper.getUserFromId(username); } From 40a6305474dd1c40708e06ea153f2e6eedff3f9d Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 18 Apr 2022 21:57:43 +0200 Subject: [PATCH 04/34] Add note fixed branch created --- .../cloudstorage/config/SecurityConfig.java | 6 ++ .../controller/HomeController.java | 21 ++--- .../controller/NoteController.java | 2 +- .../cloudstorage/mapper/NoteMapper.java | 10 +-- .../cloudstorage/mapper/UserMapper.java | 8 +- .../cloudstorage/services/NoteService.java | 24 +++--- .../cloudstorage/services/UserService.java | 11 ++- .../src/main/resources/templates/home.html | 77 ++++++++----------- .../src/main/resources/templates/result.html | 29 ++++--- .../src/main/resources/templates/signup.html | 2 +- 10 files changed, 100 insertions(+), 90 deletions(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java index 270492a..1a23d63 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java @@ -33,5 +33,11 @@ protected void configure(HttpSecurity http) throws Exception { http.formLogin() .defaultSuccessUrl("/home", true); + + http.logout(logout->logout + .logoutUrl("/home/logout") + .logoutSuccessUrl("/login") + .invalidateHttpSession(true) + ); } } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java index 18ea5f2..4bcc9b1 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java @@ -20,32 +20,35 @@ public class HomeController { private final UserService userService; private final NoteService noteService; + private final EncryptionService encryptionService; - - public HomeController(UserService userService, - NoteService noteService - ) { + public HomeController(UserService userService, NoteService noteService, EncryptionService encryptionService) { this.userService = userService; this.noteService = noteService; + this.encryptionService = encryptionService; } Listnotes; - Listfiles; + + //TODO check https://knowledge.udacity.com/questions/783782 and add respective methods + //TODO modify the rest of home controller - key to everything @PostConstruct public void postConstruct(){ notes = new ArrayList<>(); - } @GetMapping - public String getHome(Model model, Authentication authentication){ - Integer userFromId = userService.getUserFromId(authentication.getName()); - notes = noteService.getNotesFromUserId(userFromId); + public String homeView(Model model, Authentication authentication){ + Integer userId = userService.getUserId(authentication.getName()); + notes = noteService.getAllNotesForUser(userId); model.addAttribute("note", new SingleNote()); model.addAttribute("notes", notes); + model.addAttribute("encryptionService", encryptionService); + return "home"; } + } \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java index 391ff6c..0387e3a 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java @@ -26,7 +26,7 @@ public NoteController(UserService userService, NoteService noteService) { @PostMapping("/addnote") public String addOrEditNote(@ModelAttribute SingleNote note, Model model, Authentication authentication) { - int userFromId = userService.getUserFromId(authentication.getName()); + int userFromId = userService.getUserId(authentication.getName()); Optional noteId = Optional.ofNullable(note.getNoteId()); if (noteId.isEmpty()) { return addNote(note, model, userFromId); diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java index fb3c5cd..4b6661d 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java @@ -7,19 +7,19 @@ @Mapper public interface NoteMapper { - @Select("select * from notes where userid = #{userId}") + @Select("select * from notes where userId = #{userId}") List getAllNotesForUser(Integer userId); // add this method in NoteService - @Insert("insert into notes (notetitle, notedescription, userid) values (#{noteTitle}, #{noteDescription}, #{userId})") + @Insert("insert into notes (noteTitle, noteDescription, userId) values (#{noteTitle}, #{noteDescription}, #{userId})") @Options(useGeneratedKeys = true, keyProperty = "noteId") int addNote(SingleNote singleNote); // add this method in NoteService - @Update("update notes set notetext = #{noteDescription} where noteid = #{noteId}") + @Update("update notes set noteText = #{noteDescription} where noteId = #{noteId}") int editNote(SingleNote singleNote); // add this method in NoteService - @Select("select * from notes where userid=#{userId} and notetitle=#{noteTitle} and noteDescription=#{noteDescription}") + @Select("select * from notes where userId=#{userId} and noteTitle=#{noteTitle} and noteDescription=#{noteDescription}") SingleNote isOnlyNote(Integer userId, String noteTitle, String noteDescription); - @Delete("delete from notes where noteid = #{noteId}") + @Delete("delete from notes where noteId = #{noteId}") int deleteNote(Integer noteId); } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index ad5c9ec..5c0effd 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -5,14 +5,16 @@ @Mapper public interface UserMapper { + @Select("SELECT * FROM USERS WHERE username = #{username}") User getUser(String username); @Select("SELECT userid FROM USERS WHERE username = #{username}") - Integer getUserFromId(String username); + Integer getUserId(String username); - @Insert("INSERT INTO USERS (username, salt, password, firstname, lastname) " + + @Insert("INSERT INTO USERS (username, salt, password, firstName, lastName) " + "VALUES(#{username}, #{salt}, #{password}, #{firstName}, #{lastName})") - @Options(useGeneratedKeys = true, keyProperty = "userid") + @Options(useGeneratedKeys = true, keyProperty = "userId") int insert(User user); + } \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java index bc62a16..96ffe7c 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java @@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.PostConstruct; import java.util.List; import java.util.Optional; @@ -18,26 +19,25 @@ public NoteService(NoteMapper noteMapper) { this.noteMapper = noteMapper; } - public int addNote(SingleNote note, int userId){ - return noteMapper.addNote(new SingleNote(0, note.getNoteTitle(), - note.getNoteDescription(), userId)); + @PostConstruct + public void postConstruct() { + System.out.println("Creating NoteService Bean."); } - public int editNote(SingleNote note){ - return noteMapper.editNote(note); + public int addNote(SingleNote note, int userId){ + return noteMapper.addNote(new SingleNote(0, note.getNoteTitle(), note.getNoteDescription(), userId)); } - public int deleteNote(Integer noteId){ - return noteMapper.deleteNote(noteId); - } + public int editNote(SingleNote note) {return noteMapper.editNote(note);} + + public int deleteNote(Integer noteId) {return noteMapper.deleteNote(noteId);} public boolean isOnlyNote(Integer userId, String noteTitle, String noteDescription){ - Optionalnote = - Optional.ofNullable(noteMapper.isOnlyNote(userId, noteTitle, noteDescription)); + Optional note = Optional.ofNullable(noteMapper.isOnlyNote(userId, noteTitle, noteDescription)); return (note.isEmpty()); } - public List getNotesFromUserId(Integer userId){ + public List getAllNotesForUser(Integer userId) { return noteMapper.getAllNotesForUser(userId); } -} +} \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java index 47fa99f..42288fa 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java @@ -9,7 +9,6 @@ @Service public class UserService { - private final UserMapper userMapper; private final HashService hashService; @@ -31,12 +30,12 @@ public int createUser(User user){ return userMapper.insert(new User(null, user.getUsername(), encodedSalt, hashedPassword, user.getFirstName(), user.getLastName())); } - public User getUser(String username) { - return userMapper.getUser(username); - } +// public User getUser(String username) { +// return userMapper.getUser(username); +// } - public Integer getUserFromId(String username){ - return userMapper.getUserFromId(username); + public int getUserId(String username){ + return userMapper.getUserId(username); } } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html index c9c5d67..950997a 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html @@ -33,7 +33,7 @@
- +
@@ -63,7 +63,7 @@ + Add a New Note
- +
@@ -72,15 +72,15 @@ - + @@ -99,7 +99,7 @@ - + - - - + + +
Delete Example Note Title
- - Delete + + Delete Example Credential URLExample Credential UsernameExample Credential PasswordExample Credential URLExample Credential UsernameExample Credential Password
@@ -166,7 +157,7 @@
@@ -199,21 +190,21 @@ + // For opening the note modal + function showNoteModal(noteId, noteTitle, noteDescription) { + $('#note-id').val(noteId ? noteId : ''); + $('#note-title').val(noteTitle ? noteTitle : ''); + $('#note-description').val(noteDescription ? noteDescription : ''); + $('#noteModal').modal('show'); + } + // For opening the credentials modal + function showCredentialModal(credentialId, url, username, password) { + $('#credential-id').val(credentialId ? credentialId : ''); + $('#credential-url').val(url ? url : ''); + $('#credential-username').val(username ? username : ''); + $('#credential-password').val(password ? password : ''); + $('#credentialModal').modal('show'); + } + \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html index 1429d21..035aba2 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html @@ -1,14 +1,13 @@ - - - - - - - Result - - + + + + + Result + + +

Success

Your changes were successfully saved. Click here to continue. @@ -18,5 +17,15 @@

Error

Select file to upload first. Click here to continue.
- + +
+ \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html index a1a2f19..c453fc2 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html @@ -11,7 +11,7 @@

Sign Up

From 2429f941386e5cc9d1fee6e613d065557e42a5d1 Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 18 Apr 2022 21:59:16 +0200 Subject: [PATCH 05/34] Add note fixed branch created --- .../cloudstorage/config/SecurityConfig.java | 10 +++---- .../controller/HomeController.java | 8 ++--- .../controller/SignupController.java | 6 +--- .../cloudstorage/mapper/NoteMapper.java | 2 +- .../cloudstorage/mapper/UserMapper.java | 2 +- .../cloudstorage/model/SingleNote.java | 6 ++-- .../course1/cloudstorage/model/User.java | 10 +++---- .../services/AuthenticationService.java | 2 +- .../cloudstorage/services/NoteService.java | 4 +-- .../cloudstorage/services/UserService.java | 2 +- .../src/main/resources/application.properties | 6 +--- .../src/main/resources/templates/result.html | 29 +++++++------------ .../src/main/resources/templates/signup.html | 2 +- 13 files changed, 36 insertions(+), 53 deletions(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java index 1a23d63..4cfc5cd 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java @@ -12,19 +12,19 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { private AuthenticationService authenticationService; - public SecurityConfig(AuthenticationService authenticationService) { + public SecurityConfig (AuthenticationService authenticationService){ this.authenticationService = authenticationService; } @Override - protected void configure(AuthenticationManagerBuilder auth) { + protected void configure(AuthenticationManagerBuilder auth){ auth.authenticationProvider(this.authenticationService); } @Override - protected void configure(HttpSecurity http) throws Exception { + protected void configure(HttpSecurity http) throws Exception{ http.authorizeRequests() - .antMatchers("/signup", "/css/**", "/js/**").permitAll() + .antMatchers("/signup","/css/**","/js/**").permitAll() .anyRequest().authenticated(); http.formLogin() @@ -32,7 +32,7 @@ protected void configure(HttpSecurity http) throws Exception { .permitAll(); http.formLogin() - .defaultSuccessUrl("/home", true); + .defaultSuccessUrl("/home",true); http.logout(logout->logout .logoutUrl("/home/logout") diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java index 4bcc9b1..10af66c 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java @@ -1,9 +1,9 @@ package com.udacity.jwdnd.course1.cloudstorage.controller; -import com.udacity.jwdnd.course1.cloudstorage.model.Credential; -import com.udacity.jwdnd.course1.cloudstorage.model.File; import com.udacity.jwdnd.course1.cloudstorage.model.SingleNote; -import com.udacity.jwdnd.course1.cloudstorage.services.*; +import com.udacity.jwdnd.course1.cloudstorage.services.EncryptionService; +import com.udacity.jwdnd.course1.cloudstorage.services.NoteService; +import com.udacity.jwdnd.course1.cloudstorage.services.UserService; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -51,4 +51,4 @@ public String homeView(Model model, Authentication authentication){ return "home"; } -} \ No newline at end of file +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java index 994e78c..bc56edf 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java @@ -8,7 +8,6 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; @Controller @RequestMapping("/signup") @@ -25,10 +24,9 @@ public String signupView() { } @PostMapping() - public String signupUser(@ModelAttribute User user, Model model, RedirectAttributes redirectAttributes) { + public String signupUser(@ModelAttribute User user, Model model) { String signupError = null; - if (!userService.isUsernameAvailable(user.getUsername())) { signupError = "The username already exists."; } @@ -42,8 +40,6 @@ public String signupUser(@ModelAttribute User user, Model model, RedirectAttribu if (signupError == null) { model.addAttribute("signupSuccess", true); - redirectAttributes.addFlashAttribute("SuccessMessage","Sign Up Successfully"); - return "redirect:/login"; } else { model.addAttribute("signupError", signupError); } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java index 4b6661d..2a1986c 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java @@ -1,4 +1,4 @@ -package com.udacity.jwdnd.course1.cloudstorage.mapper; +package com.udacity.jwdnd.course1.cloudstorage.Mapper; import com.udacity.jwdnd.course1.cloudstorage.model.SingleNote; import org.apache.ibatis.annotations.*; diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index 5c0effd..398a75f 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -1,4 +1,4 @@ -package com.udacity.jwdnd.course1.cloudstorage.mapper; +package com.udacity.jwdnd.course1.cloudstorage.Mapper; import com.udacity.jwdnd.course1.cloudstorage.model.User; import org.apache.ibatis.annotations.*; diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java index c107826..864c2e1 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java @@ -8,9 +8,9 @@ public class SingleNote { public SingleNote(Integer noteId, String noteTitle, String noteDescription, int userId) { this.noteId = noteId; - this.noteTitle = this.noteTitle; - this.noteDescription = this.noteDescription; - this.userId = this.userId; + this.noteTitle = noteTitle; + this.noteDescription = noteDescription; + this.userId = userId; } public SingleNote() { diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java index d0940ab..e7f1910 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java @@ -1,7 +1,7 @@ package com.udacity.jwdnd.course1.cloudstorage.model; public class User { - private Integer userid; + private Integer userId; private String username; private String salt; private String password; @@ -11,8 +11,8 @@ public class User { public User(){} - public User(Integer userid, String username, String salt, String password, String firstName, String lastName) { - this.userid = userid; + public User(Integer userId, String username, String salt, String password, String firstName, String lastName) { + this.userId = userId; this.username = username; this.salt = salt; this.password = password; @@ -21,11 +21,11 @@ public User(Integer userid, String username, String salt, String password, Strin } public Integer getUserId() { - return userid; + return userId; } public void setUserId(Integer userId) { - this.userid = userId; + this.userId = userId; } public String getUsername() { diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java index e0f6829..88dde31 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java @@ -1,6 +1,6 @@ package com.udacity.jwdnd.course1.cloudstorage.services; -import com.udacity.jwdnd.course1.cloudstorage.mapper.UserMapper; +import com.udacity.jwdnd.course1.cloudstorage.Mapper.UserMapper; import com.udacity.jwdnd.course1.cloudstorage.model.User; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java index 96ffe7c..7fc649f 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java @@ -1,6 +1,6 @@ package com.udacity.jwdnd.course1.cloudstorage.services; -import com.udacity.jwdnd.course1.cloudstorage.mapper.NoteMapper; +import com.udacity.jwdnd.course1.cloudstorage.Mapper.NoteMapper; import com.udacity.jwdnd.course1.cloudstorage.model.SingleNote; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,4 +40,4 @@ public boolean isOnlyNote(Integer userId, String noteTitle, String noteDescripti public List getAllNotesForUser(Integer userId) { return noteMapper.getAllNotesForUser(userId); } -} \ No newline at end of file +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java index 42288fa..ec14bf0 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java @@ -1,6 +1,6 @@ package com.udacity.jwdnd.course1.cloudstorage.services; -import com.udacity.jwdnd.course1.cloudstorage.mapper.UserMapper; +import com.udacity.jwdnd.course1.cloudstorage.Mapper.UserMapper; import com.udacity.jwdnd.course1.cloudstorage.model.User; import org.springframework.stereotype.Service; diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties index a8ab248..8b13789 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties @@ -1,5 +1 @@ -spring.h2.console.enabled=true -spring.servlet.multipart.enabled=true -server.tomcat.max-swallow-size=-1 -spring.servlet.multipart.max-file-size=-1 -spring.servlet.multipart.max-request-size=-1 + diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html index 035aba2..1429d21 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/result.html @@ -1,13 +1,14 @@ - - - - - Result - - -
+ + + + + + + Result + +

Success

Your changes were successfully saved. Click here to continue. @@ -17,15 +18,5 @@

Error

Select file to upload first. Click here to continue.
- -
- + \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html index c453fc2..a1a2f19 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html @@ -11,7 +11,7 @@

Sign Up

From 15a725743d6c0a6decdebd9f79227a29c33986ad Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 18 Apr 2022 22:01:31 +0200 Subject: [PATCH 06/34] Add note fixed branch created --- .../course1/cloudstorage/controller/CredentialController.java | 4 ++++ .../jwdnd/course1/cloudstorage/controller/FileController.java | 4 ++++ .../course1/cloudstorage/controller/LogoutController.java | 4 ++++ 3 files changed, 12 insertions(+) create mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java create mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/FileController.java create mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LogoutController.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java new file mode 100644 index 0000000..18e02b1 --- /dev/null +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java @@ -0,0 +1,4 @@ +package com.udacity.jwdnd.course1.cloudstorage.controller; + +public class CredentialController { +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/FileController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/FileController.java new file mode 100644 index 0000000..f37a3a6 --- /dev/null +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/FileController.java @@ -0,0 +1,4 @@ +package com.udacity.jwdnd.course1.cloudstorage.controller; + +public class FileController { +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LogoutController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LogoutController.java new file mode 100644 index 0000000..aea6222 --- /dev/null +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LogoutController.java @@ -0,0 +1,4 @@ +package com.udacity.jwdnd.course1.cloudstorage.controller; + +public class LogoutController { +} From 733566116820adda82a10a5963c23ee063bd78f7 Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 18 Apr 2022 22:35:05 +0200 Subject: [PATCH 07/34] Credential functionality started --- .../controller/CredentialController.java | 1 + .../cloudstorage/mapper/CredentialMapper.java | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java index 18e02b1..d9c2e94 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java @@ -1,4 +1,5 @@ package com.udacity.jwdnd.course1.cloudstorage.controller; public class CredentialController { + } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java new file mode 100644 index 0000000..254b9fb --- /dev/null +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java @@ -0,0 +1,21 @@ +package com.udacity.jwdnd.course1.cloudstorage.mapper; + +import com.udacity.jwdnd.course1.cloudstorage.model.Credential; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Options; + +@Mapper +public interface CredentialMapper { + //addCredential + + @Insert("insert into credentials (credentialid, url, username, key, password, userid)" + + ("values(#{credentialid}, #{url}, #{username}, #{key}, #{password}, #{userid})")) + @Options(useGeneratedKeys = true, keyProperty = "credentialid") + int addCredential(Credential credential); + + //editCredential + //deleteCredential + //isOnlyUsername + //getFromUserId +} From f1b8f2d47f0624b331033f2f853400f99683356b Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 19 Apr 2022 21:16:20 +0200 Subject: [PATCH 08/34] CredentialMapper added --- .../cloudstorage/mapper/CredentialMapper.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java index 254b9fb..0d123d9 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java @@ -1,9 +1,9 @@ package com.udacity.jwdnd.course1.cloudstorage.mapper; import com.udacity.jwdnd.course1.cloudstorage.model.Credential; -import org.apache.ibatis.annotations.Insert; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Options; +import org.apache.ibatis.annotations.*; + +import java.util.List; @Mapper public interface CredentialMapper { @@ -15,7 +15,19 @@ public interface CredentialMapper { int addCredential(Credential credential); //editCredential + @Update("update credentials set url=#{url}, username=#{username}, " + + "key=#{key}, password=#{password} where credentialid=#{credentialid}") + int editCredential(Credential credential); + //deleteCredential + @Delete("delete from credentials where credentialid=#{credentialid}") + int deleteCredential(Integer credentialid); + //isOnlyUsername + @Select("select * from credentials where userid=#{userid} and username=#{username}") + Credential isOnlyUsername(Integer userid, String username); + //getFromUserId + @Select("select * from credentials where userid=#{userid}") + List getFromUserId(int userid); } From aab14124bf01fce4ec28bd89c35779b6a93c136a Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 26 Apr 2022 23:48:02 +0200 Subject: [PATCH 09/34] CredentialService started. addCredential added --- .../services/CredentialService.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/CredentialService.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/CredentialService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/CredentialService.java new file mode 100644 index 0000000..86fc454 --- /dev/null +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/CredentialService.java @@ -0,0 +1,40 @@ +package com.udacity.jwdnd.course1.cloudstorage.services; + +import com.udacity.jwdnd.course1.cloudstorage.mapper.CredentialMapper; +import com.udacity.jwdnd.course1.cloudstorage.model.Credential; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import java.security.SecureRandom; +import java.util.Base64; + +@Service +public class CredentialService { + + @Autowired + private final CredentialMapper credentialMapper; + private final EncryptionService encryptionService; + + public CredentialService(CredentialMapper credentialMapper, EncryptionService encryptionService) { + this.credentialMapper = credentialMapper; + this.encryptionService = encryptionService; + } + + @PostConstruct + public void postConstruct(){ + System.out.println("Creating Credential-Service Bean."); + } + + public int addCredential(Credential credential){ + SecureRandom random = new SecureRandom(); + byte[] key = new byte[16]; + random.nextBytes(key); + String encodedKey = Base64.getEncoder().encodeToString(key); + String encryptedPassword = encryptionService.encryptValue(credential.getPassword(), encodedKey); + credential.setKey(encodedKey); + credential.setPassword(encryptedPassword); + return credentialMapper.addCredential(credential); + } + +} From 6d0ad72be98b852ced4beead7000808acf81484d Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 29 Apr 2022 11:51:45 +0200 Subject: [PATCH 10/34] Auto redirect signup -> login added --- .../course1/cloudstorage/controller/SignupController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java index bc56edf..b35a1e2 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java @@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; @Controller @RequestMapping("/signup") @@ -24,7 +25,7 @@ public String signupView() { } @PostMapping() - public String signupUser(@ModelAttribute User user, Model model) { + public String signupUser(@ModelAttribute User user, Model model, RedirectAttributes redirectAttributes) { String signupError = null; if (!userService.isUsernameAvailable(user.getUsername())) { @@ -40,6 +41,8 @@ public String signupUser(@ModelAttribute User user, Model model) { if (signupError == null) { model.addAttribute("signupSuccess", true); + redirectAttributes.addFlashAttribute("SuccessMessage","Sign Up Successfully"); + return "redirect:/login"; } else { model.addAttribute("signupError", signupError); } From ee165e9b6d838f974c9f8e464de5a78ff312e936 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 29 Apr 2022 15:11:59 +0200 Subject: [PATCH 11/34] Auto redirect signup -> login added --- .../cloudstorage/controller/NoteController.java | 2 +- .../course1/cloudstorage/mapper/UserMapper.java | 2 +- .../jwdnd/course1/cloudstorage/model/User.java | 12 ++++++------ .../src/main/resources/templates/home.html | 1 + .../src/main/resources/templates/login.html | 3 +++ 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java index 0387e3a..f612eb7 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java @@ -54,7 +54,7 @@ private String displayOtherErrorMsg(String msg, Model model){ return "result"; } - @GetMapping("/deletenote/{noteId:.+}") + @GetMapping("/deleteNote/{noteId:.+}") public String deleteNote(@PathVariable Integer noteId, Model model){ return displayResult(model, noteService.deleteNote(noteId)); } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index 398a75f..ff67141 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -14,7 +14,7 @@ public interface UserMapper { @Insert("INSERT INTO USERS (username, salt, password, firstName, lastName) " + "VALUES(#{username}, #{salt}, #{password}, #{firstName}, #{lastName})") - @Options(useGeneratedKeys = true, keyProperty = "userId") + @Options(useGeneratedKeys = true, keyProperty = "userid") int insert(User user); } \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java index e7f1910..7288ade 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java @@ -1,7 +1,7 @@ package com.udacity.jwdnd.course1.cloudstorage.model; public class User { - private Integer userId; + private Integer userid; private String username; private String salt; private String password; @@ -12,7 +12,7 @@ public class User { public User(){} public User(Integer userId, String username, String salt, String password, String firstName, String lastName) { - this.userId = userId; + this.userid = userId; this.username = username; this.salt = salt; this.password = password; @@ -20,12 +20,12 @@ public User(Integer userId, String username, String salt, String password, Strin this.lastName = lastName; } - public Integer getUserId() { - return userId; + public Integer getUserid() { + return userid; } - public void setUserId(Integer userId) { - this.userId = userId; + public void setUserid(Integer userid) { + this.userid = userid; } public String getUsername() { diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html index 950997a..fba8b6a 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html @@ -78,6 +78,7 @@ th:dataId="${note.noteId}" th:dataTitle="${note.noteTitle}" th:dataDescription="${note.noteDescription}" th:onclick="this.getAttribute('dataId'), this.getAttribute('dataTitle'), this.getAttribute('dataDescription'))" + th:href="@{/note/editNote/{noteId}(noteId=${note.noteId})}" >Edit Login +
+ You've successfully signed up! +
From 212d5bc6dad7206dd628a898c3ca01ef8d9df3e7 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 29 Apr 2022 23:15:53 +0200 Subject: [PATCH 12/34] Backlink signup -> login added. Add note and delete note working --- .../cloudstorage/src/main/resources/templates/signup.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html index a1a2f19..64d1c39 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/signup.html @@ -11,7 +11,7 @@

Sign Up

From 5c8c516c8ce438947db57b3359cd1d108b19c53d Mon Sep 17 00:00:00 2001 From: Dan Date: Sat, 30 Apr 2022 11:39:52 +0200 Subject: [PATCH 13/34] Edit note works! Note functionality completed now, juhuuu! --- .../controller/NoteController.java | 7 ++- .../cloudstorage/mapper/NoteMapper.java | 18 +++---- .../cloudstorage/mapper/UserMapper.java | 4 -- .../cloudstorage/model/NoteOverviewForm.java | 46 ----------------- .../cloudstorage/model/SingleNote.java | 49 +++++++++---------- .../cloudstorage/services/NoteService.java | 4 +- .../src/main/resources/templates/home.html | 20 ++++---- 7 files changed, 48 insertions(+), 100 deletions(-) delete mode 100644 Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/NoteOverviewForm.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java index f612eb7..d623121 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java @@ -23,18 +23,17 @@ public NoteController(UserService userService, NoteService noteService) { this.noteService = noteService; } - @PostMapping("/addnote") public String addOrEditNote(@ModelAttribute SingleNote note, Model model, Authentication authentication) { int userFromId = userService.getUserId(authentication.getName()); - Optional noteId = Optional.ofNullable(note.getNoteId()); + Optional noteId = Optional.ofNullable(note.getNoteid()); if (noteId.isEmpty()) { return addNote(note, model, userFromId); } else return editNote(note, model, userFromId); } private String addNote(SingleNote note, Model model, int userFromId){ - if(noteService.isOnlyNote(userFromId, note.getNoteTitle(), note.getNoteDescription())){ + if(noteService.isOnlyNote(userFromId, note.getNotetitle(), note.getNotedescription())){ return displayResult(model, noteService.addNote(note, userFromId)); } else{ return displayOtherErrorMsg( "Note already exists", model); @@ -42,7 +41,7 @@ private String addNote(SingleNote note, Model model, int userFromId){ } private String editNote(SingleNote note, Model model, int userFromId){ - if(noteService.isOnlyNote(userFromId, note.getNoteTitle(), note.getNoteDescription())){ + if(noteService.isOnlyNote(userFromId, note.getNotetitle(), note.getNotedescription())){ return displayResult(model, noteService.editNote(note)); } else{ return displayOtherErrorMsg( "Note already exists", model); diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java index 2a1986c..1182b36 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java @@ -7,19 +7,19 @@ @Mapper public interface NoteMapper { - @Select("select * from notes where userId = #{userId}") - List getAllNotesForUser(Integer userId); // add this method in NoteService + @Select("select * from notes where userid = #{userid}") + List getAllNotesForUser(Integer userid); // add this method in NoteService - @Insert("insert into notes (noteTitle, noteDescription, userId) values (#{noteTitle}, #{noteDescription}, #{userId})") - @Options(useGeneratedKeys = true, keyProperty = "noteId") + @Insert("insert into notes (notetitle, notedescription, userid) values (#{notetitle}, #{notedescription}, #{userid})") + @Options(useGeneratedKeys = true, keyProperty = "noteid") int addNote(SingleNote singleNote); // add this method in NoteService - @Update("update notes set noteText = #{noteDescription} where noteId = #{noteId}") + @Update("update notes set notedescription = #{notedescription} where noteid = #{noteid}") int editNote(SingleNote singleNote); // add this method in NoteService - @Select("select * from notes where userId=#{userId} and noteTitle=#{noteTitle} and noteDescription=#{noteDescription}") - SingleNote isOnlyNote(Integer userId, String noteTitle, String noteDescription); + @Select("select * from notes where userid=#{userid} and notetitle=#{notetitle} and notedescription=#{notedescription}") + SingleNote isOnlyNote(Integer userid, String notetitle, String notedescription); - @Delete("delete from notes where noteId = #{noteId}") - int deleteNote(Integer noteId); + @Delete("delete from notes where noteid = #{noteid}") + int deleteNote(Integer noteid); } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index ff67141..15caac4 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -5,16 +5,12 @@ @Mapper public interface UserMapper { - @Select("SELECT * FROM USERS WHERE username = #{username}") User getUser(String username); - @Select("SELECT userid FROM USERS WHERE username = #{username}") Integer getUserId(String username); - @Insert("INSERT INTO USERS (username, salt, password, firstName, lastName) " + "VALUES(#{username}, #{salt}, #{password}, #{firstName}, #{lastName})") @Options(useGeneratedKeys = true, keyProperty = "userid") int insert(User user); - } \ No newline at end of file diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/NoteOverviewForm.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/NoteOverviewForm.java deleted file mode 100644 index d2e535a..0000000 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/NoteOverviewForm.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.udacity.jwdnd.course1.cloudstorage.model; - -public class NoteOverviewForm { - private Integer noteId, userId; - private String userName, noteTitle, noteDescription; - - public Integer getNoteId() { - return noteId; - } - - public void setNoteId(Integer noteId) { - this.noteId = noteId; - } - - public Integer getUserId() { - return userId; - } - - public void setUserId(Integer userId) { - this.userId = userId; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getNoteTitle() { - return noteTitle; - } - - public void setNoteTitle(String noteTitle) { - this.noteTitle = noteTitle; - } - - public String getNoteDescription() { - return noteDescription; - } - - public void setNoteDescription(String noteDescription) { - this.noteDescription = noteDescription; - } -} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java index 864c2e1..09b26c9 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java @@ -1,52 +1,51 @@ package com.udacity.jwdnd.course1.cloudstorage.model; public class SingleNote { - private Integer noteId; - private String noteTitle; - private String noteDescription; - private Integer userId; + private Integer noteid; + private String notetitle; + private String notedescription; + private Integer userid; public SingleNote(Integer noteId, String noteTitle, String noteDescription, int userId) { - this.noteId = noteId; - this.noteTitle = noteTitle; - this.noteDescription = noteDescription; - this.userId = userId; + this.noteid = noteId; + this.notetitle = noteTitle; + this.notedescription = noteDescription; + this.userid = userId; } public SingleNote() { } - public Integer getNoteId() { - return noteId; + public Integer getNoteid() { + return noteid; } - public void setNoteId(Integer noteId) { - this.noteId = noteId; + public void setNoteid(Integer noteid) { + this.noteid = noteid; } - public Integer getUserId() { - return userId; + public String getNotetitle() { + return notetitle; } - public void setUserId(Integer userId) { - this.userId = userId; + public void setNotetitle(String notetitle) { + this.notetitle = notetitle; } - public String getNoteTitle() { - return noteTitle; + public String getNotedescription() { + return notedescription; } - public void setNoteTitle(String noteTitle) { - this.noteTitle = noteTitle; + public void setNotedescription(String notedescription) { + this.notedescription = notedescription; } - public String getNoteDescription() { - return noteDescription; + public Integer getUserid() { + return userid; } - public void setNoteDescription(String noteDescription) { - this.noteDescription = noteDescription; + public void setUserid(Integer userid) { + this.userid = userid; } - } diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java index 7fc649f..70541a0 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java @@ -24,8 +24,8 @@ public void postConstruct() { System.out.println("Creating NoteService Bean."); } - public int addNote(SingleNote note, int userId){ - return noteMapper.addNote(new SingleNote(0, note.getNoteTitle(), note.getNoteDescription(), userId)); + public int addNote(SingleNote note, int userid){ + return noteMapper.addNote(new SingleNote(0, note.getNotetitle(), note.getNotedescription(), userid)); } public int editNote(SingleNote note) {return noteMapper.editNote(note);} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html index fba8b6a..067c9d5 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html +++ b/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html @@ -75,17 +75,17 @@ Delete - Example Note Title - Example Note Description + Example Note Title + Example Note Description @@ -101,14 +101,14 @@