export interface IWorkspacePermission { addPortfolios: boolean; editPortfolios: boolean; removePortfolios: boolean; viewPortfolios: boolean; addAssets: boolean; editAssets: boolean; removeAssets: boolean; viewAssets: boolean; viewWorkspaceProperties: boolean; editWorkspaceProperties: boolean; addWorkspaceRoles: boolean; viewWorkspaceRoles: boolean; updateWorkspaceRoles: boolean; removeWorkspaceRoles: boolean; addInvitations: boolean; updateInvitations: boolean; removeInvitations: boolean; remove: boolean; addProjects: boolean; viewProjects: boolean; updateProjects: boolean; removeProjects: boolean; } export type IWorkspacePermissionProperties = Partial; export interface IWorkspacePermissionPropertiesConfig { properties: IWorkspacePermissionProperties; relationProperties?: {}; } export function defaultWorkspacePermissionProperties(): IWorkspacePermissionProperties { return { addPortfolios: true, editPortfolios: true, removePortfolios: true, viewPortfolios: true, addAssets: true, editAssets: true, removeAssets: true, viewAssets: true, viewWorkspaceProperties: true, editWorkspaceProperties: true, addWorkspaceRoles: true, updateWorkspaceRoles: true, removeWorkspaceRoles: true, addInvitations: true, removeInvitations: true, updateInvitations: true, remove: true, addProjects: true, viewProjects: true, updateProjects: true, removeProjects: true, }; } export function defaultWorkspacePermissionPropertiesConfig(): IWorkspacePermissionPropertiesConfig { return { properties: defaultWorkspacePermissionProperties(), }; }