diff --git a/pom.xml b/pom.xml index ea4f0b0..bce914b 100644 --- a/pom.xml +++ b/pom.xml @@ -26,16 +26,32 @@ + org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + org.postgresql + postgresql + 42.7.8 + + + org.springframework.boot spring-boot-starter-test test + @@ -44,7 +60,6 @@ org.springframework.boot spring-boot-maven-plugin - diff --git a/src/main/java/org/zaine/app/controller/NotesController.java b/src/main/java/org/zaine/app/controller/NotesController.java new file mode 100644 index 0000000..e8ce2c5 --- /dev/null +++ b/src/main/java/org/zaine/app/controller/NotesController.java @@ -0,0 +1,32 @@ +package org.zaine.app.controller; + +import org.springframework.beans.factory.annotation.Autowired; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.zaine.app.model.Notes; +import org.zaine.app.repositories.NotesRepository; +import java.util.List; + +@RestController +public class NotesController { + @Autowired + private NotesRepository notesRepository; + + @GetMapping("/notes") + public List getAllNotes() { + return notesRepository.findAll(); + } + + @PostMapping("/notes") + public Notes createNote(@RequestBody Notes note) { + return notesRepository.save(note); + } + + + +} + diff --git a/src/main/java/org/zaine/app/model/Notes.java b/src/main/java/org/zaine/app/model/Notes.java index 7c280ca..670d493 100644 --- a/src/main/java/org/zaine/app/model/Notes.java +++ b/src/main/java/org/zaine/app/model/Notes.java @@ -1,43 +1,59 @@ package org.zaine.app.model; -import java.sql.Date; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.persistence.GeneratedValue; +import org.hibernate.annotations.UuidGenerator; +import java.sql.Date; +import java.time.Instant; +import java.util.UUID; + +@Entity +@Table(name = "public_notes") public class Notes { - private String content; - private String authorName; - private Date createdAt; - private Long id; + + @Id + @GeneratedValue + private UUID id; + + @Column(name="content") + private String content; + + @Column(name="author_name") + private String authorName; + + @Column(name="created_at") + private Date createdAt; + public Notes() { - this.createdAt = new Date(System.currentTimeMillis()); + this.createdAt = new Date(System.currentTimeMillis()); + } + + public UUID getId() { + return id; } public String getContent() { - return content; + return content; } public void setContent(String content) { - this.content = content; + this.content = content; } public String getAuthorName() { - return authorName; + return authorName; } public void setAuthorName(String authorName) { - this.authorName = authorName; + this.authorName = authorName; } public Date getCreatedAt() { - return createdAt; + return createdAt; } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - } diff --git a/src/main/java/org/zaine/app/repositories/NotesRepository.java b/src/main/java/org/zaine/app/repositories/NotesRepository.java new file mode 100644 index 0000000..1315a84 --- /dev/null +++ b/src/main/java/org/zaine/app/repositories/NotesRepository.java @@ -0,0 +1,11 @@ +package org.zaine.app.repositories; + +import org.springframework.data.jpa.repository.JpaRepository; +import java.util.UUID; +import org.zaine.app.model.Notes; + +public interface NotesRepository extends JpaRepository { + +} + +