@datalayer/core
Version:
**Datalayer Core**
35 lines (34 loc) • 939 B
TypeScript
import { SpaceMember } from "./SpaceMember";
import { ISpaceItem } from "./SpaceItem";
import { ICourse as ICourse } from "./Course";
import { IOrganization } from "./Organization";
import { IUser } from "./User";
/**
* Convert the raw space object to {@link ISpace}.
*
* @param user Raw space object from DB
* @returns Space
*/
export declare const asSpace: (raw_space: any) => ISpace;
export type ISpaceVariant = 'default' | 'course';
export type IAnySpace = ISpace | ICourse;
export type IBaseSpace = {
id: string;
handle: string;
type: string;
variant: ISpaceVariant;
name: string;
description: string;
creationDate: Date;
public: boolean;
owner: IUser;
organization?: Partial<IOrganization>;
members?: SpaceMember[];
};
export type ISpace = IBaseSpace & {
type: 'space';
variant: 'default';
items?: Array<ISpaceItem>;
itemIds?: Array<string>;
};
export default ISpace;