}
}
+export async function createNote(title, content) {
+ try {
+ const response = await api.post("/api/notes", {
+ title: title,
+ content: content,
+ });
+ return new Note(response.data);
+ } catch (response) {
+ return Promise.reject(response);
+ }
+}
+
export async function getNote(title) {
try {
const response = await api.get(`/api/notes/${title}`);
- return new Note(
- response.data.title,
- response.data.lastModified,
- response.data.content,
- );
+ return new Note(response.data);
+ } catch (response) {
+ return Promise.reject(response);
+ }
+}
+
+export async function updateNote(title, newTitle, newContent) {
+ try {
+ const response = await api.patch(`/api/notes/${title}`, {
+ newTitle: newTitle,
+ newContent: newContent,
+ });
+ return new Note(response.data);
} catch (response) {
return Promise.reject(response);
}
import router from "./router.js";
class Note {
- constructor(title, lastModified, content) {
- this.title = title;
- this.lastModified = lastModified;
- this.content = content;
+ constructor(note) {
+ this.title = note?.title;
+ this.lastModified = note?.lastModified;
+ this.content = note?.content;
}
get href() {
class SearchResult extends Note {
constructor(searchResult) {
- super(searchResult.title, searchResult.lastModified);
+ super(searchResult);
this.score = searchResult.score;
this.titleHighlights = searchResult.titleHighlights;
this.contentHighlights = searchResult.contentHighlights;