diff --git a/Udacity/mvc_basics_final_review/.gitignore b/Udacity/1_spring_boot/mvc_basics_final_review/.gitignore similarity index 100% rename from Udacity/mvc_basics_final_review/.gitignore rename to Udacity/1_spring_boot/mvc_basics_final_review/.gitignore diff --git a/Udacity/mvc_basics_final_review/.mvn/wrapper/MavenWrapperDownloader.java b/Udacity/1_spring_boot/mvc_basics_final_review/.mvn/wrapper/MavenWrapperDownloader.java similarity index 100% rename from Udacity/mvc_basics_final_review/.mvn/wrapper/MavenWrapperDownloader.java rename to Udacity/1_spring_boot/mvc_basics_final_review/.mvn/wrapper/MavenWrapperDownloader.java diff --git a/Udacity/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.jar b/Udacity/1_spring_boot/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.jar similarity index 100% rename from Udacity/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.jar rename to Udacity/1_spring_boot/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.jar diff --git a/Udacity/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.properties b/Udacity/1_spring_boot/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from Udacity/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.properties rename to Udacity/1_spring_boot/mvc_basics_final_review/.mvn/wrapper/maven-wrapper.properties diff --git a/Udacity/mvc_basics_final_review/mvnw b/Udacity/1_spring_boot/mvc_basics_final_review/mvnw similarity index 100% rename from Udacity/mvc_basics_final_review/mvnw rename to Udacity/1_spring_boot/mvc_basics_final_review/mvnw diff --git a/Udacity/mvc_basics_final_review/mvnw.cmd b/Udacity/1_spring_boot/mvc_basics_final_review/mvnw.cmd similarity index 100% rename from Udacity/mvc_basics_final_review/mvnw.cmd rename to Udacity/1_spring_boot/mvc_basics_final_review/mvnw.cmd diff --git a/Udacity/mvc_basics_final_review/pom.xml b/Udacity/1_spring_boot/mvc_basics_final_review/pom.xml similarity index 99% rename from Udacity/mvc_basics_final_review/pom.xml rename to Udacity/1_spring_boot/mvc_basics_final_review/pom.xml index d078b39..2669558 100644 --- a/Udacity/mvc_basics_final_review/pom.xml +++ b/Udacity/1_spring_boot/mvc_basics_final_review/pom.xml @@ -7,6 +7,7 @@ spring-boot-starter-parent 2.5.6 + mvc_basics mvc_basics diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/MvcBasicsApplication.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/MvcBasicsApplication.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/MvcBasicsApplication.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/MvcBasicsApplication.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/config/SecurityConfig.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/config/SecurityConfig.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/config/SecurityConfig.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/config/SecurityConfig.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/ChatController.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/ChatController.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/ChatController.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/ChatController.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/LoginController.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/LoginController.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/LoginController.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/LoginController.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/SignupController.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/SignupController.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/SignupController.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/controller/SignupController.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/MessageMapper.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/MessageMapper.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/MessageMapper.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/MessageMapper.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/UserMapper.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/UserMapper.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/UserMapper.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/mapper/UserMapper.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatForm.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatForm.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatForm.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatForm.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatMessage.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatMessage.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatMessage.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/ChatMessage.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/User.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/User.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/User.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/model/User.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/AuthenticationService.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/AuthenticationService.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/AuthenticationService.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/AuthenticationService.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/HashService.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/HashService.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/HashService.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/HashService.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/MessageService.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/MessageService.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/MessageService.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/MessageService.java diff --git a/Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/UserService.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/UserService.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/UserService.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/java/mvc_basics/mvc_basics/service/UserService.java diff --git a/Udacity/mvc_basics_final_review/src/main/resources/application.properties b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/application.properties similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/application.properties rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/application.properties diff --git a/Udacity/mvc_basics_final_review/src/main/resources/schema.sql b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/schema.sql similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/schema.sql rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/schema.sql diff --git a/Udacity/mvc_basics_final_review/src/main/resources/static/css/bootstrap.min.css b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/css/bootstrap.min.css similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/static/css/bootstrap.min.css rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/css/bootstrap.min.css diff --git a/Udacity/mvc_basics_final_review/src/main/resources/static/js/bootstrap.min.js b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/js/bootstrap.min.js similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/static/js/bootstrap.min.js rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/js/bootstrap.min.js diff --git a/Udacity/mvc_basics_final_review/src/main/resources/static/js/jquery-slim.min.js b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/js/jquery-slim.min.js similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/static/js/jquery-slim.min.js rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/js/jquery-slim.min.js diff --git a/Udacity/mvc_basics_final_review/src/main/resources/static/js/popper.min.js b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/js/popper.min.js similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/static/js/popper.min.js rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/static/js/popper.min.js diff --git a/Udacity/mvc_basics_final_review/src/main/resources/templates/chat.html b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/templates/chat.html similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/templates/chat.html rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/templates/chat.html diff --git a/Udacity/mvc_basics_final_review/src/main/resources/templates/login.html b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/templates/login.html similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/templates/login.html rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/templates/login.html diff --git a/Udacity/mvc_basics_final_review/src/main/resources/templates/signup.html b/Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/templates/signup.html similarity index 100% rename from Udacity/mvc_basics_final_review/src/main/resources/templates/signup.html rename to Udacity/1_spring_boot/mvc_basics_final_review/src/main/resources/templates/signup.html diff --git a/Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/ChatPage.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/ChatPage.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/ChatPage.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/ChatPage.java diff --git a/Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/LoginPage.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/LoginPage.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/LoginPage.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/LoginPage.java diff --git a/Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/MvcBasicsApplicationTests.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/MvcBasicsApplicationTests.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/MvcBasicsApplicationTests.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/MvcBasicsApplicationTests.java diff --git a/Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/SignupPage.java b/Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/SignupPage.java similarity index 100% rename from Udacity/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/SignupPage.java rename to Udacity/1_spring_boot/mvc_basics_final_review/src/test/java/mvc_basics/mvc_basics/SignupPage.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/.github/workflows/manual.yml b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/.github/workflows/manual.yml similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/.github/workflows/manual.yml rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/.github/workflows/manual.yml diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/CODEOWNERS b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/CODEOWNERS similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/CODEOWNERS rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/CODEOWNERS diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/README.md b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/README.md similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/README.md rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/README.md diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/README.md b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/README.md similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/README.md rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/README.md diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.gitignore b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.gitignore similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.gitignore rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.gitignore diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/MavenWrapperDownloader.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/MavenWrapperDownloader.java similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/MavenWrapperDownloader.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/MavenWrapperDownloader.java diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.jar b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.jar similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.jar rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.jar diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.properties b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.properties rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/.mvn/wrapper/maven-wrapper.properties diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/README.md b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/README.md similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/README.md rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/README.md diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw old mode 100755 new mode 100644 similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw.cmd b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw.cmd similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw.cmd rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/mvnw.cmd diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/pom.xml b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/pom.xml similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/pom.xml rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/pom.xml diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/CloudStorageApplication.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/CloudStorageApplication.java similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/CloudStorageApplication.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/CloudStorageApplication.java diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java b/Udacity/1_spring_boot/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..a3e94d5 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/config/SecurityConfig.java @@ -0,0 +1,43 @@ +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); + + http.logout(logout->logout + .logoutUrl("/logout") + .logoutSuccessUrl("/login?logout") + .invalidateHttpSession(true) + ); + } +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/AllErrorController.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/AllErrorController.java similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/AllErrorController.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/AllErrorController.java diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java b/Udacity/1_spring_boot/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..40dc144 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/CredentialController.java @@ -0,0 +1,73 @@ +package com.udacity.jwdnd.course1.cloudstorage.controller; + +import com.udacity.jwdnd.course1.cloudstorage.model.Credential; +import com.udacity.jwdnd.course1.cloudstorage.services.CredentialService; +import com.udacity.jwdnd.course1.cloudstorage.services.UserService; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +import java.util.Optional; + +@Controller +@RequestMapping("/credential") +public class CredentialController { + + private final UserService userService; + private final CredentialService credentialService; + + public CredentialController(UserService userService, CredentialService credentialService) { + this.userService = userService; + this.credentialService = credentialService; + } + + // add or edit credential 2x + @PostMapping("/addcredential") + public String addOrEditCredential(@ModelAttribute Credential credential, Model model, Authentication authentication){ + int userFromId = userService.getUserId(authentication.getName()); + Optional credentialId = Optional.ofNullable(credential.getCredentialId()); + if (credentialId.isEmpty()){ + return addCredential(credential, model, userFromId); + } else { + return editCredential (credential, model, userFromId); + } + } + + private String addCredential (Credential credential, Model model, int userFromId){ + if (credentialService.isOnlyUsername(userFromId, credential.getUsername())){ + credential.setUserId(userFromId); + return displayResult(model, credentialService.addCredential(credential)); + } else { + return displayOtherErrorMsg("User already exists", model); + } + } + + private String editCredential(Credential credential, Model model, int userFromId){ + if(credentialService.isOnlyUsername(userFromId, credential.getUsername())){ + return displayResult(model, credentialService.editCredential(credential)); + } else { + return displayOtherErrorMsg("User already exists.", model); + } + } + + private String displayResult(Model model, int entry){ + if (entry == 1){ + model.addAttribute("successMsg",true); + } else { + model.addAttribute("notSavedErrorMsg", true); + } + return "result"; + } + + private String displayOtherErrorMsg(String msg, Model model){ + model.addAttribute("otherErrorMsg", msg); + return "result"; + } + + @GetMapping("/deletecredential/{credentialId:.+}") + public String deleteCredential(@PathVariable Integer credentialId, Model model){ + return displayResult(model, credentialService.deleteCredential(credentialId)); + } + +} diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/FileController.java b/Udacity/1_spring_boot/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..75cdfc7 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/FileController.java @@ -0,0 +1,83 @@ +package com.udacity.jwdnd.course1.cloudstorage.controller; + +import com.udacity.jwdnd.course1.cloudstorage.model.File; +import com.udacity.jwdnd.course1.cloudstorage.services.FileService; +import com.udacity.jwdnd.course1.cloudstorage.services.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.InputStreamResource; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +@RequestMapping("/file") +@Controller +public class FileController { + + private final UserService userService; + private final FileService fileService; + + @Autowired + public FileController(UserService userService, FileService fileService) { + this.userService = userService; + this.fileService = fileService; + } + + @PostMapping("/uploadfile") + public String uploadFile(@RequestParam("fileUpload") MultipartFile multipartFile, + Authentication authentication, Model model) throws IOException { + int userId = userService.getUserId(authentication.getName()); + if(!multipartFile.isEmpty()){ + if(fileService.isOnlyFileName(userId, multipartFile.getOriginalFilename())){ + return displayResult(model, fileService.addFile(multipartFile, userId)); + } else{ + return displayFileErrorMsg( "That file name already exists", model); + } + }else { + return displayFileErrorMsg( "Error. Select file to upload first", model); + } + } + + @GetMapping("/viewfile/{fileId:.+}") + public ResponseEntity viewFile(@PathVariable int fileId){ + File file = fileService.getFileByFileId(fileId); + InputStream inputStream = new ByteArrayInputStream(file.getFileData()); + InputStreamResource inputStreamResource = new InputStreamResource(inputStream); + return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION,"fileName"+file.getFileName()). + contentType(MediaType.parseMediaType(file.getContentType())).body(inputStreamResource); + } + + @GetMapping("deletefile/{fileId:.+}") + public String deleteFile(@PathVariable Integer fileId, Model model){ + return displayResult(model, fileService.deleteFile(fileId)); + } + + private String displayResult(Model model, int entry){ + if (entry == 1){ + model.addAttribute("successMsg", true); + } else { + model.addAttribute("notSavedErrorMsg", true); + } + return "result"; + } + + private String displayFileErrorMsg(String msg, Model model){ + model.addAttribute("fileErrorMsg", true); + model.addAttribute("fileErrorMsgText", msg); + return "result"; + } + + private String displayOtherErrorMsg(String msg, Model model){ + model.addAttribute("otherErrorMsg", true); + return "result"; + } + +} diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java new file mode 100644 index 0000000..c36704c --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/HomeController.java @@ -0,0 +1,70 @@ +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 org.springframework.security.core.Authentication; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.annotation.PostConstruct; +import java.util.ArrayList; +import java.util.List; + +@Controller +@RequestMapping("/home") +public class HomeController { + + private final UserService userService; + private final NoteService noteService; + private final EncryptionService encryptionService; + private final CredentialService credentialService; + private final FileService fileService; + + public HomeController(UserService userService, NoteService noteService, EncryptionService encryptionService, CredentialService credentialService, FileService fileService) { + this.userService = userService; + this.noteService = noteService; + this.encryptionService = encryptionService; + this.credentialService = credentialService; + this.fileService = fileService; + } + + Listnotes; + Listcredentials; + ListdecryptedPasswords; + 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<>(); + files = new ArrayList<>(); + credentials = new ArrayList<>(); + decryptedPasswords = new ArrayList<>(); + } + + @GetMapping + public String homeView(Model model, Authentication authentication){ + Integer userFromId = userService.getUserId(authentication.getName()); + notes = noteService.getAllNotesForUser(userFromId); + files = fileService.getFilesFromUserId(userFromId); + credentials = credentialService.getCredentialFromUserId(userFromId); + decryptedPasswords = credentialService.getDecryptedPasswordsFromUserId(userFromId); + + model.addAttribute("note", new SingleNote()); + model.addAttribute("notes", notes); + model.addAttribute("credential" , new Credential()); + model.addAttribute("credentials" , credentials); + model.addAttribute("credentialService", credentialService); + model.addAttribute("encryptionService", encryptionService); + model.addAttribute("files", files); + + return "home"; + } + +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LoginController.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LoginController.java similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LoginController.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/LoginController.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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java similarity index 87% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/NoteController.java index 391ff6c..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/1_spring_boot/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.getUserFromId(authentication.getName()); - Optional noteId = Optional.ofNullable(note.getNoteId()); + int userFromId = userService.getUserId(authentication.getName()); + 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); @@ -54,7 +53,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/controller/SignupController.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java similarity index 86% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/controller/SignupController.java rename to Udacity/1_spring_boot/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/1_spring_boot/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); } diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java b/Udacity/1_spring_boot/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..0df7452 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/CredentialMapper.java @@ -0,0 +1,33 @@ +package com.udacity.jwdnd.course1.cloudstorage.mapper; + +import com.udacity.jwdnd.course1.cloudstorage.model.Credential; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@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 + @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); +} diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/FileMapper.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/FileMapper.java new file mode 100644 index 0000000..bb83bf6 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/FileMapper.java @@ -0,0 +1,32 @@ +package com.udacity.jwdnd.course1.cloudstorage.mapper; + +import com.udacity.jwdnd.course1.cloudstorage.model.Credential; +import com.udacity.jwdnd.course1.cloudstorage.model.File; +import org.apache.ibatis.annotations.*; + +import java.util.List; +// TODO: complete section. appears complete +@Mapper +public interface FileMapper { + // add file + @Insert("insert into files (fileId, fileName, contentType, fileSize, userId, fileData)" + + ("values(#{fileId}, #{fileName}, #{contentType}, #{fileSize}, #{userId}, #{fileData})")) + @Options(useGeneratedKeys = true, keyProperty = "fileId") + int addFile(File file); + + // delete file + @Delete("delete from files where fileId=#{fileid}") + int deleteFile(Integer fileid); + + // is the only file + @Select("select * from files where filename=#{filename} and userid=#{userid}") + File isOnlyFileName(Integer userid, String filename); + + // getFromUserId + @Select("select * from files where userid=#{userid}") + List getFilesFromUserId(int userid); + + // get by file id + @Select("select * from files where fileId=#{fileid}") + File getFileByFileId(int fileid); +} diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java new file mode 100644 index 0000000..01d4c6b --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/NoteMapper.java @@ -0,0 +1,25 @@ +package com.udacity.jwdnd.course1.cloudstorage.Mapper; + +import com.udacity.jwdnd.course1.cloudstorage.model.SingleNote; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +@Mapper +public interface NoteMapper { + @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") + int addNote(SingleNote singleNote); // add this method in NoteService + + @Update("update notes set notetitle = #{notetitle}, 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); + + @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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java similarity index 65% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java index 47c1061..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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/mapper/UserMapper.java @@ -1,20 +1,16 @@ -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.*; @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); - + @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") + @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/Credential.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/Credential.java similarity index 82% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/Credential.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/Credential.java index 2a44fe9..dc2847a 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/Credential.java +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/Credential.java @@ -2,31 +2,31 @@ public class Credential { - private Integer credentialId; + private Integer credentialid; private String url; private String username; private String key; private String password; - private Integer userId; + private Integer userid; public Credential() { } public Credential(Integer credentialId, String url, String username, String key, String password, Integer userId) { - this.credentialId = credentialId; + this.credentialid = credentialId; this.url = url; this.username = username; this.key = key; this.password = password; - this.userId = userId; + this.userid = userId; } public Integer getCredentialId() { - return credentialId; + return credentialid; } public void setCredentialId(Integer credentialId) { - this.credentialId = credentialId; + this.credentialid = credentialId; } public String getUrl() { @@ -62,10 +62,10 @@ public void setPassword(String password) { } public Integer getUserId() { - return userId; + return userid; } public void setUserId(Integer userId) { - this.userId = userId; + this.userid = 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/model/File.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/File.java similarity index 97% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/File.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/File.java index 401a116..5f6255c 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/File.java +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/File.java @@ -21,6 +21,9 @@ public File(Integer fileId, String fileName, String contentType, String fileSize this.fileData = fileData; } + public File(String fileName) { + } + public Integer getFileId() { return fileId; } diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java new file mode 100644 index 0000000..09b26c9 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/SingleNote.java @@ -0,0 +1,51 @@ +package com.udacity.jwdnd.course1.cloudstorage.model; + +public class SingleNote { + 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; + } + + public SingleNote() { + + } + + public Integer getNoteid() { + return noteid; + } + + public void setNoteid(Integer noteid) { + this.noteid = noteid; + } + + 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; + } + + public Integer getUserid() { + return userid; + } + + 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/model/User.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java similarity index 87% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/model/User.java rename to Udacity/1_spring_boot/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/1_spring_boot/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/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java similarity index 96% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/AuthenticationService.java rename to Udacity/1_spring_boot/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/1_spring_boot/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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/CredentialService.java b/Udacity/1_spring_boot/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..f8f1d16 --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/CredentialService.java @@ -0,0 +1,78 @@ +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.*; +import java.util.stream.Collectors; + +@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 List getCredentialFromUserId(Integer userId){ + return credentialMapper.getFromUserId(userId); + } + + 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); + } + + public int editCredential (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.editCredential(credential); + } + + public List getDecryptedPasswordsFromUserId(Integer userFromId){ + List listOfCredentials = getCredentialFromUserId(userFromId); + if(listOfCredentials!=null){ + return listOfCredentials.stream().filter(Objects::nonNull) + .map(credential -> encryptionService.decryptValue(credential.getPassword(), credential.getKey())) + .collect(Collectors.toList()); + } else { + return new ArrayList<>(); + } + } + public int deleteCredential (int credentialId){ + return credentialMapper.deleteCredential(credentialId); + } + + public boolean isOnlyUsername (Integer userId, String userName){ + Optional credential = Optional.ofNullable(credentialMapper.isOnlyUsername(userId, userName)); + return (credential.isEmpty()); + } + public List getFromUserId (Integer userId){ + return credentialMapper.getFromUserId(userId); + } + +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/EncryptionService.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/EncryptionService.java similarity index 87% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/EncryptionService.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/EncryptionService.java index e2dced9..d5f1b6a 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/EncryptionService.java +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/EncryptionService.java @@ -2,7 +2,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import javax.crypto.*; @@ -25,7 +24,7 @@ public String encryptValue(String data, String key) { cipher.init(Cipher.ENCRYPT_MODE, secretKey); encryptedValue = cipher.doFinal(data.getBytes("UTF-8")); } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException - | UnsupportedEncodingException | IllegalBlockSizeException | BadPaddingException e) { + | UnsupportedEncodingException | IllegalBlockSizeException | BadPaddingException e) { logger.error(e.getMessage()); } @@ -41,7 +40,7 @@ public String decryptValue(String data, String key) { cipher.init(Cipher.DECRYPT_MODE, secretKey); decryptedValue = cipher.doFinal(Base64.getDecoder().decode(data)); } catch (NoSuchAlgorithmException | NoSuchPaddingException - | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) { + | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) { logger.error(e.getMessage()); } diff --git a/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/FileService.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/FileService.java new file mode 100644 index 0000000..53d825f --- /dev/null +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/FileService.java @@ -0,0 +1,46 @@ +package com.udacity.jwdnd.course1.cloudstorage.services; + +import com.udacity.jwdnd.course1.cloudstorage.mapper.FileMapper; +import com.udacity.jwdnd.course1.cloudstorage.model.File; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; +import java.util.Optional; +@Service +public class FileService { + + private final FileMapper fileMapper; + + @Autowired + public FileService(FileMapper fileMapper) { + this.fileMapper = fileMapper; + } + + public int addFile(MultipartFile multipartFile, int userId) throws IOException{ + return fileMapper.addFile(new File + (null, multipartFile.getOriginalFilename(), multipartFile.getContentType(), + Long.toString(multipartFile.getSize()), + userId, multipartFile.getBytes())); + } + + public File getFileByFileId(int fileId){ + return fileMapper.getFileByFileId(fileId); + } + + public int deleteFile(int fileId){ + return fileMapper.deleteFile(fileId); + } + + public boolean isOnlyFileName(Integer userId, String fileName){ + Optionalfile = Optional.ofNullable(fileMapper.isOnlyFileName(userId,fileName)); + return(file.isEmpty()); + } + + public List getFilesFromUserId(int userId){ + return fileMapper.getFilesFromUserId(userId); + } + +} diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/HashService.java b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/HashService.java similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/HashService.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/HashService.java 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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java similarity index 53% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java index bc62a16..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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/NoteService.java @@ -1,10 +1,11 @@ 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; +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); } } 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/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java similarity index 81% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/java/com/udacity/jwdnd/course1/cloudstorage/services/UserService.java index 5a97a3c..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/1_spring_boot/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; @@ -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 int 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/application.properties b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties similarity index 83% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties index a8ab248..ccf1a6c 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/application.properties @@ -1,4 +1,4 @@ -spring.h2.console.enabled=true +// to enable large file upload spring.servlet.multipart.enabled=true server.tomcat.max-swallow-size=-1 spring.servlet.multipart.max-file-size=-1 diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/schema.sql b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/schema.sql similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/schema.sql rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/schema.sql diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/css/bootstrap.min.css b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/css/bootstrap.min.css similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/css/bootstrap.min.css rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/css/bootstrap.min.css diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/bootstrap.min.js b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/bootstrap.min.js similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/bootstrap.min.js rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/bootstrap.min.js diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/jquery-slim.min.js b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/jquery-slim.min.js similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/jquery-slim.min.js rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/jquery-slim.min.js diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/popper.min.js b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/popper.min.js similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/popper.min.js rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/static/js/popper.min.js diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/error.html b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/error.html similarity index 100% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/error.html rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/error.html diff --git a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html similarity index 73% rename from Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html rename to Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html index 5f8a669..2da99d5 100644 --- a/Udacity/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html +++ b/Udacity/1_spring_boot/nd035-c1-spring-boot-basics-project-starter/starter/cloudstorage/src/main/resources/templates/home.html @@ -16,9 +16,12 @@