converted to Partials
This commit is contained in:
parent
b49a4c3ddf
commit
057bcdcf02
2 changed files with 7 additions and 7 deletions
|
|
@ -1,10 +1,10 @@
|
||||||
import type {Note} from "../types";
|
import type {Note} from "./types";
|
||||||
|
|
||||||
export interface NoteRepository {
|
export interface NoteRepository {
|
||||||
getNotes(): Promise<Note[]>;
|
getNotes(): Promise<Note[]>;
|
||||||
getNote(id: number): Promise<Note>;
|
getNote(id: number): Promise<Note>;
|
||||||
getCurrentNote(): Promise<Note | void>;
|
getCurrentNote(): Promise<Note | void>;
|
||||||
updateNote(id: number, note: Note): Promise<Note>;
|
updateNote(id: number, note: Partial<Note>): Promise<Note>;
|
||||||
deleteNote(id: number): void;
|
deleteNote(id: number): void;
|
||||||
createNote(note: Note): Promise<Note>;
|
createNote(note: Partial<Note> & Pick<Note, 'title'>): Promise<Note>;
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import type {Note} from "../types";
|
import type {Note} from "./types";
|
||||||
import {parseCookies} from "nookies";
|
import {parseCookies} from "nookies";
|
||||||
import type {NoteRepository} from "./NoteRepository";
|
import type {NoteRepository} from "./NoteRepository";
|
||||||
|
|
||||||
|
|
@ -35,12 +35,12 @@ export class StrapiNoteRepository implements NoteRepository {
|
||||||
return await this.getNote(this.currentNoteId);
|
return await this.getNote(this.currentNoteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async updateNote(id: number, note: Note): Promise<Note> {
|
public async updateNote(id: number, note: Partial<Note>): Promise<Note> {
|
||||||
const response = await StrapiNoteRepository.fetchStrapi("/" + id, 'PUT', note);
|
const response = await StrapiNoteRepository.fetchStrapi("/" + id, 'PUT', note);
|
||||||
return await response.json();
|
return await response.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async createNote(note: Note): Promise<Note> {
|
public async createNote(note: Partial<Note> & Pick<Note, 'title'>): Promise<Note> {
|
||||||
const response = await StrapiNoteRepository.fetchStrapi("/", 'POST', note);
|
const response = await StrapiNoteRepository.fetchStrapi("/", 'POST', note);
|
||||||
return await response.json();
|
return await response.json();
|
||||||
}
|
}
|
||||||
|
|
@ -49,7 +49,7 @@ export class StrapiNoteRepository implements NoteRepository {
|
||||||
await StrapiNoteRepository.fetchStrapi("/" + id, 'DELETE');
|
await StrapiNoteRepository.fetchStrapi("/" + id, 'DELETE');
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async fetchStrapi(path: string, method: HttpMethod, body: Note | null = null): Promise<Response> {
|
private static async fetchStrapi(path: string, method: HttpMethod, body: Partial<Note> | null = null): Promise<Response> {
|
||||||
let requestInit: RequestInit = {
|
let requestInit: RequestInit = {
|
||||||
method: method,
|
method: method,
|
||||||
headers: {
|
headers: {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue