few improvements
This commit is contained in:
45
pom.xml
45
pom.xml
@@ -38,10 +38,10 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-rest</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-oauth2-client</artifactId>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-oauth2-client</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
@@ -53,12 +53,12 @@
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-docker-compose</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-docker-compose</artifactId>-->
|
||||
<!-- <scope>runtime</scope>-->
|
||||
<!-- <optional>true</optional>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
@@ -70,9 +70,18 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.security</groupId>-->
|
||||
<!-- <artifactId>spring-security-test</artifactId>-->
|
||||
<!-- <scope>test</scope>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
<version>4.9.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -82,6 +91,16 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<argLine>
|
||||
-javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar
|
||||
-Xshare:off
|
||||
</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package _11.asktpk.artisanconnectbackend.Controller;
|
||||
|
||||
import _11.asktpk.artisanconnectbackend.Model.Notice;
|
||||
import _11.asktpk.artisanconnectbackend.Repository.NoticeRepository;
|
||||
import _11.asktpk.artisanconnectbackend.Service.PostgresDatabase;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RequestMapping("/api/v1")
|
||||
@RestController
|
||||
public class ArtisanConnectController {
|
||||
@Autowired
|
||||
private PostgresDatabase postgresDatabase;
|
||||
|
||||
@GetMapping("/notices/all")
|
||||
public List<Notice> getAllNotices() {
|
||||
return postgresDatabase.get();
|
||||
}
|
||||
|
||||
@ResponseStatus(HttpStatus.CREATED)
|
||||
@PostMapping("/notices/add")
|
||||
public void addNotice(@RequestBody Notice notice) {
|
||||
postgresDatabase.add(notice);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package _11.asktpk.artisanconnectbackend.Model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.sql.Blob;
|
||||
|
||||
@Entity
|
||||
public class Notice {
|
||||
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column
|
||||
private String title;
|
||||
|
||||
@Column
|
||||
private String username;
|
||||
|
||||
@Column
|
||||
private String description;
|
||||
|
||||
public Notice() {
|
||||
this.title = "";
|
||||
this.username = "";
|
||||
this.description = "";
|
||||
}
|
||||
|
||||
public Notice(String nTitle, String nUsername, String nDescription) {
|
||||
this.title = nTitle;
|
||||
this.username = nUsername;
|
||||
this.description = nDescription;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String user) {
|
||||
this.username = user;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package _11.asktpk.artisanconnectbackend.Repository;
|
||||
|
||||
import _11.asktpk.artisanconnectbackend.Model.Notice;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface NoticeRepository extends JpaRepository<Notice, Long> {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package _11.asktpk.artisanconnectbackend.Service;
|
||||
|
||||
import _11.asktpk.artisanconnectbackend.Model.Notice;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IDatabase {
|
||||
void add(Notice newNotice);
|
||||
List<Notice> get();
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package _11.asktpk.artisanconnectbackend.Service;
|
||||
|
||||
import _11.asktpk.artisanconnectbackend.Model.Notice;
|
||||
import _11.asktpk.artisanconnectbackend.Repository.NoticeRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PostgresDatabase implements IDatabase{
|
||||
@Autowired
|
||||
private NoticeRepository noticeRepository;
|
||||
|
||||
@Override
|
||||
public void add(Notice newNotice) {
|
||||
noticeRepository.save(newNotice);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Notice> get() {
|
||||
return noticeRepository.findAll();
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,43 @@
|
||||
package _11.asktpk.artisanconnectbackend;
|
||||
|
||||
import _11.asktpk.artisanconnectbackend.Model.Notice;
|
||||
import _11.asktpk.artisanconnectbackend.Service.PostgresDatabase;
|
||||
import okhttp3.*;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@SpringBootTest
|
||||
class ArtisanConnectBackendApplicationTests {
|
||||
private static final Logger logger = LogManager.getLogger(ArtisanConnectBackendApplicationTests.class);
|
||||
|
||||
@Autowired
|
||||
PostgresDatabase postgresDatabase;
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
void testPostgresDatabase() {
|
||||
postgresDatabase.add(new Notice("Test Notice", "Username", "Test Description"));
|
||||
Boolean isRecordAvailable = postgresDatabase.get().size() > 0;
|
||||
if(isRecordAvailable) {
|
||||
logger.info("The record is available in the database");
|
||||
} else {
|
||||
logger.error("The record is not available in the database");
|
||||
}
|
||||
assert isRecordAvailable;
|
||||
}
|
||||
|
||||
@Test
|
||||
void getAllNotices() throws IOException {
|
||||
OkHttpClient client = new OkHttpClient().newBuilder()
|
||||
.build();
|
||||
MediaType mediaType = MediaType.parse("text/plain");
|
||||
Request request = new Request.Builder()
|
||||
.url("http://localhost:8080/api/v1/notices/all")
|
||||
.build();
|
||||
Response response = client.newCall(request).execute();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user