diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..549e00a2a96fa9d7c5dbc9859664a78d980158c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml index fd860ebfeacc9bad0fb8d22083913f9a19a73cff..372e166d730d52150e6883d12a9c1f10c2009fbe 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,17 +2,20 @@ <project version="4"> <component name="CompilerConfiguration"> <annotationProcessing> + <profile default="true" name="Default" enabled="true" /> <profile name="Maven default annotation processors profile" enabled="true"> <sourceOutputDir name="target/generated-sources/annotations" /> <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <outputRelativeToContentRoot value="true" /> <module name="SmartMat" /> + <module name="backend" /> </profile> </annotationProcessing> </component> <component name="JavacSettings"> <option name="ADDITIONAL_OPTIONS_OVERRIDE"> <module name="SmartMat" options="-parameters" /> + <module name="backend" options="-parameters" /> </option> </component> </project> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index ba18a6c33941ef11eae66cf92f7dc410afae5c27..14613fe5e03b18ddd991ae2d6469785815981a8c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,5 +8,5 @@ </list> </option> </component> - <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="openjdk-20" project-jdk-type="JavaSDK" /> + <component name="ProjectRootManager" version="2" languageLevel="JDK_19" project-jdk-name="openjdk-20" project-jdk-type="JavaSDK" /> </project> \ No newline at end of file diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.java index dedd771a9d286b28a920f2ee4ceb7eb02745f7aa..d8ee44d4085691e05315333384fab27387af84ec 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.java @@ -1,9 +1,12 @@ package ntnu.idatt2016.v233.SmartMat; +import ntnu.idatt2016.v233.SmartMat.config.properties.DomainProperty; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; @SpringBootApplication +@EnableConfigurationProperties({DomainProperty.class}) public class SmartMatApplication { public static void main(String[] args) { diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/config/CorsConfig.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/config/CorsConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..13829842e9d71a16cb125e28127b57d756ad5a78 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/config/CorsConfig.java @@ -0,0 +1,51 @@ +package ntnu.idatt2016.v233.SmartMat.config; + +import lombok.AllArgsConstructor; +import ntnu.idatt2016.v233.SmartMat.config.properties.DomainProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import java.util.Arrays; + +/** + * Cors configuration for application + * @author Birk + * @version 1.0 + * + */ +@Configuration +@AllArgsConstructor +public class CorsConfig { + /** + * The frontend domain properties. + */ + private final DomainProperty domainProperty; + + /** + * Configures CORS for the application. + * @return {@link WebMvcConfigurer} with CORS configuration + */ + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer() { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins(domainProperty.domain()) + .allowedMethods(Arrays.asList( + HttpMethod.GET.name(), + HttpMethod.POST.name(), + HttpMethod.PUT.name(), + HttpMethod.DELETE.name(), + HttpMethod.OPTIONS.name() + ).toArray(String[]::new)) + .allowedHeaders("*") + .allowCredentials(true) + .maxAge(3600); + } + }; + } +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/config/SecurityConfig.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/config/SecurityConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..f3b99a83e47d79a8b65958612fda5b80c42a1bc8 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/config/SecurityConfig.java @@ -0,0 +1,4 @@ +package ntnu.idatt2016.v233.SmartMat.config; + +public class SecurityConfig { +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/config/properties/DomainProperty.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/config/properties/DomainProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..7a3b7170d0bf409320c1fe19e10a64fe96c26592 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/config/properties/DomainProperty.java @@ -0,0 +1,7 @@ +package ntnu.idatt2016.v233.SmartMat.config.properties; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +@ConfigurationProperties(prefix = "domain") +public record DomainProperty (String domain){ +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/UserController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/UserController.java new file mode 100644 index 0000000000000000000000000000000000000000..2e5af8dff9e30905ea38a5fb425985c45bd95aa4 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/UserController.java @@ -0,0 +1,4 @@ +package ntnu.idatt2016.v233.SmartMat.controller; + +public class UserController { +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/User.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/User.java new file mode 100644 index 0000000000000000000000000000000000000000..57104609d878dd6ec581752182b9568617c78b98 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/User.java @@ -0,0 +1,4 @@ +package ntnu.idatt2016.v233.SmartMat.entity; + +public class User { +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/temp.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/temp.java new file mode 100644 index 0000000000000000000000000000000000000000..15755905fd71b630e92f21add40ea738008b07d1 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/temp.java @@ -0,0 +1,4 @@ +package ntnu.idatt2016.v233.SmartMat.repository; + +public class temp { +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/tempService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/tempService.java new file mode 100644 index 0000000000000000000000000000000000000000..f1d8e1e615e3c136376169eed94edb981a2b3069 --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/tempService.java @@ -0,0 +1,4 @@ +package ntnu.idatt2016.v233.SmartMat.service; + +public class tempService { +} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/util/tempUtil.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/util/tempUtil.java new file mode 100644 index 0000000000000000000000000000000000000000..73e2d53ad47be2dd348a2906c9180bbb6736fcad --- /dev/null +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/util/tempUtil.java @@ -0,0 +1,4 @@ +package ntnu.idatt2016.v233.SmartMat.util; + +public class tempUtil { +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8b137891791fe96927ad78e64b0aad7bded08bdc..217b42dadaddc8889ec80d40340c74aabf9dbee4 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1 @@ - +domain.domain = "localhost:5334"; \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties index 8b137891791fe96927ad78e64b0aad7bded08bdc..217b42dadaddc8889ec80d40340c74aabf9dbee4 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -1 +1 @@ - +domain.domain = "localhost:5334"; \ No newline at end of file diff --git a/target/classes/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.class b/target/classes/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.class index b7e7eb2567cd5612ba303cd4a5074e5b982795be..08daf566bdd0df641c7e811e2467f06974cf8deb 100644 Binary files a/target/classes/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.class and b/target/classes/ntnu/idatt2016/v233/SmartMat/SmartMatApplication.class differ