Gradle setup (#2)
Build and Deploy Java Gradle Application / build-and-deploy (push) Successful in 1m47s

This commit was merged in pull request #2.
This commit is contained in:
florian committed 2026-09-03 10:28:19 +01:00
1 parent 3b579fdb6b
commit 34edf9cd1b
30 files changed
+547 -455

No files matched your search

@@ -0,0 +1,11 @@
plugins {
id("io.spring.dependency-management") version "1.1.7"
}
dependencies {
implementation(project(":codiki-application"))
implementation(project(":codiki-domain"))
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.apache.tika:tika-core:3.2.3")
}
-37
View File
@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.codiki</groupId>
<artifactId>codiki-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<artifactId>codiki-exposition</artifactId>
<name>codiki-exposition</name>
<description>Demo project for Spring Boot</description>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.codiki</groupId>
<artifactId>codiki-application</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
</dependency>
</dependencies>
</project>
@@ -29,7 +29,7 @@ public class SecurityConfiguration {
public SecurityFilterChain securityFilterChain(
HttpSecurity httpSecurity,
JwtAuthenticationFilter jwtAuthenticationFilter
) {
) throws Exception {
httpSecurity
.csrf(AbstractHttpConfigurer::disable)
.httpBasic(Customizer.withDefaults())
@@ -12,6 +12,8 @@ import org.codiki.exposition.user.model.LoginRequest;
import org.codiki.exposition.user.model.LoginResponse;
import org.codiki.exposition.user.model.RefreshTokenRequest;
import org.codiki.exposition.user.model.SignInRequestDto;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -23,9 +25,14 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/api/users")
public class UserController {
private final UserUseCases userUseCases;
private final boolean signupEnabled;
public UserController(UserUseCases userUseCases) {
public UserController(
UserUseCases userUseCases,
@Value("${application.signup.enabled:true}") boolean signupEnabled
) {
this.userUseCases = userUseCases;
this.signupEnabled = signupEnabled;
}
@PostMapping("/login")
@@ -49,7 +56,12 @@ public class UserController {
@PostMapping
@ResponseStatus(CREATED)
public void signIn(@RequestBody SignInRequestDto request) {
userUseCases.createUser(request.pseudo(), request.email(), request.password());
public ResponseEntity<Void> signIn(@RequestBody SignInRequestDto request) {
if (signupEnabled) {
userUseCases.createUser(request.pseudo(), request.email(), request.password());
return ResponseEntity.status(CREATED).build();
} else {
return ResponseEntity.notFound().build();
}
}
}