import { SelectOption } from '@prefecthq/prefect-design' import { BlockDocumentResponse } from '@/models/api/BlockDocumentResponse' import { BlockDocument } from '@/models/BlockDocument' import { createObjectLevelCan } from '@/models/ObjectLevelCan' import { MapFunction } from '@/services/Mapper' export const mapBlockDocumentResponseToBlockDocument: MapFunction = function(source) { const blockSchema = this.map('BlockSchemaResponse', source.block_schema, 'BlockSchema') return new BlockDocument({ id: source.id, name: source.name, isAnonymous: source.is_anonymous, blockSchemaId: source.block_schema_id, blockTypeId: source.block_type_id, created: this.map('string', source.created, 'Date'), updated: this.map('string', source.updated, 'Date'), blockDocumentReferences: this.map('BlockDocumentReferencesResponse', source.block_document_references, 'BlockDocumentReferences'), blockType: this.map('BlockTypeResponse', source.block_type, 'BlockType'), blockSchema, data: this.map('SchemaValuesResponse', { values: source.data, references: source.block_document_references, schema: blockSchema.fields }, 'SchemaValues'), can: createObjectLevelCan(), }) } export const mapBlockDocumentToSelectOption: MapFunction = function({ name, id }) { return { label: name, value: id, } }