Managing projects, spaces, and organizational structures.
enum ProjectType { DEFAULT = 'DEFAULT', PREVIEW = 'PREVIEW' }
interface Project {
organizationUuid: string;
projectUuid: string;
name: string;
type: ProjectType;
dbtConnection: DbtProjectConfig;
warehouseConnection?: CreateWarehouseCredentials;
}
enum DbtProjectType {
DBT = 'dbt',
GITHUB = 'github',
GITLAB = 'gitlab',
BITBUCKET = 'bitbucket',
AZURE_DEVOPS = 'azure_devops',
DBT_CLOUD_IDE = 'dbt_cloud_ide',
NONE = 'none'
}
function isGitProjectType(type: DbtProjectType): boolean;interface Space {
organizationUuid: string;
uuid: string;
name: string;
isPrivate: boolean;
pinnedListUuid: string | null;
pinnedListOrder: number | null;
dashboards: SpaceDashboard[];
access: SpaceShare[];
projectUuid: string;
slug: string;
chartCount: number;
dashboardCount: number;
}
interface CreateSpace {
name: string;
isPrivate?: boolean;
access?: SpaceShare[];
}
interface SpaceShare {
userUuid: string;
firstName: string;
lastName: string;
email: string;
role: SpaceMemberRole;
hasDirectAccess: boolean;
}
enum SpaceMemberRole { VIEWER = 'viewer', EDITOR = 'editor', ADMIN = 'admin' }