Files
AFFiNE-Mirror/blocksuite/affine/model/src/blocks/database/database-model.ts
T

31 lines
813 B
TypeScript

import type { Text } from '@blocksuite/store';
import { BlockModel, defineBlockSchema } from '@blocksuite/store';
import type { Column, SerializedCells, ViewBasicDataType } from './types.js';
export type DatabaseBlockProps = {
views: ViewBasicDataType[];
title: Text;
cells: SerializedCells;
columns: Array<Column>;
};
export class DatabaseBlockModel extends BlockModel<DatabaseBlockProps> {}
export const DatabaseBlockSchema = defineBlockSchema({
flavour: 'affine:database',
props: (internal): DatabaseBlockProps => ({
views: [],
title: internal.Text(),
cells: Object.create(null),
columns: [],
}),
metadata: {
role: 'hub',
version: 3,
parent: ['affine:note'],
children: ['affine:paragraph', 'affine:list'],
},
toModel: () => new DatabaseBlockModel(),
});