New Code Editor and fun
This commit is contained in:
@@ -25,44 +25,31 @@ export class EventRepo {
|
||||
constructor(private token: string) {}
|
||||
|
||||
public async listEvents(): Promise<ShortEvent[]> {
|
||||
const res = await fetchWithToken(this.token, "/events");
|
||||
|
||||
if (res.ok) {
|
||||
return z.array(ShortEventSchema).parse(await res.json());
|
||||
} else {
|
||||
throw new Error("Could not fetch events: " + res.statusText);
|
||||
}
|
||||
return await fetchWithToken(this.token, "/events")
|
||||
.then(value => value.json())
|
||||
.then(value => z.array(ShortEventSchema).parse(value));
|
||||
}
|
||||
|
||||
public async getEvent(id: string): Promise<ExtendedEvent> {
|
||||
const res = await fetchWithToken(this.token, `/events/${id}`);
|
||||
|
||||
if (res.ok) {
|
||||
return ExtendedEventSchema.parse(await res.json());
|
||||
} else {
|
||||
throw new Error("Could not fetch event: " + res.statusText);
|
||||
}
|
||||
return await fetchWithToken(this.token, `/events/${id}`)
|
||||
.then(value => value.json())
|
||||
.then(ExtendedEventSchema.parse);
|
||||
}
|
||||
|
||||
public async createEvent(event: CreateEvent): Promise<SWEvent> {
|
||||
const res = await fetchWithToken(this.token, "/events", {
|
||||
return await fetchWithToken(this.token, "/events", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
name: event.name,
|
||||
start: +event.start,
|
||||
end: +event.end
|
||||
}),
|
||||
});
|
||||
|
||||
if (res.ok) {
|
||||
return SWEventSchema.parse(await res.json());
|
||||
} else {
|
||||
throw new Error("Could not create event: " + res.statusText);
|
||||
}
|
||||
}).then(value => value.json())
|
||||
.then(SWEventSchema.parse);
|
||||
}
|
||||
|
||||
public async updateEvent(id: string, event: UpdateEvent): Promise<SWEvent> {
|
||||
const res = await fetchWithToken(this.token, `/events/${id}`, {
|
||||
return await fetchWithToken(this.token, `/events/${id}`, {
|
||||
method: "PUT",
|
||||
body: JSON.stringify({
|
||||
name: event.name,
|
||||
@@ -77,13 +64,8 @@ export class EventRepo {
|
||||
headers: {
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
});
|
||||
|
||||
if (res.ok) {
|
||||
return SWEventSchema.parse(await res.json());
|
||||
} else {
|
||||
throw new Error("Could not update event: " + res.statusText);
|
||||
}
|
||||
}).then(value => value.json())
|
||||
.then(SWEventSchema.parse);
|
||||
}
|
||||
|
||||
public async deleteEvent(id: string): Promise<boolean> {
|
||||
|
||||
Reference in New Issue
Block a user