import { AttributeFileValue, LocalFile, User } from './element.interface' type WorkRecordSumItem = { attributes: { count: number unitPrice: number } config: string } type CountingWorkRecordItem = { config: { name: string hash: string attributes: { currency: string unitOfMeasure: string } } attributes: { unitPrice: number count: number } } export interface WorkRecordData { actionID: string content: string items?: WorkRecordSumItem[] metadata?: { // latitude, longitude coordinates?: [number, number] checklist?: { hash: string } } files?: LocalFile[] } export interface IWorkRecord extends Omit { actionId: string archive?: boolean author: User content: string createdAt: string // ISO date string hash: string organization: string files?: AttributeFileValue[] items?: CountingWorkRecordItem[] } export interface CountingWorkRecord { _id: string content: string timestamp: string user: string organization: string items?: CountingWorkRecordItem[] element: { type: string hash: string } metadata?: { checklist?: { hash: string } coordinates?: [number, number] } files?: AttributeFileValue[] } export type CountingWorkRecordIdentity = { hash: string name: string } export interface WorkRecordConfiguration { name: string hash: string attributes: { currency: string unitOfMeasure: string unitPrice: string count: string } }