From d5e730134e78df9cc027406a2055c642365e79b1 Mon Sep 17 00:00:00 2001 From: Maximilian Harz Date: Wed, 25 Jun 2025 20:19:41 +0200 Subject: [PATCH] Update directus collections --- frontend/src/api/directus.ts | 11 +++++++++++ frontend/src/api/itemsApi.ts | 14 +++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/frontend/src/api/directus.ts b/frontend/src/api/directus.ts index 032be4b4..7b32f8b4 100644 --- a/frontend/src/api/directus.ts +++ b/frontend/src/api/directus.ts @@ -6,6 +6,7 @@ import { createDirectus, rest, authentication } from '@directus/sdk' import type { AuthenticationData, AuthenticationStorage } from '@directus/sdk' import type { Point } from 'geojson' +import type { Item } from 'utopia-ui' export interface Place { id: string @@ -50,6 +51,11 @@ interface CustomUserFields { position: Point } +interface ItemSecret { + secret: string + item: string +} + export interface MyCollections { places: Place[] events: Event[] @@ -57,6 +63,11 @@ export interface MyCollections { tags: Tag[] projects: Project[] directus_users: CustomUserFields[] + item_secrets: ItemSecret[] + items: Item[] + team: any[] + features: any[] + attestations: any[] } export const authLocalStorage = (mainKey = 'directus_storage') => diff --git a/frontend/src/api/itemsApi.ts b/frontend/src/api/itemsApi.ts index 3661f2bc..defb7c99 100644 --- a/frontend/src/api/itemsApi.ts +++ b/frontend/src/api/itemsApi.ts @@ -12,14 +12,14 @@ import type { MyCollections } from './directus' import type { ItemsApi } from 'utopia-ui' export class itemsApi implements ItemsApi { - collectionName: string + collectionName: keyof MyCollections filter: any layerId: string | undefined mapId: string | undefined customParameter: any constructor( - collectionName: string, + collectionName: keyof MyCollections, layerId?: string | undefined, mapId?: string | undefined, filter?: any, @@ -82,7 +82,7 @@ export class itemsApi implements ItemsApi { async createItem(item: T & { id?: string }): Promise { try { const result = await directusClient.request( - createItem(this.collectionName as keyof MyCollections, { + createItem(this.collectionName, { ...item, ...(this.customParameter && this.customParameter), ...(this.layerId && { layer: this.layerId }), @@ -100,9 +100,7 @@ export class itemsApi implements ItemsApi { async updateItem(item: T & { id?: string }): Promise { try { - const result = await directusClient.request( - updateItem(this.collectionName as keyof MyCollections, item.id!, item), - ) + const result = await directusClient.request(updateItem(this.collectionName, item.id!, item)) return result as T } catch (error: any) { console.log(error) @@ -113,9 +111,7 @@ export class itemsApi implements ItemsApi { async deleteItem(id: string): Promise { try { - const result = await directusClient.request( - deleteItem(this.collectionName as keyof MyCollections, id), - ) + const result = await directusClient.request(deleteItem(this.collectionName, id)) return result as unknown as boolean } catch (error: any) { console.log(error)