Compare commits

...

2 Commits

Author SHA1 Message Date
Oğuzhan Koral db7b7682d6 Merge branch 'main' into oguzhan/cnx-3112-create-workspace-button-always-redirects-to 2026-03-06 10:42:59 +03:00
oguzhankoral f942484900 fix: correct url for create workspace action 2026-03-06 10:36:37 +03:00
2 changed files with 130 additions and 21 deletions
+8 -1
View File
@@ -8,7 +8,14 @@
<FormButton
full-width
class="flex items-center"
@click="$openUrl('https://app.speckle.systems/workspaces/actions/create')"
@click="
$openUrl(
`${activeAccount.accountInfo.serverInfo.url.replace(
/\/$/,
''
)}/workspaces/actions/create`
)
"
>
<div class="min-w-0 truncate flex-grow">
<span>{{ 'Create a workspace' }}</span>
+122 -20
View File
@@ -303,7 +303,10 @@ export type AdminMutations = {
* normal role requirements.
*/
removeWorkspaceDomain: Scalars['Boolean']['output'];
requestEmailVerification: SentEmailInfo;
requestPasswordReset: SentEmailInfo;
revokeWorkspaceFeature: Scalars['Boolean']['output'];
sendDeliverabilityTestEmail: SentEmailInfo;
/**
* A server administrator can update the verification status of an user's email.
* The server administrator is recommended to confirm ownership of the email address
@@ -330,11 +333,26 @@ export type AdminMutationsRemoveWorkspaceDomainArgs = {
};
export type AdminMutationsRequestEmailVerificationArgs = {
emailId: Scalars['ID']['input'];
};
export type AdminMutationsRequestPasswordResetArgs = {
input: AdminRequestPasswordResetInput;
};
export type AdminMutationsRevokeWorkspaceFeatureArgs = {
input: WorkspaceFeatureGrantUpdateInput;
};
export type AdminMutationsSendDeliverabilityTestEmailArgs = {
emailId: Scalars['ID']['input'];
};
export type AdminMutationsUpdateEmailVerificationArgs = {
input: AdminUpdateEmailVerificationInput;
};
@@ -349,11 +367,20 @@ export type AdminMutationsUpdateWorkspacePlanArgs = {
input: AdminUpdateWorkspacePlanInput;
};
export type AdminPasswordResetToken = {
__typename?: 'AdminPasswordResetToken';
createdAt: Scalars['DateTime']['output'];
email: Scalars['String']['output'];
id: Scalars['ID']['output'];
obfuscatedToken: Scalars['String']['output'];
};
export type AdminQueries = {
__typename?: 'AdminQueries';
inviteList: AdminInviteList;
projectList: ProjectCollection;
serverStatistics: ServerStatistics;
user?: Maybe<AdminUserListItem>;
userList: AdminUserList;
workspaceList: WorkspaceCollection;
};
@@ -375,6 +402,11 @@ export type AdminQueriesProjectListArgs = {
};
export type AdminQueriesUserArgs = {
id: Scalars['ID']['input'];
};
export type AdminQueriesUserListArgs = {
cursor?: InputMaybe<Scalars['String']['input']>;
limit?: Scalars['Int']['input'];
@@ -389,6 +421,11 @@ export type AdminQueriesWorkspaceListArgs = {
query?: InputMaybe<Scalars['String']['input']>;
};
export type AdminRequestPasswordResetInput = {
email: Scalars['String']['input'];
userId: Scalars['ID']['input'];
};
export type AdminUpdateEmailVerificationInput = {
email: Scalars['String']['input'];
/** Defaults to true. If set to false, the email will be marked as unverified. */
@@ -415,7 +452,9 @@ export type AdminUserListItem = {
email?: Maybe<Scalars['String']['output']>;
id: Scalars['ID']['output'];
name: Scalars['String']['output'];
passwordResetTokens: Array<AdminPasswordResetToken>;
role?: Maybe<Scalars['String']['output']>;
userEmails: Array<UserEmail>;
verified?: Maybe<Scalars['Boolean']['output']>;
};
@@ -1258,12 +1297,13 @@ export type CreateModelInput = {
projectId: Scalars['ID']['input'];
};
export type CreateProjectResourceMetaInput = {
export type CreateResourceMetaInput = {
data: Scalars['JSON']['input'];
metaType: Scalars['String']['input'];
projectId: Scalars['String']['input'];
projectId?: InputMaybe<Scalars['String']['input']>;
resourceId: Scalars['String']['input'];
resourceType: ResourceMetaType;
workspaceId: Scalars['String']['input'];
};
export type CreateSavedViewGroupInput = {
@@ -2419,6 +2459,7 @@ export enum ModelIngestionHandlerType {
Acc = 'acc',
AutomateFileUpload = 'automateFileUpload',
ClientSide = 'clientSide',
DataUpload = 'dataUpload',
FileUpload = 'fileUpload'
}
@@ -4125,6 +4166,7 @@ export type ProjectPermissionChecks = {
canRevokeEmbedTokens: PermissionCheckResult;
canUpdate: PermissionCheckResult;
canUpdateAllowPublicComments: PermissionCheckResult;
canUpdateRole: PermissionCheckResult;
canUseInvite: PermissionCheckResult;
};
@@ -4134,6 +4176,12 @@ export type ProjectPermissionChecksCanMoveToWorkspaceArgs = {
};
export type ProjectPermissionChecksCanUpdateRoleArgs = {
targetRole?: InputMaybe<StreamRole>;
targetUserId?: InputMaybe<Scalars['String']['input']>;
};
export type ProjectPermissionChecksCanUseInviteArgs = {
type?: InputMaybe<InviteUseType>;
};
@@ -4344,8 +4392,8 @@ export type Query = {
* isn't specified, the server will look for any valid invite.
*/
projectInvite?: Maybe<PendingStreamCollaborator>;
projectResourceMeta: ProjectResourceMeta;
projectResourceMetaSearch: Array<ProjectResourceMeta>;
resourceMeta: ResourceMeta;
resourceMetaSearch: Array<ResourceMeta>;
serverInfo: ServerInfo;
/** Receive metadata about an invite by the invite token */
serverInviteByToken?: Maybe<ServerInvite>;
@@ -4478,17 +4526,19 @@ export type QueryProjectInviteArgs = {
};
export type QueryProjectResourceMetaArgs = {
export type QueryResourceMetaArgs = {
id: Scalars['ID']['input'];
projectId: Scalars['String']['input'];
projectId?: InputMaybe<Scalars['String']['input']>;
workspaceId: Scalars['String']['input'];
};
export type QueryProjectResourceMetaSearchArgs = {
export type QueryResourceMetaSearchArgs = {
metaType?: InputMaybe<Scalars['String']['input']>;
projectId: Scalars['String']['input'];
projectId?: InputMaybe<Scalars['String']['input']>;
resourceId: Scalars['String']['input'];
resourceType: ResourceMetaType;
workspaceId: Scalars['String']['input'];
};
@@ -4604,20 +4654,28 @@ export type ResourceIdentifier = {
resourceType: ResourceType;
};
export type ResourceMeta = {
__typename?: 'ResourceMeta';
authorId?: Maybe<Scalars['ID']['output']>;
createdAt: Scalars['DateTime']['output'];
data: Scalars['JSON']['output'];
id: Scalars['ID']['output'];
metaType: Scalars['String']['output'];
projectId?: Maybe<Scalars['String']['output']>;
resourceId: Scalars['String']['output'];
resourceType: ResourceMetaType;
updatedAt: Scalars['DateTime']['output'];
workspaceId: Scalars['String']['output'];
};
export type ResourceMetaMutations = {
__typename?: 'ResourceMetaMutations';
createProjectResourceMeta: ProjectResourceMeta;
createWorkspaceResourceMeta: WorkspaceResourceMeta;
create: ResourceMeta;
};
export type ResourceMetaMutationsCreateProjectResourceMetaArgs = {
input: CreateProjectResourceMetaInput;
};
export type ResourceMetaMutationsCreateWorkspaceResourceMetaArgs = {
input: CreateWorkspaceResourceMetaInput;
export type ResourceMetaMutationsCreateArgs = {
input: CreateResourceMetaInput;
};
export enum ResourceMetaType {
@@ -4625,7 +4683,9 @@ export enum ResourceMetaType {
Model = 'model',
Object = 'object',
Project = 'project',
Version = 'version'
Version = 'version',
Widget = 'widget',
Workspace = 'workspace'
}
export enum ResourceType {
@@ -5648,7 +5708,7 @@ export type SubscriptionWorkspaceProjectsUpdatedArgs = {
export type SubscriptionWorkspaceSupportSessionUpdatedArgs = {
workspaceId: Scalars['String']['input'];
id: WorkspaceIdOrSlug;
};
@@ -5829,7 +5889,7 @@ export type User = {
* All active support sessions for the current user across all workspaces.
* Used by the frontend to show support mode banners globally.
*/
activeSupportSessions: Array<WorkspaceSupportSession>;
activeSupportSessions?: Maybe<Array<WorkspaceSupportSession>>;
/** The last-visited workspace for the given user */
activeWorkspace?: Maybe<LimitedWorkspace>;
/**
@@ -6064,6 +6124,7 @@ export type UserDeleteInput = {
export type UserEmail = {
__typename?: 'UserEmail';
distinctId: Scalars['String']['output'];
email: Scalars['String']['output'];
id: Scalars['ID']['output'];
primary: Scalars['Boolean']['output'];
@@ -6270,6 +6331,8 @@ export type Version = {
id: Scalars['ID']['output'];
message?: Maybe<Scalars['String']['output']>;
model: Model;
objectKey?: Maybe<Scalars['String']['output']>;
packfileSize?: Maybe<Scalars['BigInt']['output']>;
parents?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
permissions: VersionPermissionChecks;
previewUrl: Scalars['String']['output'];
@@ -6759,6 +6822,12 @@ export enum WorkspaceFeatureName {
WorkspaceDataRegionSpecificity = 'workspaceDataRegionSpecificity'
}
/** One of the fields must be set, with id taking precedence */
export type WorkspaceIdOrSlug = {
id?: InputMaybe<Scalars['String']['input']>;
slug?: InputMaybe<Scalars['String']['input']>;
};
export type WorkspaceIdentifier = {
id?: InputMaybe<Scalars['String']['input']>;
slug?: InputMaybe<Scalars['String']['input']>;
@@ -6977,6 +7046,8 @@ export type WorkspaceMutations = {
delete: Scalars['Boolean']['output'];
deleteDomain: Workspace;
deleteSsoProvider: Scalars['Boolean']['output'];
/** Revoke the SSO session for a specific user in a workspace. Only workspace admins can perform this action. */
deleteSsoSession: Scalars['Boolean']['output'];
/** Dismiss a workspace from the discoverable list, behind the scene a join request is created with the status "dismissed" */
dismiss: Scalars['Boolean']['output'];
invites: WorkspaceInviteMutations;
@@ -6994,6 +7065,8 @@ export type WorkspaceMutations = {
updateEmbedOptions: WorkspaceEmbedOptions;
updateRole: Workspace;
updateSeatType: Workspace;
/** Update the SSO provider details for a workspace. */
updateSsoProvider: Scalars['Boolean']['output'];
};
@@ -7022,6 +7095,12 @@ export type WorkspaceMutationsDeleteSsoProviderArgs = {
};
export type WorkspaceMutationsDeleteSsoSessionArgs = {
userId: Scalars['String']['input'];
workspaceId: Scalars['String']['input'];
};
export type WorkspaceMutationsDismissArgs = {
input: WorkspaceDismissInput;
};
@@ -7067,6 +7146,11 @@ export type WorkspaceMutationsUpdateSeatTypeArgs = {
input: WorkspaceUpdateSeatTypeInput;
};
export type WorkspaceMutationsUpdateSsoProviderArgs = {
input: WorkspaceSsoProviderUpdateInput;
};
export type WorkspacePaidPlanPrices = {
__typename?: 'WorkspacePaidPlanPrices';
business: WorkspacePlanPrice;
@@ -7089,6 +7173,7 @@ export type WorkspacePermissionChecks = {
canCreateProject: PermissionCheckResult;
canDelete: PermissionCheckResult;
canDeleteInvite: PermissionCheckResult;
canDeleteSsoSession: PermissionCheckResult;
canEditEmbedOptions: PermissionCheckResult;
canEditWorkspaceIssueLabels: PermissionCheckResult;
canInvite: PermissionCheckResult;
@@ -7121,6 +7206,7 @@ export type WorkspacePermissionChecks = {
canRequestSupportAccess: PermissionCheckResult;
canResendInvite: PermissionCheckResult;
canSendJoinRequest: PermissionCheckResult;
canUpdate: PermissionCheckResult;
canUpdateRole: PermissionCheckResult;
canUpgradePlan: PermissionCheckResult;
canUseExperimentalDashboardFeatures: PermissionCheckResult;
@@ -7135,6 +7221,11 @@ export type WorkspacePermissionChecksCanChangeSeatTypeArgs = {
};
export type WorkspacePermissionChecksCanDeleteSsoSessionArgs = {
targetUserId?: InputMaybe<Scalars['String']['input']>;
};
export type WorkspacePermissionChecksCanMoveProjectToWorkspaceArgs = {
projectId?: InputMaybe<Scalars['String']['input']>;
};
@@ -7366,6 +7457,15 @@ export type WorkspaceSsoProvider = {
name: Scalars['String']['output'];
};
export type WorkspaceSsoProviderUpdateInput = {
clientId: Scalars['ID']['input'];
clientSecret: Scalars['String']['input'];
issuerUrl: Scalars['String']['input'];
providerId: Scalars['ID']['input'];
providerName: Scalars['String']['input'];
workspaceId: Scalars['ID']['input'];
};
export type WorkspaceSsoSession = {
__typename?: 'WorkspaceSsoSession';
createdAt: Scalars['DateTime']['output'];
@@ -7493,6 +7593,8 @@ export type WorkspaceSupportSessionUpdatedMessage = {
session: WorkspaceSupportSession;
/** The type of update that occurred */
type: WorkspaceSupportSessionUpdatedMessageType;
/** The workspace this session belongs to */
workspace: Workspace;
};
export enum WorkspaceSupportSessionUpdatedMessageType {