Files
speckle-server/packages/server/test/graphql/workspaces.ts
T
2024-09-23 15:56:00 +02:00

236 lines
4.4 KiB
TypeScript

import gql from 'graphql-tag'
export const workspaceFragment = gql`
fragment TestWorkspace on Workspace {
id
name
slug
description
createdAt
updatedAt
logo
}
`
export const workspaceCollaboratorFragment = gql`
fragment TestWorkspaceCollaborator on WorkspaceCollaborator {
id
role
user {
name
}
projectRoles {
role
project {
id
name
}
}
}
`
export const workspaceProjectFragment = gql`
fragment TestWorkspaceProject on Project {
id
name
createdAt
updatedAt
team {
id
role
}
}
`
export const createWorkspaceQuery = gql`
mutation CreateWorkspace($input: WorkspaceCreateInput!) {
workspaceMutations {
create(input: $input) {
...TestWorkspace
}
}
}
${workspaceFragment}
`
export const deleteWorkspaceQuery = gql`
mutation DeleteWorkspace($workspaceId: String!) {
workspaceMutations {
delete(workspaceId: $workspaceId)
}
}
`
export const getWorkspaceQuery = gql`
query GetWorkspace($workspaceId: String!) {
workspace(id: $workspaceId) {
...TestWorkspace
team {
items {
...TestWorkspaceCollaborator
}
}
}
}
${workspaceFragment}
${workspaceCollaboratorFragment}
`
export const getWorkspaceBySlugQuery = gql`
query GetWorkspaceBySlug($workspaceSlug: String!) {
workspaceBySlug(slug: $workspaceSlug) {
...TestWorkspace
team {
items {
...TestWorkspaceCollaborator
}
}
}
}
${workspaceFragment}
${workspaceCollaboratorFragment}
`
export const getActiveUserDiscoverableWorkspacesQuery = gql`
query getActiveUserDiscoverableWorkspaces {
activeUser {
discoverableWorkspaces {
id
name
description
}
}
}
`
export const updateWorkspaceQuery = gql`
mutation UpdateWorkspace($input: WorkspaceUpdateInput!) {
workspaceMutations {
update(input: $input) {
...TestWorkspace
}
}
}
${workspaceFragment}
`
export const getActiveUserWorkspacesQuery = gql`
query GetActiveUserWorkspaces {
activeUser {
workspaces {
items {
...TestWorkspace
}
}
}
}
${workspaceFragment}
`
export const updateWorkspaceRoleQuery = gql`
mutation UpdateWorkspaceRole($input: WorkspaceRoleUpdateInput!) {
workspaceMutations {
updateRole(input: $input) {
team {
items {
...TestWorkspaceCollaborator
}
}
}
}
}
${workspaceCollaboratorFragment}
`
export const createWorkspaceProjectQuery = gql`
mutation CreateWorkspaceProject($input: ProjectCreateInput!) {
projectMutations {
create(input: $input) {
...TestWorkspaceProject
}
}
}
${workspaceProjectFragment}
`
export const getWorkspaceProjectsQuery = gql`
query GetWorkspaceProjects(
$id: String!
$limit: Int
$cursor: String
$filter: WorkspaceProjectsFilter
) {
workspace(id: $id) {
projects(limit: $limit, cursor: $cursor, filter: $filter) {
items {
...TestWorkspaceProject
}
cursor
totalCount
}
}
}
${workspaceProjectFragment}
`
export const getWorkspaceTeamQuery = gql`
query GetWorkspaceTeam(
$workspaceId: String!
$filter: WorkspaceTeamFilter
$limit: Int
$cursor: String
) {
workspace(id: $workspaceId) {
team(filter: $filter, limit: $limit, cursor: $cursor) {
items {
...TestWorkspaceCollaborator
}
cursor
totalCount
}
}
}
${workspaceCollaboratorFragment}
`
export const leaveWorkspaceMutation = gql`
mutation ActiveUserLeaveWorkspace($id: ID!) {
workspaceMutations {
leave(id: $id)
}
}
`
export const getProjectWorkspaceQuery = gql`
query ActiveUserProjectsWorkspace {
activeUser {
projects {
items {
id
workspace {
id
name
}
}
}
}
}
`
export const moveProjectToWorkspaceMutation = gql`
mutation MoveProjectToWorkspace($projectId: String!, $workspaceId: String!) {
workspaceMutations {
projects {
moveToWorkspace(projectId: $projectId, workspaceId: $workspaceId) {
id
workspaceId
team {
id
role
}
}
}
}
}
`