diff --git a/src/api/directus.ts b/src/api/directus.ts index 8fe315de..22a8d52d 100644 --- a/src/api/directus.ts +++ b/src/api/directus.ts @@ -9,6 +9,11 @@ export type Place = { text: string; position?: Point; }; + + export type Tag = { + id: string; + color: string; + }; export type Event = { id: string; diff --git a/src/api/itemsApi.ts b/src/api/itemsApi.ts index 6ce2abd3..6db214a7 100644 --- a/src/api/itemsApi.ts +++ b/src/api/itemsApi.ts @@ -17,30 +17,34 @@ export class itemsApi implements ItemsApi{ return await directusClient.request(readItems(this.collectionName as never,{limit: 500 })); } catch (error) { console.log(error); + throw new Error("Failed while loading items"); } } - async createItem(item: T & { id?: string }) { + async createItem(item: T & { id?: string }) { try { return await directusClient.request(createItem(this.collectionName as keyof MyCollections,item)) - } catch (error) { + } catch (error: any) { console.log(error); + throw new Error(error.errors[0].message); } } async updateItem(item: T & { id?: string }) { try { return await directusClient.request(updateItem(this.collectionName as keyof MyCollections,item.id!, item)) - } catch (error) { + } catch (error: any) { console.log(error); + throw new Error(error.errors[0].message); } } async deleteItem(id: string ) { try { return await directusClient.request(deleteItem(this.collectionName as keyof MyCollections,id)) - } catch (error) { + } catch (error: any) { console.log(error); + throw new Error(error.errors[0].message); } } }