import { IWorkspaceRoleOutput } from './workspace-role'; import { IProjectOutput } from './project/project'; // import { WorkspaceType } from './project/project-type'; export interface IWorkspaceBase { id: string; name: string; // type: WorkspaceType; } export interface IWorkspace extends IWorkspaceBase { roleIds: number[]; projectIds: string[]; // workspaceIds: string[]; // workspaces: IWorkspace[]; // roleIds: number[]; // roles: IWorkspaceRole[]; } export interface IWorkspaceOutput extends IWorkspaceBase { // workspaces: IWorkspaceOutput[]; roles: IWorkspaceRoleOutput[]; projects: IProjectOutput[]; } export interface IWorkspaceCreateInput { id: string; name: string; // type: WorkspaceType; // roles?: IWorkspaceUserRole[]; // workspaceRelations: IMultipleRelationOperation[]; // workspaceRelations: IRelation[]; // roleIds?: number[]; // roles?: IWorkspaceRole[]; } export interface IWorkspaceUpdateInput { id: string; name?: string; // type?: string; // workspaceRelations?: IMultipleRelationOperation[]; // workspaceRelations?: IRelation[]; // roleIds?: number[]; // roles?: IWorkspaceRole[]; } export interface IWorkspaceDeleteInput { id: string; } // export interface IWorkspaceProperties { // id?: boolean; // name?: boolean; // workspaceIds?: boolean; // roleIds?: boolean; // // roles?: boolean; // } // interface IWorkspaceRelationProperties { // workspaces?: IWorkspaceConfigPropertiesConfig; // roles?: IWorkspaceRolePropertiesConfig; // } // export interface IWorkspacePropertiesConfig { // properties: IWorkspaceProperties; // relationProperties?: IWorkspaceRelationProperties; // } // export function defaultWorkspaceProperties(): IWorkspaceProperties { // return { // id: true, // name: true, // roleIds: true, // workspaceIds: true, // // userId: true, // // roles: false, // // workspaceDashboardConfigIds: true, // }; // } // export function defaultWorkspaceRelationProperties(): IWorkspaceRelationProperties { // return { // roles: defaultWorkspaceRolePropertiesConfig(), // // events: defaultEventProperties(), // }; // } // export function defaultWorkspacePropertiesConfig(): IWorkspacePropertiesConfig { // return { // properties: defaultWorkspaceProperties(), // relationProperties: defaultWorkspaceRelationProperties(), // }; // }