utopia-ui/types/Item.d.ts

46 lines
1.0 KiB
TypeScript

import type { ItemsApi } from './ItemsApi'
import type { ItemType } from './ItemType'
import type { LayerProps } from './LayerProps'
import type { Relation } from './Relation'
import type { UserItem } from './UserItem'
import type { Point } from 'geojson'
type TagIds = { tags_id: string }[]
interface BaseItem {
id: string
name: string
text: string
data?: string
position?: Point
date_created?: string
date_updated?: string | null
start?: string
end?: string
// eslint-disable-next-line @typescript-eslint/no-explicit-any
api?: ItemsApi<any>
tags?: string[]
layer?: LayerProps
relations?: Relation[]
parent?: string
subname?: string
public_edit?: boolean
slug?: string
user_created?: UserItem
image?: string
group_type?: string
offers?: TagIds
needs?: TagIds
status?: string
color?: string
markerIcon?: string
avatar?: string
new?: boolean
contact?: string
telephone?: string
next_appointment?: string
type?: ItemType
}
export type Item = BaseItem & Record<string, unknown>