diff --git a/codegen/01-entrypoint.sh b/codegen/01-entrypoint.sh
index aa74670408763d7b6579926306dc94323010e29a..9f7f220b1451484f670d72a7eda91a966ccd1398 100644
--- a/codegen/01-entrypoint.sh
+++ b/codegen/01-entrypoint.sh
@@ -23,6 +23,7 @@ fi
 mkdir -p ./gql-cache
 # copy all files from gql folder to gql-cache folder, prevent gql being prefixed
 cp -r ../gql/* ./gql-cache
+find ./gql-cache -type f -name "*.graphql"
 
 # list out graphql schema files in schemas dir
 SCHEMA_FILES=$(find ./schemas -type f -name "*.graphql")
diff --git a/codegen/gql/fragments/Definition.graphql b/codegen/gql/fragments/Definition.graphql
index fa99b9a8f565803c98ad46ab64f65be910db2ba1..f03cd70dea37fe4eee13e48f2add5acb8ab662a2 100644
--- a/codegen/gql/fragments/Definition.graphql
+++ b/codegen/gql/fragments/Definition.graphql
@@ -7,5 +7,7 @@ fragment Definition on DefinitionType {
   }
   roles {
     ...Role
+  userSet {
+    ...RestrictedUser
   }
 }
diff --git a/codegen/gql/fragments/Exercise.graphql b/codegen/gql/fragments/Exercise.graphql
index 1499874697df666a3015e1c7c4ee61629436827f..263705e83c51b87a9b3c676ebcdeb00b768954c1 100644
--- a/codegen/gql/fragments/Exercise.graphql
+++ b/codegen/gql/fragments/Exercise.graphql
@@ -18,4 +18,7 @@ fragment Exercise on ExerciseType {
     id
     name
   }
+  userSet {
+    ...RestrictedUser
+  }
 }
diff --git a/codegen/gql/fragments/Group.graphql b/codegen/gql/fragments/Group.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..84ad8cddf358b7203b6e66bda2b802acbbcdca4f
--- /dev/null
+++ b/codegen/gql/fragments/Group.graphql
@@ -0,0 +1,4 @@
+fragment Group on GroupType {
+    id
+    name
+}
\ No newline at end of file
diff --git a/codegen/gql/fragments/RestrictedExercise.graphql b/codegen/gql/fragments/RestrictedExercise.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..e8b572903a0e194ce570f3e3f11e75e54e880edb
--- /dev/null
+++ b/codegen/gql/fragments/RestrictedExercise.graphql
@@ -0,0 +1,3 @@
+fragment RestrictedExercise on RestrictedExercise {
+    id
+}
\ No newline at end of file
diff --git a/codegen/gql/fragments/RestrictedTeam.graphql b/codegen/gql/fragments/RestrictedTeam.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..f3b48360af1813936d1a7893d0292eca21797fd5
--- /dev/null
+++ b/codegen/gql/fragments/RestrictedTeam.graphql
@@ -0,0 +1,8 @@
+fragment RestrictedTeam on RestrictedTeam {
+    id
+    exercise {
+        ...Exercise
+    }
+    name
+    role
+}
\ No newline at end of file
diff --git a/codegen/gql/fragments/RestrictedUser.graphql b/codegen/gql/fragments/RestrictedUser.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..87c890287c560799d10f5612e98fe002ad9a7b1e
--- /dev/null
+++ b/codegen/gql/fragments/RestrictedUser.graphql
@@ -0,0 +1,4 @@
+fragment RestrictedUser on RestrictedUser {
+    id
+    username
+}
\ No newline at end of file
diff --git a/codegen/gql/fragments/Tag.graphql b/codegen/gql/fragments/Tag.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..a07e42c400085fc98eb74c4502e312dba9c34698
--- /dev/null
+++ b/codegen/gql/fragments/Tag.graphql
@@ -0,0 +1,4 @@
+fragment Tag on TagType {
+    id
+    name
+}
\ No newline at end of file
diff --git a/codegen/gql/fragments/Team.graphql b/codegen/gql/fragments/Team.graphql
index 7f1d7063c30ac7c8df70787c9ccf67a8a6c69e9e..aa5c54f400e26dbafca41477e54d955429f693b7 100644
--- a/codegen/gql/fragments/Team.graphql
+++ b/codegen/gql/fragments/Team.graphql
@@ -9,4 +9,7 @@ fragment Team on TeamType {
     id
     name
   }
+  userSet {
+    ...RestrictedUser
+  }
 }
diff --git a/codegen/gql/fragments/User.graphql b/codegen/gql/fragments/User.graphql
index 310c0a76ea677eba4d87c278a98bde7300a9bbb3..1a140603a3132d5bf991071f34c4dbca327a9c40 100644
--- a/codegen/gql/fragments/User.graphql
+++ b/codegen/gql/fragments/User.graphql
@@ -1,17 +1,24 @@
 fragment User on UserType {
     id
+    lastLogin
     username
     firstName
     lastName
+    dateJoined
+    group
     isStaff
     isSuperuser
     isActive
-    group
+    tags {
+        ...Tag
+    }
     teams {
-        id
-        name
+        ...RestrictedTeam
     }
     exercises {
-        id
+        ...RestrictedExercise
+    }
+    definitions {
+        ...ExerciseDefinition
     }
 }
\ No newline at end of file
diff --git a/codegen/gql/mutations/AddDefinitionAccess.graphql b/codegen/gql/mutations/AddDefinitionAccess.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..0970760cc60184fcc62d80d85dfa728123b5af61
--- /dev/null
+++ b/codegen/gql/mutations/AddDefinitionAccess.graphql
@@ -0,0 +1,5 @@
+mutation AddDefinitionAccess($definitionId: ID!, $userIds: [ID]!) {
+  addDefinitionAccess(definitionId: $definitionId, userIds: $userIds) {
+    operationDone
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/mutations/AssignInstructorsToExercise.graphql b/codegen/gql/mutations/AssignInstructorsToExercise.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..0584fe3c7a9d401f8c224d241229ea2fd6229aa0
--- /dev/null
+++ b/codegen/gql/mutations/AssignInstructorsToExercise.graphql
@@ -0,0 +1,5 @@
+mutation AssignInstructorsToExercise($exerciseId: ID!, $userIds: [ID]!) {
+  assignInstructorsToExercise(exerciseId: $exerciseId, userIds: $userIds) {
+    operationDone
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/mutations/AssignUsersToTeam.graphql b/codegen/gql/mutations/AssignUsersToTeam.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..b59fdbab3ec30ee2f867b906ec2bce41684fa5d3
--- /dev/null
+++ b/codegen/gql/mutations/AssignUsersToTeam.graphql
@@ -0,0 +1,5 @@
+mutation AssignUsersToTeam($teamId: ID!, $userIds: [ID]!) {
+  assignUsersToTeam(teamId: $teamId, userIds: $userIds) {
+    operationDone
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/mutations/ChangeUserData.graphql b/codegen/gql/mutations/ChangeUserData.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..fcd8de9e9940c9d42abeed783d9fa96515f991e5
--- /dev/null
+++ b/codegen/gql/mutations/ChangeUserData.graphql
@@ -0,0 +1,9 @@
+mutation ChangeUserData($userId: UUID!, $group: String, $active: Boolean) {
+  changeUserData(
+    changeUserInput: { userId: $userId, group: $group, active: $active }
+  ) {
+    user {
+      ...User
+    }
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/mutations/RemoveDefinitionAccess.graphql b/codegen/gql/mutations/RemoveDefinitionAccess.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..b3990305681b1f1d91523fb62304caedffd960ee
--- /dev/null
+++ b/codegen/gql/mutations/RemoveDefinitionAccess.graphql
@@ -0,0 +1,5 @@
+mutation RemoveDefinitionAccess($definitionId: ID!, $userIds: [ID]!) {
+  removeDefinitionAccess(definitionId: $definitionId, userIds: $userIds) {
+    operationDone
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/mutations/RemoveInstructorsFromExercise.graphql b/codegen/gql/mutations/RemoveInstructorsFromExercise.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..bdfef9f5032881b2349f1c5518590c7e848e40c4
--- /dev/null
+++ b/codegen/gql/mutations/RemoveInstructorsFromExercise.graphql
@@ -0,0 +1,5 @@
+mutation RemoveInstructorsFromExercise($exerciseId: ID!, $userIds: [ID]!) {
+  removeInstructorsFromExercise(exerciseId: $exerciseId, userIds: $userIds) {
+    operationDone
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/mutations/RemoveUsersFromTeam.graphql b/codegen/gql/mutations/RemoveUsersFromTeam.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..c5b07f4c3d4c2666750b5339d1dbe9628de4e57b
--- /dev/null
+++ b/codegen/gql/mutations/RemoveUsersFromTeam.graphql
@@ -0,0 +1,5 @@
+mutation RemoveUsersFromTeam($teamId: ID!, $userIds: [ID]!) {
+  removeUsersFromTeam(teamId: $teamId, userIds: $userIds) {
+    operationDone
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/queries/GetGroups.graphql b/codegen/gql/queries/GetGroups.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..5dacc96715358d2039458a2b45cf2dee4de5aac6
--- /dev/null
+++ b/codegen/gql/queries/GetGroups.graphql
@@ -0,0 +1,5 @@
+query GetGroups {
+  groups {
+    ...Group
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/queries/GetTags.graphql b/codegen/gql/queries/GetTags.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..fcbf8014e9b19982ad7df53a4492e03711c397d0
--- /dev/null
+++ b/codegen/gql/queries/GetTags.graphql
@@ -0,0 +1,5 @@
+query GetTags {
+  tags {
+    ...Tag
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/queries/GetUser.graphql b/codegen/gql/queries/GetUser.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..91c40cb5e2e7cccfeaf444aaaf5b5e598c1168d3
--- /dev/null
+++ b/codegen/gql/queries/GetUser.graphql
@@ -0,0 +1,5 @@
+query GetUser($userId: UUID) {
+  user(userId: $userId) {
+    ...User
+  }
+}
\ No newline at end of file
diff --git a/codegen/gql/queries/GetUsers.graphql b/codegen/gql/queries/GetUsers.graphql
new file mode 100644
index 0000000000000000000000000000000000000000..91e35a14bc8431221a7cea3693a797d158f9713d
--- /dev/null
+++ b/codegen/gql/queries/GetUsers.graphql
@@ -0,0 +1,5 @@
+query GetUsers {
+  users {
+    ...User
+  }
+}
\ No newline at end of file
diff --git a/docker/schema-gen/docker-compose.yml b/docker/schema-gen/docker-compose.yml
index 33a51ba994d12c35531a44d65d8c4f661204a2c6..6ada334a39de2bd37c8a56c8fb2484882d95526f 100644
--- a/docker/schema-gen/docker-compose.yml
+++ b/docker/schema-gen/docker-compose.yml
@@ -1,5 +1,3 @@
-version: '2'
-
 services:
   backend-gen:
     build:
@@ -41,4 +39,4 @@ services:
         target: /usr/src/app/generated
     
 volumes:
-  schemas:
\ No newline at end of file
+  schemas:
diff --git a/frontend/src/analyst/utilities.ts b/frontend/src/analyst/utilities.ts
index b920ebf005c00737d45f8f3499695f2f53fb965d..6d2c8e095ea2dc264d79f104df8e891ec60c5e3a 100644
--- a/frontend/src/analyst/utilities.ts
+++ b/frontend/src/analyst/utilities.ts
@@ -167,6 +167,7 @@ export const DUMMY_EXERCISE: Exercise = {
     name: null,
   },
   name: '',
+  userSet: [],
 }
 export const DUMMY_EXERCISE_CONFIG: ExerciseConfig = {
   exerciseDuration: 0,
diff --git a/frontend/src/components/ExerciseList/ExerciseCard.tsx b/frontend/src/components/ExerciseList/ExerciseCard.tsx
index 07c6c68f7fccb563a5ae4b266d8b8e596b3f57b7..e6045fe1e45ddc58d81221aa264923bfbdf33c8c 100644
--- a/frontend/src/components/ExerciseList/ExerciseCard.tsx
+++ b/frontend/src/components/ExerciseList/ExerciseCard.tsx
@@ -1,4 +1,5 @@
 import { HIGHLIGHTED_COLOR, formatTimestamp } from '@/analyst/utilities'
+import { useNavigate } from '@/router'
 import type { ButtonProps } from '@blueprintjs/core'
 import { Button, ButtonGroup, Card } from '@blueprintjs/core'
 import { useHost } from '@inject/graphql/connection/host'
@@ -34,6 +35,7 @@ const ExerciseCard: FC<ExerciseCardProps> = ({
   details,
 }) => {
   const host = useHost()
+  const nav = useNavigate()
 
   const buttons: ReactNode = useMemo(
     () =>
@@ -60,7 +62,17 @@ const ExerciseCard: FC<ExerciseCardProps> = ({
               Remove
             </Button>
           )}
-          {exercise.exerciseStart && (
+          <Button
+            icon='people'
+            onClick={() =>
+              nav('/users/exercise/:exerciseId', {
+                params: { exerciseId: exercise.id },
+              })
+            }
+          >
+            Participants
+          </Button>
+          {(exercise.running || exercise.finished) && (
             <a
               href={downloadLogUrl(host || '', exercise.id)}
               target='_blank'
diff --git a/frontend/src/components/SortableTable/index.tsx b/frontend/src/components/SortableTable/index.tsx
index acd4b509c92804e2011b21ac1f2f9ff68076b6be..458ef101383f318bf3de90eead5429f8e2671f79 100644
--- a/frontend/src/components/SortableTable/index.tsx
+++ b/frontend/src/components/SortableTable/index.tsx
@@ -38,6 +38,7 @@ export interface Row {
   columns: Column[]
   values: ValueType[]
   onClick?: () => void
+  class?: string | undefined
 }
 
 export enum SortingFunction {
@@ -170,7 +171,11 @@ const SortableTable: FC<SortableTableProps> = ({
                   )
             )
             .map((row, i) => (
-              <tr key={i} className={highlightedOnHover} onClick={row.onClick}>
+              <tr
+                key={i}
+                className={`${highlightedOnHover} ${row.class}`}
+                onClick={row.onClick}
+              >
                 {row.columns.map((column, j) => (
                   <td
                     key={column.name}
diff --git a/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx b/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx
index 8034c1b2f412cfe34dc336f281b985e3735f2bdf..6f59675441d2eb0737ef5345ac83d08105f86c35 100644
--- a/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx
+++ b/frontend/src/exercisepanel/DefinitionManager/components/Definition.tsx
@@ -1,4 +1,5 @@
-import { Button, Card } from '@blueprintjs/core'
+import { useNavigate } from '@/router'
+import { Button, ButtonGroup, Card } from '@blueprintjs/core'
 import type { Definition } from '@inject/graphql/fragments/Definition.generated'
 import { useDeleteDefinition } from '@inject/graphql/mutations/DeleteDefinition.generated'
 import { GetDefinitionsDocument } from '@inject/graphql/queries/GetDefinitions.generated'
@@ -13,6 +14,7 @@ interface DefinitionProps {
 
 const DefinitionComp: FC<DefinitionProps> = ({ definition }) => {
   const { id, name } = definition
+  const nav = useNavigate()
   const [mutate] = useDeleteDefinition({
     variables: {
       definitionId: id,
@@ -48,12 +50,27 @@ const DefinitionComp: FC<DefinitionProps> = ({ definition }) => {
       <div>
         <h3>{name || id}</h3>
       </div>
-
-      <div style={{ marginTop: '1rem', alignSelf: 'end' }}>
+      <ButtonGroup
+        vertical
+        alignText='left'
+        style={{ marginTop: '1rem', alignSelf: 'end' }}
+      >
         <Button type='button' onClick={handleRemove} icon='cross'>
           Remove
         </Button>
-      </div>
+        <Button
+          type='button'
+          onClick={() =>
+            nav('/users/definition/:definitionId', {
+              params: { definitionId: id },
+            })
+          }
+          icon='people'
+          fill
+        >
+          Access
+        </Button>
+      </ButtonGroup>
     </Card>
   )
 }
diff --git a/frontend/src/pages/users/[userId]/index.tsx b/frontend/src/pages/(navbar)/users/[userId]/index.tsx
similarity index 100%
rename from frontend/src/pages/users/[userId]/index.tsx
rename to frontend/src/pages/(navbar)/users/[userId]/index.tsx
diff --git a/frontend/src/pages/users/_layout.tsx b/frontend/src/pages/(navbar)/users/_layout.tsx
similarity index 100%
rename from frontend/src/pages/users/_layout.tsx
rename to frontend/src/pages/(navbar)/users/_layout.tsx
diff --git a/frontend/src/pages/(navbar)/users/definition/[definitionId]/index.tsx b/frontend/src/pages/(navbar)/users/definition/[definitionId]/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..001689727344649e0b7caf33b214abd166eabec7
--- /dev/null
+++ b/frontend/src/pages/(navbar)/users/definition/[definitionId]/index.tsx
@@ -0,0 +1,38 @@
+import { useNavigate, useParams } from '@/router'
+import DefinitionAssignment from '@/users/DefinitionAssignment'
+import { Button } from '@blueprintjs/core'
+import Container from '@inject/shared/components/Container'
+import { useLocation } from 'react-router-dom'
+
+const DefinitionAssignmentPage = () => {
+  const { definitionId } = useParams('/users/definition/:definitionId')
+  const nav = useNavigate()
+  const { state } = useLocation()
+
+  return (
+    <Container makeFullHeight>
+      {state?.fromUserDetail ? (
+        <Button
+          type='button'
+          onClick={() => {
+            nav(-1)
+          }}
+        >
+          Return to user detail
+        </Button>
+      ) : (
+        <Button
+          type='button'
+          onClick={() => {
+            nav('/exercise-panel')
+          }}
+        >
+          Return to exercise panel
+        </Button>
+      )}
+      <DefinitionAssignment definitionId={definitionId} />
+    </Container>
+  )
+}
+
+export default DefinitionAssignmentPage
diff --git a/frontend/src/pages/(navbar)/users/exercise/[exerciseId]/index.tsx b/frontend/src/pages/(navbar)/users/exercise/[exerciseId]/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..39f38239f6c43627738eea42b06c10e907e6f583
--- /dev/null
+++ b/frontend/src/pages/(navbar)/users/exercise/[exerciseId]/index.tsx
@@ -0,0 +1,38 @@
+import { useNavigate, useParams } from '@/router'
+import ExerciseAssignment from '@/users/ExerciseAssignment'
+import { Button } from '@blueprintjs/core'
+import Container from '@inject/shared/components/Container'
+import { useLocation } from 'react-router-dom'
+
+const ExerciseAssignmentPage = () => {
+  const { exerciseId } = useParams('/users/exercise/:exerciseId')
+  const nav = useNavigate()
+  const { state } = useLocation()
+
+  return (
+    <Container makeFullHeight>
+      {state?.fromUserDetail ? (
+        <Button
+          type='button'
+          onClick={() => {
+            nav(-1)
+          }}
+        >
+          Return to user detail
+        </Button>
+      ) : (
+        <Button
+          type='button'
+          onClick={() => {
+            nav('/exercise-panel')
+          }}
+        >
+          Return to exercise panel
+        </Button>
+      )}
+      <ExerciseAssignment exerciseId={exerciseId} />
+    </Container>
+  )
+}
+
+export default ExerciseAssignmentPage
diff --git a/frontend/src/pages/(navbar)/users/index.tsx b/frontend/src/pages/(navbar)/users/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..f77ddb2cf99ab3b26e5602b1ba057c6533221961
--- /dev/null
+++ b/frontend/src/pages/(navbar)/users/index.tsx
@@ -0,0 +1,20 @@
+import { useNavigate } from '@/router'
+import UserTable from '@/users/UserTable'
+import { useSetPageTitle } from '@/utils'
+
+const UserManagementIndexPage = () => {
+  useSetPageTitle('User management')
+  const nav = useNavigate()
+
+  return (
+    <UserTable
+      onClick={(userId: string) =>
+        nav('/users/:userId', {
+          params: { userId },
+        })
+      }
+    />
+  )
+}
+
+export default UserManagementIndexPage
diff --git a/frontend/src/pages/users/index.tsx b/frontend/src/pages/users/index.tsx
deleted file mode 100644
index 39aaf4ef2c1525ed9b232236b28337d73f0b63d1..0000000000000000000000000000000000000000
--- a/frontend/src/pages/users/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import UserTable from '@/users/UserTable'
-
-const UserManagementIndexPage = () => <UserTable />
-
-export default UserManagementIndexPage
diff --git a/frontend/src/router.ts b/frontend/src/router.ts
index c76df01cd2273cefb7950c769e79d7eb09351dad..9b1325213d44be27c19ed7a5e5e5ddc2c2e56d3a 100644
--- a/frontend/src/router.ts
+++ b/frontend/src/router.ts
@@ -40,6 +40,8 @@ export type Path =
   | `/trainee/:exerciseId/:teamId/file/:fileId`
   | `/users`
   | `/users/:userId`
+  | `/users/definition/:definitionId`
+  | `/users/exercise/:exerciseId`
 
 export type Params = {
   '/analyst/:exerciseId': { exerciseId: string }
@@ -70,6 +72,8 @@ export type Params = {
   '/trainee/:exerciseId/:teamId/:channelId/tool/:actionLogId': { exerciseId: string; teamId: string; channelId: string; actionLogId: string }
   '/trainee/:exerciseId/:teamId/file/:fileId': { exerciseId: string; teamId: string; fileId: string }
   '/users/:userId': { userId: string }
+  '/users/definition/:definitionId': { definitionId: string }
+  '/users/exercise/:exerciseId': { exerciseId: string }
 }
 
 export type ModalPath = `/instructor/definitionUploader` | `/instructor/exerciseCreator`
diff --git a/frontend/src/users/DefinitionAssignment/index.tsx b/frontend/src/users/DefinitionAssignment/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..35dbd24b0ef45804f796dc2e65cd04f885b213de
--- /dev/null
+++ b/frontend/src/users/DefinitionAssignment/index.tsx
@@ -0,0 +1,122 @@
+import UsersSelection from '@/users/UsersSelection'
+import { Button, NonIdealState, Section, SectionCard } from '@blueprintjs/core'
+import { useAddDefinitionAccess } from '@inject/graphql/mutations/AddDefinitionAccess.generated'
+import { useRemoveDefinitionAccess } from '@inject/graphql/mutations/RemoveDefinitionAccess.generated'
+import {
+  GetDefinitionDocument,
+  useGetDefinition,
+} from '@inject/graphql/queries/GetDefinition.generated'
+import { useNotifyContext } from '@inject/shared/notification/contexts/NotifyContext'
+import notEmpty from '@inject/shared/utils/notEmpty'
+import type { FC } from 'react'
+import { useCallback, useState } from 'react'
+import UserTableSelection from '../UserTableSelection'
+
+interface DefinitionAssignmentProps {
+  definitionId: string
+}
+
+const DefinitionAssignment: FC<DefinitionAssignmentProps> = ({
+  definitionId,
+}) => {
+  const [addDefinitionAccess] = useAddDefinitionAccess()
+  const [removeDefinitionAccess] = useRemoveDefinitionAccess()
+  const { data, refetch } = useGetDefinition({
+    variables: {
+      definitionId,
+    },
+    fetchPolicy: 'network-only',
+  })
+  const { notify } = useNotifyContext()
+  const [listView, setListView] = useState(true)
+
+  const handleAssignButton = useCallback(
+    (ids: string[]) => {
+      addDefinitionAccess({
+        variables: {
+          definitionId,
+          userIds: ids,
+        },
+        refetchQueries: [GetDefinitionDocument],
+      })
+        .then(() => {
+          notify('Instructors assigned to the defition')
+        })
+        .catch(() => {
+          notify('Definition access asignment failed', {
+            intent: 'danger',
+          })
+        })
+    },
+    [addDefinitionAccess, notify]
+  )
+
+  const handleRemoveButton = useCallback(
+    (ids: string[]) => {
+      removeDefinitionAccess({
+        variables: {
+          definitionId,
+          userIds: ids,
+        },
+        refetchQueries: [GetDefinitionDocument],
+      })
+        .then(() => {
+          notify('Instructors removed from the defition')
+        })
+        .catch(() => {
+          notify('Definition access removal failed', {
+            intent: 'danger',
+          })
+        })
+    },
+    [removeDefinitionAccess, notify]
+  )
+
+  if (!data || !data.definition) {
+    return (
+      <NonIdealState
+        icon='low-voltage-pole'
+        description='Unable to display users'
+      />
+    )
+  }
+
+  return (
+    <Section
+      title={`Assign instructors - definition ${data?.definition.name}`}
+      rightElement={
+        listView ? (
+          <Button
+            onClick={() => {
+              refetch()
+            }}
+            icon='reset'
+            minimal
+          >
+            Reload
+          </Button>
+        ) : undefined
+      }
+    >
+      <SectionCard>
+        {listView ? (
+          <UsersSelection
+            users={data?.definition.userSet?.filter(notEmpty) || []}
+            onRemove={(ids: string[]) => handleRemoveButton(ids)}
+            onAssign={() => setListView(prev => !prev)}
+            assignTitle='Add'
+            removeTitle='Remove'
+          />
+        ) : (
+          <UserTableSelection
+            onBack={() => setListView(prev => !prev)}
+            onAssign={(ids: string[]) => handleAssignButton(ids)}
+            assignTitle='Add selected'
+          />
+        )}
+      </SectionCard>
+    </Section>
+  )
+}
+
+export default DefinitionAssignment
diff --git a/frontend/src/users/ExerciseAssignment/index.tsx b/frontend/src/users/ExerciseAssignment/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..0e41e758cd6595b28377af7d0c05a1516e0b4e31
--- /dev/null
+++ b/frontend/src/users/ExerciseAssignment/index.tsx
@@ -0,0 +1,200 @@
+import UsersSelection from '@/users/UsersSelection'
+import { Button, NonIdealState, Section, SectionCard } from '@blueprintjs/core'
+import { useAssignInstructorsToExercise } from '@inject/graphql/mutations/AssignInstructorsToExercise.generated'
+import { useAssignUsersToTeam } from '@inject/graphql/mutations/AssignUsersToTeam.generated'
+import { useRemoveInstructorsFromExercise } from '@inject/graphql/mutations/RemoveInstructorsFromExercise.generated'
+import { useRemoveUsersFromTeam } from '@inject/graphql/mutations/RemoveUsersFromTeam.generated'
+import {
+  GetExerciseDocument,
+  useGetExercise,
+} from '@inject/graphql/queries/GetExercise.generated'
+import { useNotifyContext } from '@inject/shared/notification/contexts/NotifyContext'
+import notEmpty from '@inject/shared/utils/notEmpty'
+import type { FC } from 'react'
+import { useCallback, useState } from 'react'
+import UserTableSelection from '../UserTableSelection'
+
+interface ExerciseAssignmentProps {
+  exerciseId: string
+}
+
+const ExerciseAssignment: FC<ExerciseAssignmentProps> = ({ exerciseId }) => {
+  const [assignUsersToTeam] = useAssignUsersToTeam()
+  const [removeUsersFromTeam] = useRemoveUsersFromTeam()
+  const [assignInstructorsToExercise] = useAssignInstructorsToExercise()
+  const [removeInstructorsFromExercise] = useRemoveInstructorsFromExercise()
+  const { data, refetch } = useGetExercise({
+    variables: {
+      exerciseId,
+    },
+    fetchPolicy: 'network-only',
+  })
+  const { notify } = useNotifyContext()
+  const [listView, setListView] = useState(true)
+  const [currentTeam, setCurrentTeam] = useState<string | null>(null)
+
+  const handleAssignToTeamButton = useCallback(
+    (ids: string[]) => {
+      assignUsersToTeam({
+        variables: {
+          teamId: currentTeam || '',
+          userIds: ids,
+        },
+        refetchQueries: [GetExerciseDocument],
+      })
+        .then(() => {
+          notify('Users assigned to team')
+        })
+        .catch(() => {
+          notify('Users team assignment failed', {
+            intent: 'danger',
+          })
+        })
+    },
+    [currentTeam, assignUsersToTeam, notify]
+  )
+
+  const handleRemoveFromTeamButton = useCallback(
+    (teamId: string, ids: string[]) => {
+      removeUsersFromTeam({
+        variables: {
+          teamId,
+          userIds: ids,
+        },
+        refetchQueries: [GetExerciseDocument],
+      })
+        .then(() => {
+          notify('Users removed from team')
+        })
+        .catch(() => {
+          notify('Users removal from team failed', {
+            intent: 'danger',
+          })
+        })
+    },
+    [removeUsersFromTeam, notify]
+  )
+
+  const handleAssignToExerciseButton = useCallback(
+    (ids: string[]) => {
+      assignInstructorsToExercise({
+        variables: {
+          exerciseId,
+          userIds: ids,
+        },
+        refetchQueries: [GetExerciseDocument],
+      })
+        .then(() => {
+          notify('Instructors assigned to the exercise')
+        })
+        .catch(() => {
+          notify('Instructors exercise assignment failed', {
+            intent: 'danger',
+          })
+        })
+    },
+    [assignInstructorsToExercise, notify]
+  )
+
+  const handleRemoveFromExerciseButton = useCallback(
+    (ids: string[]) => {
+      removeInstructorsFromExercise({
+        variables: {
+          exerciseId,
+          userIds: ids,
+        },
+        refetchQueries: [GetExerciseDocument],
+      })
+        .then(() => {
+          notify('Instructors removed from the exercise')
+        })
+        .catch(() => {
+          notify('Instructors removal from exercise failed', {
+            intent: 'danger',
+          })
+        })
+    },
+    [removeInstructorsFromExercise, notify]
+  )
+
+  if (!data || !data.exerciseId) {
+    return (
+      <NonIdealState
+        icon='low-voltage-pole'
+        description='Unable to display participants'
+      />
+    )
+  }
+
+  return (
+    <Section
+      title={`Participants - exercise ${data?.exerciseId.id}`}
+      rightElement={
+        <Button
+          onClick={() => {
+            refetch()
+          }}
+          icon='reset'
+          minimal
+        >
+          Reload
+        </Button>
+      }
+    >
+      <SectionCard>
+        {listView ? (
+          <>
+            <Section title='Instructors'>
+              <SectionCard>
+                <UsersSelection
+                  users={data?.exerciseId.userSet?.filter(notEmpty) || []}
+                  onRemove={ids => handleRemoveFromExerciseButton(ids)}
+                  onAssign={() => {
+                    setListView(prev => !prev)
+                    setCurrentTeam(null)
+                  }}
+                  assignTitle='Add'
+                  removeTitle='Remove'
+                />
+              </SectionCard>
+            </Section>
+            {data?.exerciseId.teams.map(team => (
+              <Section
+                key={team.id}
+                title={`${team.name}${team.role ?? ` - ${team.role}`}`}
+                style={{ marginTop: '1rem' }}
+              >
+                <SectionCard>
+                  <UsersSelection
+                    users={team.userSet?.filter(notEmpty) || []}
+                    onRemove={(ids: string[]) =>
+                      handleRemoveFromTeamButton(team.id, ids)
+                    }
+                    onAssign={() => {
+                      setListView(prev => !prev)
+                      setCurrentTeam(team.id)
+                    }}
+                    assignTitle='Add'
+                    removeTitle='Remove'
+                  />
+                </SectionCard>
+              </Section>
+            ))}
+          </>
+        ) : (
+          <UserTableSelection
+            onBack={() => setListView(prev => !prev)}
+            onAssign={(ids: string[]) =>
+              currentTeam === null
+                ? handleAssignToExerciseButton(ids)
+                : handleAssignToTeamButton(ids)
+            }
+            assignTitle='Add selected'
+          />
+        )}
+      </SectionCard>
+    </Section>
+  )
+}
+
+export default ExerciseAssignment
diff --git a/frontend/src/users/UserDetail/UserDetailRow.tsx b/frontend/src/users/UserDetail/UserDetailRow.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..373a67779aa3508485475b2526db11cc1081efc9
--- /dev/null
+++ b/frontend/src/users/UserDetail/UserDetailRow.tsx
@@ -0,0 +1,17 @@
+import type { FC } from 'react'
+import { detailRow, detailRowName } from '.'
+import type { UserValueType } from '../UserTable'
+import { formatValue } from '../utilities'
+
+interface UserDetailRowProps {
+  name: string
+  value: UserValueType
+}
+
+const UserDetailRow: FC<UserDetailRowProps> = ({ name, value }) => (
+  <div className={detailRow}>
+    <span className={detailRowName}>{name}: </span> {formatValue(value)}
+  </div>
+)
+
+export default UserDetailRow
diff --git a/frontend/src/users/UserDetail/UserDetailSetting.tsx b/frontend/src/users/UserDetail/UserDetailSetting.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..cbc07a7c0e4bd68a8fb9b0bca9544b146ea9f232
--- /dev/null
+++ b/frontend/src/users/UserDetail/UserDetailSetting.tsx
@@ -0,0 +1,87 @@
+import { Button, HTMLSelect } from '@blueprintjs/core'
+import type { User } from '@inject/graphql/fragments/User.generated'
+import { useChangeUserData } from '@inject/graphql/mutations/ChangeUserData.generated'
+import { useGetGroups } from '@inject/graphql/queries/GetGroups.generated'
+import { useNotifyContext } from '@inject/shared/notification/contexts/NotifyContext'
+import notEmpty from '@inject/shared/utils/notEmpty'
+import type { FC } from 'react'
+import { useCallback, useEffect, useMemo, useState } from 'react'
+import { detailRow, detailRowName } from '.'
+import { accountStatusesOptions } from '../utilities'
+
+interface UserDetailSettingProps {
+  user: User
+}
+
+const UserDetailSetting: FC<UserDetailSettingProps> = ({ user }) => {
+  const [changeUserData, { loading }] = useChangeUserData()
+  const { data: groupsData } = useGetGroups({
+    fetchPolicy: 'cache-first',
+  })
+  const { notify } = useNotifyContext()
+
+  const userGroups = useMemo(
+    () => groupsData?.groups?.filter(notEmpty).map(group => group.name) || [],
+    [groupsData]
+  )
+
+  const [userGroup, setUserGroup] = useState(user?.group || '')
+
+  const [accountStatus, setAccountStatus] = useState(
+    (user?.isActive || false).toString()
+  )
+
+  useEffect(() => {
+    setUserGroup(user?.group || '')
+    setAccountStatus((user?.isActive || false).toString())
+  }, [user])
+
+  const handleButton = useCallback(() => {
+    changeUserData({
+      variables: {
+        userId: user.id,
+        group: userGroup,
+        active: accountStatus == 'true',
+      },
+      onCompleted: () => {
+        notify('User data changed')
+      },
+      onError: error => {
+        notify(error.message, { intent: 'danger' })
+      },
+    })
+  }, [userGroup, accountStatus, notify])
+
+  return (
+    <>
+      <div className={detailRow} style={{ display: 'flex' }}>
+        <span className={detailRowName}>Group: </span>{' '}
+        <HTMLSelect
+          fill
+          options={userGroups}
+          value={userGroup}
+          onChange={e => setUserGroup(e.target.value)}
+        />
+      </div>
+      <div className={detailRow} style={{ display: 'flex' }}>
+        <span className={detailRowName}>Active: </span>{' '}
+        <HTMLSelect
+          fill
+          options={accountStatusesOptions}
+          value={accountStatus}
+          onChange={e => setAccountStatus(e.target.value)}
+        />
+      </div>
+      <Button
+        type='button'
+        intent='primary'
+        onClick={handleButton}
+        loading={loading}
+      >
+        Save changes
+      </Button>
+    </>
+  )
+}
+
+export default UserDetailSetting
diff --git a/frontend/src/users/UserDetail/index.tsx b/frontend/src/users/UserDetail/index.tsx
index 0318a02e1b84b91b74edb600e8d32caa034d4fcb..dc8d47c5338815c9a985e55cf8ddedebf45056da 100644
--- a/frontend/src/users/UserDetail/index.tsx
+++ b/frontend/src/users/UserDetail/index.tsx
@@ -1,9 +1,11 @@
-import { formatTimestamp } from '@/analyst/utilities'
-import { AccountStatus, UserGroup, type User } from '@/users/UserTable'
-import { Button, HTMLSelect, Section, SectionCard } from '@blueprintjs/core'
+import { useNavigate } from '@/router'
+import { Button, NonIdealState, Section, SectionCard } from '@blueprintjs/core'
 import { css } from '@emotion/css'
+import { useGetUser } from '@inject/graphql/queries/GetUser.generated'
+import notEmpty from '@inject/shared/utils/notEmpty'
 import type { FC } from 'react'
-import { useState } from 'react'
+import UserDetailRow from './UserDetailRow'
+import UserDetailSetting from './UserDetailSetting'
 
 const detail = css`
   display: grid;
@@ -11,94 +13,150 @@ const detail = css`
   grid-column-gap: 10px;
 `
 
-const detailRow = css`
+export const detailRow = css`
   padding-bottom: 0.75rem;
 `
 
-const detailRowName = css`
+export const detailRowName = css`
   font-weight: bolder;
   padding-right: 0.5rem;
 `
 
+interface ListItemProps {
+  name: string
+  onClick: () => void
+}
+
+const ListItem: FC<ListItemProps> = ({ name, onClick }) => (
+  <div>
+    {name}
+    <Button minimal icon='annotation' onClick={onClick} />
+  </div>
+)
+
 interface UserDetailProps {
   userId: string
 }
 
 const UserDetail: FC<UserDetailProps> = ({ userId }) => {
-  const user: User = {
-    id: '1',
-    email: 'email',
-    userName: 'username',
-    firstName: 'First',
-    lastName: 'Last',
-    group: UserGroup.TRAINEE,
-    accountStatus: AccountStatus.DEACTIVATED,
-    dateJoined: new Date(),
-    exercises: ['exercise 1', 'exercise 2'],
-  }
+  const nav = useNavigate()
 
-  const userGroups = Object.keys(UserGroup)
-  const [userGroup, setUserGroup] = useState(user.group.toString())
+  const { data: userData, refetch } = useGetUser({
+    variables: {
+      userId,
+    },
+    fetchPolicy: 'network-only',
+  })
 
-  const accountStatuses = Object.keys(AccountStatus)
-  const [accountStatus, setAccountStatus] = useState(
-    user.accountStatus.toString()
-  )
+  if (!userData || !userData.user) {
+    return (
+      <NonIdealState
+        icon='low-voltage-pole'
+        description='Unable to display user'
+      />
+    )
+  }
 
   return (
-    <Section title={`User detail - ${userId}`}>
+    <Section
+      title={`User detail - ${userId}`}
+      rightElement={
+        <Button
+          onClick={() => {
+            refetch()
+          }}
+          icon='reset'
+          minimal
+        >
+          Reload
+        </Button>
+      }
+    >
       <SectionCard>
         <div className={detail}>
           <div>
-            <div className={detailRow}>
-              <span className={detailRowName}>Email: </span> {user.email}
-            </div>
-            <div className={detailRow}>
-              <span className={detailRowName}>Username: </span> {user.userName}
-            </div>
-            <div className={detailRow}>
-              <span className={detailRowName}>First name: </span>{' '}
-              {user.firstName}
-            </div>
-            <div className={detailRow}>
-              <span className={detailRowName}>Last name: </span> {user.lastName}
-            </div>
-            <div className={detailRow}>
-              <span className={detailRowName}>Date joined: </span>{' '}
-              {formatTimestamp(user.dateJoined.toISOString())}
-            </div>
-            <div className={detailRow} style={{ display: 'flex' }}>
-              <span className={detailRowName}>Group: </span>{' '}
-              <HTMLSelect
-                fill
-                options={userGroups}
-                value={userGroup}
-                onChange={e => setUserGroup(e.target.value)}
-              />
-            </div>
-            <div className={detailRow} style={{ display: 'flex' }}>
-              <span className={detailRowName}>Account status: </span>{' '}
-              <HTMLSelect
-                fill
-                options={accountStatuses}
-                value={accountStatus}
-                onChange={e => setAccountStatus(e.target.value)}
-              />
-            </div>
+            <UserDetailRow name={'Username'} value={userData.user.username} />
+            <UserDetailRow
+              name={'First name'}
+              value={userData.user.firstName}
+            />
+            <UserDetailRow name={'Last name'} value={userData.user.lastName} />
+            <UserDetailRow
+              name={'Date joined'}
+              value={userData.user.dateJoined}
+            />
+            <UserDetailRow
+              name={'Last login'}
+              value={userData.user.lastLogin}
+            />
+            <UserDetailRow name={'Staff'} value={userData.user.isStaff} />
+            <UserDetailRow
+              name={'Superuser'}
+              value={userData.user.isSuperuser}
+            />
+            <UserDetailRow
+              name={'Tags'}
+              value={userData.user.tags.map(tag => tag.name).join(', ')}
+            />
+            <UserDetailSetting user={userData.user} />
           </div>
           <div>
-            <span className={detailRowName}>Exercises:</span>
-            {user.exercises.map(exercise => (
-              <div key={exercise}>
-                {exercise} <Button minimal icon='annotation' />
+            {(userData.user.exercises?.length || 0) +
+              (userData.user.teams?.length || 0) !==
+              0 && (
+              <div>
+                <span className={detailRowName}>Exercises:</span>
+                {userData.user.exercises &&
+                  userData.user.exercises.filter(notEmpty).map(exercise => (
+                    <ListItem
+                      key={exercise.id}
+                      name={`Exercise ${exercise.id} - instructor `}
+                      onClick={() =>
+                        nav('/users/exercise/:exerciseId', {
+                          params: { exerciseId: exercise.id || '' },
+                          state: { fromUserDetail: true },
+                        })
+                      }
+                    />
+                  ))}
+                {userData.user.teams &&
+                  userData.user.teams.filter(notEmpty).map(team => (
+                    <ListItem
+                      key={team.id}
+                      name={`Exercise ${team.exercise.id} - ${team.name + (team.role ?? `, ${team.role}`)} `}
+                      onClick={() =>
+                        nav('/users/exercise/:exerciseId', {
+                          params: { exerciseId: team.exercise.id },
+                          state: { fromUserDetail: true },
+                        })
+                      }
+                    />
+                  ))}
               </div>
-            ))}
+            )}
+            {userData.user.definitions &&
+              userData.user.definitions.length !== 0 && (
+                <div>
+                  <span className={detailRowName}>Definitions:</span>
+                  {userData.user.definitions
+                    .filter(notEmpty)
+                    .map(definition => (
+                      <ListItem
+                        key={definition.id}
+                        name={`Definition ${definition.id} `}
+                        onClick={() =>
+                          definition.id &&
+                          nav('/users/definition/:definitionId', {
+                            params: { definitionId: definition.id.toString() },
+                            state: { fromUserDetail: true },
+                          })
+                        }
+                      />
+                    ))}
+                </div>
+              )}
           </div>
         </div>
-
-        <Button type='button' intent='primary'>
-          Save changes
-        </Button>
       </SectionCard>
     </Section>
   )
diff --git a/frontend/src/users/UserTable/index.tsx b/frontend/src/users/UserTable/index.tsx
index a213ec45a72d84bd9c2d018caa2ba9d7ce35c081..fe2ebcec405968e7a0f2ab734c78c69cbff849d0 100644
--- a/frontend/src/users/UserTable/index.tsx
+++ b/frontend/src/users/UserTable/index.tsx
@@ -1,11 +1,18 @@
-import { formatTimestamp } from '@/analyst/utilities'
 import Filters from '@/components/Filters'
 import type { Column, ValueType } from '@/components/SortableTable'
 import SortableTable from '@/components/SortableTable'
-import { useNavigate } from '@/router'
 import { Button, Checkbox, Divider, InputGroup } from '@blueprintjs/core'
 import { css } from '@emotion/css'
-import React, { useState } from 'react'
+import type { Tag } from '@inject/graphql/fragments/Tag.generated'
+import type { User } from '@inject/graphql/fragments/User.generated'
+import { useGetGroups } from '@inject/graphql/queries/GetGroups.generated'
+import { useGetTags } from '@inject/graphql/queries/GetTags.generated'
+import { useGetUsers } from '@inject/graphql/queries/GetUsers.generated'
+import notEmpty from '@inject/shared/utils/notEmpty'
+import type { FC } from 'react'
+import React, { useEffect, useMemo, useState } from 'react'
+import UsersUploader from '../UsersUploader'
+import { accountStatuses, formatValue } from '../utilities'
 
 const filterTab = css`
   & div {
@@ -13,36 +20,17 @@ const filterTab = css`
   }
 `
 
-export enum UserGroup {
-  TRAINEE = 'Trainee',
-  INSTRUCTOR = 'Instructor',
-}
-
-export enum AccountStatus {
-  ACTIVE = 'active',
-  DEACTIVATED = 'deactivated',
-}
+const selectedRow = css`
+  background: rgba(143, 153, 168, 0.15);
+`
 
-export interface User {
+export interface UserType extends User {
   [key: string]: UserValueType
-  id: string
-  email: string
-  userName: string
-  firstName: string
-  lastName: string
-  group: UserGroup
-  accountStatus: AccountStatus
-  dateJoined: Date
-  exercises: string[] // list of exercises
 }
 
-export type UserValueType =
-  | UserGroup
-  | AccountStatus
-  | Array<string>
-  | ValueType
+export type UserValueType = boolean | Array<object | null> | ValueType
 
-type UserObject = Record<keyof User, undefined>
+type UserObject = Record<keyof UserType, undefined>
 
 interface FilterGroupProps {
   items: string[]
@@ -73,50 +61,39 @@ const FilterGroup = ({
   </>
 )
 
-const UserTable = () => {
-  const nav = useNavigate()
-
-  const users: User[] = [
-    {
-      id: '1',
-      email: 'email',
-      userName: 'username',
-      firstName: 'First',
-      lastName: 'Last',
-      group: UserGroup.TRAINEE,
-      accountStatus: AccountStatus.DEACTIVATED,
-      dateJoined: new Date(),
-      exercises: ['exercise 1', 'exercise 2'],
-    },
-    {
-      id: '2',
-      email: 'email 2',
-      userName: 'username 2',
-      firstName: 'firstName',
-      lastName: 'lastName',
-      group: UserGroup.INSTRUCTOR,
-      accountStatus: AccountStatus.ACTIVE,
-      dateJoined: new Date(),
-      exercises: [],
-    },
-  ]
+interface UserTableProps {
+  allowAddingUsers?: boolean
+  onClick: (id: string) => void
+  selectedUsers?: string[]
+}
 
-  const formatValue = (value: UserValueType) => {
-    if (typeof value === 'string') return value
-    if (value instanceof Date) return formatTimestamp(value.toISOString())
-    return (value as UserValueType)?.toString() || ''
-  }
+const UserTable: FC<UserTableProps> = ({
+  allowAddingUsers,
+  onClick,
+  selectedUsers,
+}) => {
+  const { data: usersData, refetch } = useGetUsers({
+    fetchPolicy: 'network-only',
+  })
+  const { data: groupsData } = useGetGroups({
+    fetchPolicy: 'cache-first',
+  })
+  const { data: tagsData } = useGetTags({
+    fetchPolicy: 'network-only',
+  })
 
   const userPropertiesObject: UserObject = {
     id: undefined,
-    email: undefined,
-    userName: undefined,
+    username: undefined,
     firstName: undefined,
     lastName: undefined,
     group: undefined,
-    accountStatus: undefined,
+    isActive: undefined,
     dateJoined: undefined,
-    exercises: undefined,
+    isStaff: undefined,
+    isSuperuser: undefined,
+    lastLogin: undefined,
+    tags: undefined,
   }
   const userProperties = Object.keys(userPropertiesObject) as string[]
   const [displayProperty, setDisplayProperty] = useState(
@@ -126,15 +103,20 @@ const UserTable = () => {
     (_userProperty, i) => displayProperty[i]
   )
 
-  const userGroups = Object.values(UserGroup)
+  const userGroups = useMemo(
+    () => groupsData?.groups?.filter(notEmpty).map(group => group.name) || [],
+    [groupsData]
+  )
   const [displayUserGroup, setDisplayUserGroup] = useState(
     new Array(userGroups.length).fill(true)
   )
   const displayedUserGroups = userGroups.filter(
     (_userGroup, i) => displayUserGroup[i]
   )
+  useEffect(() => {
+    setDisplayUserGroup(new Array(userGroups.length).fill(true))
+  }, [groupsData])
 
-  const accountStatuses = Object.values(AccountStatus)
   const [displayAccountStatus, setDisplayAccountStatus] = useState(
     new Array(accountStatuses.length).fill(true)
   )
@@ -142,7 +124,18 @@ const UserTable = () => {
     (_accountStatus, i) => displayAccountStatus[i]
   )
 
-  const [email, setEmail] = useState<string>('')
+  const tags = useMemo(
+    () => tagsData?.tags?.filter(notEmpty).map(tag => tag.name) || [],
+    [tagsData]
+  )
+  const [displayTag, setDisplayTag] = useState(
+    new Array(tags.length).fill(false)
+  )
+  const displayedTags = tags.filter((_tag, i) => displayTag[i])
+  useEffect(() => {
+    setDisplayTag(new Array(userGroups.length).fill(false))
+  }, [groupsData])
+
   const [username, setUsername] = useState<string>('')
   const [firstName, setFirstName] = useState<string>('')
   const [lastName, setLastName] = useState<string>('')
@@ -154,27 +147,38 @@ const UserTable = () => {
     })),
   ]
 
-  const rows = users
+  const rows = (usersData?.users || [])
+    .filter(notEmpty)
     .filter(
-      user =>
-        displayedUserGroups.includes(user.group) &&
-        displayedAccountStatuses.includes(user.accountStatus) &&
-        user.email.includes(email) &&
-        user.userName.includes(username) &&
-        user.firstName.includes(firstName) &&
-        user.lastName.includes(lastName)
+      (user: User) =>
+        user !== null &&
+        displayedUserGroups.includes(user.group || '') &&
+        displayedAccountStatuses.includes(formatValue(user.isActive)) &&
+        (user.username || '').includes(username) &&
+        (user.firstName || '').includes(firstName) &&
+        (user.lastName || '').includes(lastName) &&
+        displayedTags.every(tag =>
+          user.tags
+            .filter(notEmpty)
+            .map(tag => tag.name)
+            .includes(tag)
+        )
     )
-    .map(user => ({
+    .filter(notEmpty)
+    .map((user: User) => ({
       columns,
       values: columns.map(column => {
-        const value = user[column.name]
-        if (value instanceof Array) return value.join(', ')
+        const value = (user as UserType)[column.name]
+        if (value instanceof Array) {
+          if (!value) {
+            return ''
+          }
+          return value.map(tag => (tag as Tag).name).join(', ')
+        }
         return value as ValueType
       }),
-      onClick: () =>
-        nav('/users/:userId', {
-          params: { userId: user.id },
-        }),
+      onClick: () => onClick(user.id),
+      class: selectedUsers?.includes(user.id) ? selectedRow : undefined,
     }))
 
   const filters = (
@@ -201,9 +205,23 @@ const UserTable = () => {
     />
   )
 
+  const tagFilters = (
+    <FilterGroup
+      items={tags}
+      displayState={displayTag}
+      setDisplayState={setDisplayTag}
+    />
+  )
+
   return (
     <div style={{ display: 'flex', flexDirection: 'column', height: '100%' }}>
-      <div style={{ display: 'flex', justifyContent: 'space-between' }}>
+      <div
+        style={{
+          display: 'flex',
+          justifyContent: 'space-between',
+          marginBottom: '0.5rem',
+        }}
+      >
         <Filters
           heading='Displayed properties'
           content={filters}
@@ -213,9 +231,17 @@ const UserTable = () => {
             setDisplayProperty(prev => prev.map(() => false))
           }
         />
-        <Button type='button' intent='primary'>
-          Add new users
-        </Button>
+        <div>
+          <Button
+            onClick={() => {
+              refetch()
+            }}
+            icon='reset'
+          >
+            Reload
+          </Button>
+          {allowAddingUsers && <UsersUploader />}
+        </div>
       </div>
       <div style={{ display: 'flex' }} className={filterTab}>
         <Filters
@@ -228,7 +254,7 @@ const UserTable = () => {
           }
         />
         <Filters
-          heading='Account statuses'
+          heading='Active'
           content={accountStatusFilters}
           position='bottom-left'
           onSelectAll={() =>
@@ -238,10 +264,12 @@ const UserTable = () => {
             setDisplayAccountStatus(prev => prev.map(() => false))
           }
         />
-        <InputGroup
-          placeholder='Email'
-          value={email}
-          onChange={e => setEmail(e.target.value)}
+        <Filters
+          heading='Tags'
+          content={tagFilters}
+          position='bottom-left'
+          onSelectAll={() => setDisplayTag(prev => prev.map(() => true))}
+          onDeselectAll={() => setDisplayTag(prev => prev.map(() => false))}
         />
         <InputGroup
           placeholder='Username'
@@ -271,4 +299,8 @@ const UserTable = () => {
   )
 }
 
+UserTable.defaultProps = {
+  allowAddingUsers: true,
+}
+
 export default UserTable
diff --git a/frontend/src/users/UserTableSelection/index.tsx b/frontend/src/users/UserTableSelection/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..df98e46c6028be385615357f70a6caba5387ee2e
--- /dev/null
+++ b/frontend/src/users/UserTableSelection/index.tsx
@@ -0,0 +1,54 @@
+import UserTable from '@/users/UserTable'
+import { Button } from '@blueprintjs/core'
+import type { FC } from 'react'
+import { useState } from 'react'
+
+interface UserTableSelectionProps {
+  onBack: () => void
+  onAssign: (ids: string[]) => void
+  assignTitle: string
+}
+
+const UserTableSelection: FC<UserTableSelectionProps> = ({
+  onBack,
+  onAssign,
+  assignTitle,
+}) => {
+  const [selectedUsers, setSelectedUsers] = useState<string[]>([])
+
+  return (
+    <>
+      <UserTable
+        allowAddingUsers={false}
+        onClick={(id: string) =>
+          selectedUsers.includes(id)
+            ? setSelectedUsers(prev => {
+                const i = selectedUsers.indexOf(id)
+                return [...prev.slice(0, i), ...prev.slice(i + 1)]
+              })
+            : setSelectedUsers(prev => [...prev, id])
+        }
+        selectedUsers={selectedUsers}
+      />
+      <div
+        style={{
+          display: 'flex',
+          justifyContent: 'space-between',
+          marginTop: '1rem',
+        }}
+      >
+        <Button onClick={() => onBack()} text='Back to list' />
+        <Button
+          intent='primary'
+          onClick={() => {
+            onAssign(selectedUsers)
+            setSelectedUsers([])
+          }}
+          text={assignTitle}
+        />
+      </div>
+    </>
+  )
+}
+
+export default UserTableSelection
diff --git a/frontend/src/users/UsersSelection/index.tsx b/frontend/src/users/UsersSelection/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..aef9788544314aab842c033bc2bd4330f013b6fe
--- /dev/null
+++ b/frontend/src/users/UsersSelection/index.tsx
@@ -0,0 +1,73 @@
+import { Button, ButtonGroup, Checkbox, NonIdealState } from '@blueprintjs/core'
+import type { RestrictedUser } from '@inject/graphql/fragments/RestrictedUser.generated'
+import type { FC } from 'react'
+import { useState } from 'react'
+
+interface UserSelectionProps {
+  users: RestrictedUser[]
+  onRemove: (ids: string[]) => void
+  onAssign: () => void
+  assignTitle: string
+  removeTitle: string
+}
+
+const UsersSelection: FC<UserSelectionProps> = ({
+  users,
+  onRemove,
+  onAssign,
+  assignTitle,
+  removeTitle,
+}) => {
+  const [selectedUsers, setSelectedUsers] = useState(
+    new Array(users.length).fill(false)
+  )
+
+  return (
+    <>
+      <div style={{ marginBottom: '1rem' }}>
+        {users.length === 0 && (
+          <NonIdealState
+            layout='horizontal'
+            icon='blocked-person'
+            description='There are no users assigned'
+          />
+        )}
+        {users.map((user, i) => (
+          <Checkbox
+            key={user.id}
+            label={user.username}
+            checked={selectedUsers[i]}
+            onChange={() =>
+              setSelectedUsers(prev => [
+                ...prev.slice(0, i),
+                !prev[i],
+                ...prev.slice(i + 1),
+              ])
+            }
+          />
+        ))}
+      </div>
+      <ButtonGroup style={{ display: 'flex', justifyContent: 'space-between' }}>
+        <Button
+          onClick={() => {
+            onRemove(
+              users.filter((_user, i) => selectedUsers[i]).map(user => user.id)
+            )
+            setSelectedUsers(new Array(users.length).fill(false))
+          }}
+          icon='trash'
+          text={removeTitle}
+          disabled={selectedUsers.every(val => !val)}
+        />
+        <Button
+          intent='primary'
+          onClick={onAssign}
+          icon='plus'
+          text={assignTitle}
+        />
+      </ButtonGroup>
+    </>
+  )
+}
+
+export default UsersSelection
diff --git a/frontend/src/users/UsersUploader/index.tsx b/frontend/src/users/UsersUploader/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..05265561d0c2dfd1e396594ebaa3e8c607249557
--- /dev/null
+++ b/frontend/src/users/UsersUploader/index.tsx
@@ -0,0 +1,79 @@
+import { Button, Dialog, FileInput } from '@blueprintjs/core'
+import useApolloClient from '@inject/graphql/client/useApolloClient'
+import { useHost } from '@inject/graphql/connection/host'
+import Box from '@inject/shared/components/Box'
+import { uploadUsersUrl } from '@inject/shared/config'
+import { useNotifyContext } from '@inject/shared/notification/contexts/NotifyContext'
+import csrfFetch from '@inject/shared/utils/csrfFetch'
+import type { ChangeEvent } from 'react'
+import { useState } from 'react'
+
+const UsersUploader = () => {
+  const [open, setOpen] = useState<boolean>(false)
+  const [file, setFile] = useState<File | undefined>()
+  const { notify } = useNotifyContext()
+  const host = useHost()
+  const client = useApolloClient()
+
+  const text = file ? file.name : 'Choose users csv'
+
+  const handleFileChange = (e: ChangeEvent<HTMLInputElement>) => {
+    if (e.target.files) {
+      setFile(e.target.files[0])
+    }
+  }
+
+  const handleUploadEvent = () => {
+    if (!file) {
+      return
+    }
+
+    const data = new FormData()
+    data.append('file', file)
+
+    csrfFetch(uploadUsersUrl(host || ''), {
+      method: 'POST',
+      body: data,
+      credentials: 'include',
+    })
+      .then(res => res.json())
+      .then((res: { status: string; detail: string }) => {
+        notify(`${res.status} - ${res.detail}`)
+        setOpen(false)
+        client.refetchQueries({ include: ['GetUsers'] })
+      })
+      .catch((err: { status: string; detail: string }) =>
+        notify(`${err.status} - ${err.detail}`, {
+          intent: 'danger',
+        })
+      )
+  }
+  return (
+    <>
+      <Button
+        type='button'
+        intent='primary'
+        onClick={() => {
+          setOpen(true)
+        }}
+      >
+        Add new users
+      </Button>
+      <Dialog
+        title='Add users'
+        isOpen={open}
+        onClose={() => setOpen(false)}
+        icon='add'
+      >
+        <Box>
+          <FileInput text={text} onInputChange={handleFileChange} />
+        </Box>
+        <Button type='button' onClick={handleUploadEvent}>
+          Upload
+        </Button>
+      </Dialog>
+    </>
+  )
+}
+
+export default UsersUploader
diff --git a/frontend/src/users/utilities.ts b/frontend/src/users/utilities.ts
new file mode 100644
index 0000000000000000000000000000000000000000..799d74eeb259416aa7ac2bacd7347bb0408ce1dc
--- /dev/null
+++ b/frontend/src/users/utilities.ts
@@ -0,0 +1,16 @@
+import { formatTimestamp } from '@/analyst/utilities'
+import type { UserValueType } from './UserTable'
+
+export const accountStatuses = ['yes', 'no']
+
+export const accountStatusesOptions = [
+  { label: 'yes', value: 'true' },
+  { label: 'no', value: 'false' },
+]
+
+export const formatValue = (value: UserValueType) => {
+  if (typeof value === 'string') return value
+  if (typeof value === 'boolean') return value ? 'yes' : 'no'
+  if (value instanceof Date) return formatTimestamp(value.toISOString())
+  return (value as UserValueType)?.toString() || ''
+}
diff --git a/graphql/client/apollo-helpers.ts b/graphql/client/apollo-helpers.ts
index 90f249eaf6e349bdd1c930ffdd144d7b653fd54f..8dc3b122b303f3b538f30596262c7529a20211bc 100644
--- a/graphql/client/apollo-helpers.ts
+++ b/graphql/client/apollo-helpers.ts
@@ -530,13 +530,14 @@ export type RestrictedTeamFieldPolicy = {
 	name?: FieldPolicy<any> | FieldReadFunction<any>,
 	role?: FieldPolicy<any> | FieldReadFunction<any>
 };
-export type RestrictedUserKeySpecifier = ('dateJoined' | 'firstName' | 'group' | 'id' | 'isActive' | 'isStaff' | 'isSuperuser' | 'lastLogin' | 'lastName' | 'password' | 'tags' | 'username' | RestrictedUserKeySpecifier)[];
+export type RestrictedUserKeySpecifier = ('dateJoined' | 'firstName' | 'group' | 'id' | 'isActive' | 'isImported' | 'isStaff' | 'isSuperuser' | 'lastLogin' | 'lastName' | 'password' | 'tags' | 'username' | RestrictedUserKeySpecifier)[];
 export type RestrictedUserFieldPolicy = {
 	dateJoined?: FieldPolicy<any> | FieldReadFunction<any>,
 	firstName?: FieldPolicy<any> | FieldReadFunction<any>,
 	group?: FieldPolicy<any> | FieldReadFunction<any>,
 	id?: FieldPolicy<any> | FieldReadFunction<any>,
 	isActive?: FieldPolicy<any> | FieldReadFunction<any>,
+	isImported?: FieldPolicy<any> | FieldReadFunction<any>,
 	isStaff?: FieldPolicy<any> | FieldReadFunction<any>,
 	isSuperuser?: FieldPolicy<any> | FieldReadFunction<any>,
 	lastLogin?: FieldPolicy<any> | FieldReadFunction<any>,
@@ -682,7 +683,7 @@ export type UseToolTypeFieldPolicy = {
 	toolArgument?: FieldPolicy<any> | FieldReadFunction<any>,
 	toolId?: FieldPolicy<any> | FieldReadFunction<any>
 };
-export type UserTypeKeySpecifier = ('dateJoined' | 'definitions' | 'exercises' | 'firstName' | 'group' | 'id' | 'isActive' | 'isStaff' | 'isSuperuser' | 'lastLogin' | 'lastName' | 'tags' | 'teams' | 'username' | UserTypeKeySpecifier)[];
+export type UserTypeKeySpecifier = ('dateJoined' | 'definitions' | 'exercises' | 'firstName' | 'group' | 'id' | 'isActive' | 'isImported' | 'isStaff' | 'isSuperuser' | 'lastLogin' | 'lastName' | 'tags' | 'teams' | 'username' | UserTypeKeySpecifier)[];
 export type UserTypeFieldPolicy = {
 	dateJoined?: FieldPolicy<any> | FieldReadFunction<any>,
 	definitions?: FieldPolicy<any> | FieldReadFunction<any>,
@@ -691,6 +692,7 @@ export type UserTypeFieldPolicy = {
 	group?: FieldPolicy<any> | FieldReadFunction<any>,
 	id?: FieldPolicy<any> | FieldReadFunction<any>,
 	isActive?: FieldPolicy<any> | FieldReadFunction<any>,
+	isImported?: FieldPolicy<any> | FieldReadFunction<any>,
 	isStaff?: FieldPolicy<any> | FieldReadFunction<any>,
 	isSuperuser?: FieldPolicy<any> | FieldReadFunction<any>,
 	lastLogin?: FieldPolicy<any> | FieldReadFunction<any>,
diff --git a/graphql/fragments/ActionLog.generated.ts b/graphql/fragments/ActionLog.generated.ts
deleted file mode 100644
index cd36b0dfde9f1e05e8579bfb5652214cd8c65fb2..0000000000000000000000000000000000000000
--- a/graphql/fragments/ActionLog.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type ActionLog = { id: string, timestamp: string, type: _Types.LogType, readReceipt: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }, details: { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } | { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> } | { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } };
-
-export const ActionLog = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ActionLog"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionLogType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"channel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CustomInjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireDetails"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Channel.generated.ts b/graphql/fragments/Channel.generated.ts
deleted file mode 100644
index 819e727e6aa747cb7c837355e392dc70b3d8429f..0000000000000000000000000000000000000000
--- a/graphql/fragments/Channel.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Channel = { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> };
-
-export const Channel = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Content.generated.ts b/graphql/fragments/Content.generated.ts
deleted file mode 100644
index a7180119bb710c7999ec8b2929838364269ea7d2..0000000000000000000000000000000000000000
--- a/graphql/fragments/Content.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Content = { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null };
-
-export const Content = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Control.generated.ts b/graphql/fragments/Control.generated.ts
deleted file mode 100644
index eb5b2bc47b9665960f8e714feb35c8111a447de2..0000000000000000000000000000000000000000
--- a/graphql/fragments/Control.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Control = { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string };
-
-export const Control = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/CustomInjectDetails.generated.ts b/graphql/fragments/CustomInjectDetails.generated.ts
deleted file mode 100644
index 7ae739076964ef928e07401ee27c3ac0912588dd..0000000000000000000000000000000000000000
--- a/graphql/fragments/CustomInjectDetails.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type CustomInjectDetails = { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } };
-
-export const CustomInjectDetails = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Definition.generated.ts b/graphql/fragments/Definition.generated.ts
deleted file mode 100644
index 102d2fac2660e475dffa1820e14209c0b4dd5307..0000000000000000000000000000000000000000
--- a/graphql/fragments/Definition.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Definition = { id: string, name: string, version: string, channels: Array<{ id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }>, roles: Array<{ id: string, name: string }> };
-
-export const Definition = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Definition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"channels"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Role"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionRoleType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/DefinitionInject.generated.ts b/graphql/fragments/DefinitionInject.generated.ts
deleted file mode 100644
index 51070d677b6b6bbe7a11c5ce6d1f0df93a8a905b..0000000000000000000000000000000000000000
--- a/graphql/fragments/DefinitionInject.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type DefinitionInject = { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType };
-
-export const DefinitionInject = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Email.generated.ts b/graphql/fragments/Email.generated.ts
deleted file mode 100644
index aee728879a515d22d01a8a1ae2e8386f76779adb..0000000000000000000000000000000000000000
--- a/graphql/fragments/Email.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Email = { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null };
-
-export const Email = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/EmailAddress.generated.ts b/graphql/fragments/EmailAddress.generated.ts
deleted file mode 100644
index 1554333c7c47712a1a7541fd8d8172b666db23b9..0000000000000000000000000000000000000000
--- a/graphql/fragments/EmailAddress.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type EmailAddress = { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } };
-
-export const EmailAddress = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/EmailDetails.generated.ts b/graphql/fragments/EmailDetails.generated.ts
deleted file mode 100644
index 1f6c44ee5c9133e88c750df69ebf154e4b74dd39..0000000000000000000000000000000000000000
--- a/graphql/fragments/EmailDetails.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type EmailDetails = { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null };
-
-export const EmailDetails = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/EmailParticipant.generated.ts b/graphql/fragments/EmailParticipant.generated.ts
deleted file mode 100644
index 288ab3d95dd257ba5f0a7cf6155133467f8608dd..0000000000000000000000000000000000000000
--- a/graphql/fragments/EmailParticipant.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type EmailParticipant = { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null };
-
-export const EmailParticipant = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/EmailTemplate.generated.ts b/graphql/fragments/EmailTemplate.generated.ts
deleted file mode 100644
index 783c801c7636272863175af1b07d7a4ac3afa509..0000000000000000000000000000000000000000
--- a/graphql/fragments/EmailTemplate.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type EmailTemplate = { id: string, sender: string | null, context: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } };
-
-export const EmailTemplate = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailTemplate"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailTemplateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"context"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/EmailThread.generated.ts b/graphql/fragments/EmailThread.generated.ts
deleted file mode 100644
index 71afefcdf4260de5fa79343b193d4a09867b1139..0000000000000000000000000000000000000000
--- a/graphql/fragments/EmailThread.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type EmailThread = { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null };
-
-export const EmailThread = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Exercise.generated.ts b/graphql/fragments/Exercise.generated.ts
deleted file mode 100644
index da225cb52afab7e9920cf9e74bd118fe9c2b15b9..0000000000000000000000000000000000000000
--- a/graphql/fragments/Exercise.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Exercise = { id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> };
-
-export const Exercise = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/ExerciseConfig.generated.ts b/graphql/fragments/ExerciseConfig.generated.ts
deleted file mode 100644
index 1763842e6b2253bb5ddedd41d655d17c4822393e..0000000000000000000000000000000000000000
--- a/graphql/fragments/ExerciseConfig.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type ExerciseConfig = { exerciseDuration: number | null, emailBetweenTeams: boolean | null, showExerciseTime: boolean | null, enableRoles: boolean | null, customEmailSuffix: string | null };
-
-export const ExerciseConfig = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseConfig"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GrapheneConfig"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseDuration"}},{"kind":"Field","name":{"kind":"Name","value":"emailBetweenTeams"}},{"kind":"Field","name":{"kind":"Name","value":"showExerciseTime"}},{"kind":"Field","name":{"kind":"Name","value":"enableRoles"}},{"kind":"Field","name":{"kind":"Name","value":"customEmailSuffix"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/ExerciseDefinition.generated.ts b/graphql/fragments/ExerciseDefinition.generated.ts
deleted file mode 100644
index dacbf820795f5f29a69671ed737dfc81a02e04ee..0000000000000000000000000000000000000000
--- a/graphql/fragments/ExerciseDefinition.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type ExerciseDefinition = { id: number | null, name: string | null };
-
-export const ExerciseDefinition = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/ExtendedToolType.generated.ts b/graphql/fragments/ExtendedToolType.generated.ts
deleted file mode 100644
index b291d20fde67a96c4ae05e829c17af4da6fe2d96..0000000000000000000000000000000000000000
--- a/graphql/fragments/ExtendedToolType.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type ExtendedTool = { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> };
-
-export const ExtendedTool = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/FileInfo.generated.ts b/graphql/fragments/FileInfo.generated.ts
deleted file mode 100644
index bccd2ebaf251e434b6e60d26b0bcde909e961139..0000000000000000000000000000000000000000
--- a/graphql/fragments/FileInfo.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type FileInfo = { id: any, fileName: string };
-
-export const FileInfo = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/InjectDetails.generated.ts b/graphql/fragments/InjectDetails.generated.ts
deleted file mode 100644
index 99f024fb7ccce3613c3008ce8349de87822f679e..0000000000000000000000000000000000000000
--- a/graphql/fragments/InjectDetails.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type InjectDetails = { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null };
-
-export const InjectDetails = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/InjectOption.generated.ts b/graphql/fragments/InjectOption.generated.ts
deleted file mode 100644
index 158a945c8a850bb438bf21ec67fa2eed7118d22a..0000000000000000000000000000000000000000
--- a/graphql/fragments/InjectOption.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type InjectOption = { id: string, sender: string, name: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } };
-
-export const InjectOption = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectOption"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectOptionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/InjectSelections.generated.ts b/graphql/fragments/InjectSelections.generated.ts
deleted file mode 100644
index 06f9bac4328452ab005589ac00c3a3e6db06977e..0000000000000000000000000000000000000000
--- a/graphql/fragments/InjectSelections.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type InjectSelection = { id: string, name: string, timestamp: string | null, submitted: string | null, team: { id: string }, options: Array<{ id: string, sender: string, name: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } }> };
-
-export const InjectSelection = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectSelection"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectSelectionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"options"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectOption"}}]}},{"kind":"Field","name":{"kind":"Name","value":"submitted"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectOption"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectOptionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/LearningActivity.generated.ts b/graphql/fragments/LearningActivity.generated.ts
deleted file mode 100644
index 72a3c128e30f208c1604e8324838fc32ec54179e..0000000000000000000000000000000000000000
--- a/graphql/fragments/LearningActivity.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type LearningActivity = { id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> };
-
-export const LearningActivity = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/LearningObjective.generated.ts b/graphql/fragments/LearningObjective.generated.ts
deleted file mode 100644
index 4328e01bc1a7d93e6f94b061c8268b4c896fe893..0000000000000000000000000000000000000000
--- a/graphql/fragments/LearningObjective.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type LearningObjective = { id: string, name: string, tags: string, activities: Array<{ id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> }> };
-
-export const LearningObjective = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningObjective"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningObjectiveType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"activities"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningActivity"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Milestone.generated.ts b/graphql/fragments/Milestone.generated.ts
deleted file mode 100644
index 374ad6e17ba7e3d54e10ecdd83ac4d1c22bd2d3b..0000000000000000000000000000000000000000
--- a/graphql/fragments/Milestone.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Milestone = { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string };
-
-export const Milestone = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/MilestoneState.generated.ts b/graphql/fragments/MilestoneState.generated.ts
deleted file mode 100644
index 4fd696f351faad510e085f253ff1b0526b83a7d6..0000000000000000000000000000000000000000
--- a/graphql/fragments/MilestoneState.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type MilestoneState = { id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } };
-
-export const MilestoneState = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Overlay.generated.ts b/graphql/fragments/Overlay.generated.ts
deleted file mode 100644
index dafa6c1bc50ee5723fa7850191fa75c0a9c88be1..0000000000000000000000000000000000000000
--- a/graphql/fragments/Overlay.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Overlay = { id: string, duration: number };
-
-export const Overlay = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Question.generated.ts b/graphql/fragments/Question.generated.ts
deleted file mode 100644
index 768c0c63c7e1e79269f0351a928c000b89e19b03..0000000000000000000000000000000000000000
--- a/graphql/fragments/Question.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Question = { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } };
-
-export const Question = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/QuestionnaireAnswer.generated.ts b/graphql/fragments/QuestionnaireAnswer.generated.ts
deleted file mode 100644
index ff8b223202b759d6c30bf374899d21a27b1abc61..0000000000000000000000000000000000000000
--- a/graphql/fragments/QuestionnaireAnswer.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type QuestionnaireAnswer = { id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } };
-
-export const QuestionnaireAnswer = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/QuestionnaireDetails.generated.ts b/graphql/fragments/QuestionnaireDetails.generated.ts
deleted file mode 100644
index 1797fa18fe192aaebfb9065fcfdec1861aa37080..0000000000000000000000000000000000000000
--- a/graphql/fragments/QuestionnaireDetails.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type QuestionnaireDetails = { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> };
-
-export const QuestionnaireDetails = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Role.generated.ts b/graphql/fragments/Role.generated.ts
deleted file mode 100644
index 3d937e977113cc89acc106e95d00a1196babaaaa..0000000000000000000000000000000000000000
--- a/graphql/fragments/Role.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Role = { id: string, name: string };
-
-export const Role = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Role"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionRoleType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Team.generated.ts b/graphql/fragments/Team.generated.ts
deleted file mode 100644
index d7786b7465eb706e58e325c2f581686ad58d8234..0000000000000000000000000000000000000000
--- a/graphql/fragments/Team.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Team = { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } };
-
-export const Team = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/TeamLearningActivity.generated.ts b/graphql/fragments/TeamLearningActivity.generated.ts
deleted file mode 100644
index 18deab3f428ca0ef35272b3d481a475019c499b3..0000000000000000000000000000000000000000
--- a/graphql/fragments/TeamLearningActivity.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type TeamLearningActivity = { id: string, reached: boolean | null, activity: { id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> }, milestoneStates: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } }> };
-
-export const TeamLearningActivity = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamLearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamLearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"activity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningActivity"}}]}},{"kind":"Field","name":{"kind":"Name","value":"milestoneStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/TeamLearningObjective.generated.ts b/graphql/fragments/TeamLearningObjective.generated.ts
deleted file mode 100644
index 9d1bd54f6e1ed10833ffc864dec2a2538952e22c..0000000000000000000000000000000000000000
--- a/graphql/fragments/TeamLearningObjective.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type TeamLearningObjective = { id: string, reached: boolean | null, objective: { id: string, name: string, tags: string, activities: Array<{ id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> }> }, activities: Array<{ id: string, reached: boolean | null, activity: { id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> }, milestoneStates: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } }> }> };
-
-export const TeamLearningObjective = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamLearningObjective"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamLearningObjectiveType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"objective"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningObjective"}}]}},{"kind":"Field","name":{"kind":"Name","value":"activities"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamLearningActivity"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningObjective"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningObjectiveType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"activities"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningActivity"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamLearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamLearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"activity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningActivity"}}]}},{"kind":"Field","name":{"kind":"Name","value":"milestoneStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/TeamQuestionnaireState.generated.ts b/graphql/fragments/TeamQuestionnaireState.generated.ts
deleted file mode 100644
index ec3f9f77da67b80ab8381f1ef01f61e818f81b0b..0000000000000000000000000000000000000000
--- a/graphql/fragments/TeamQuestionnaireState.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type TeamQuestionnaireState = { id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> };
-
-export const TeamQuestionnaireState = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/TeamWithoutEmailAddress.generated.ts b/graphql/fragments/TeamWithoutEmailAddress.generated.ts
deleted file mode 100644
index 68d7f58f2b3427b524f281fe2f0566ffd8e8105c..0000000000000000000000000000000000000000
--- a/graphql/fragments/TeamWithoutEmailAddress.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type TeamWithoutEmailAddress = { id: string, name: string, role: string };
-
-export const TeamWithoutEmailAddress = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/Tool.generated.ts b/graphql/fragments/Tool.generated.ts
deleted file mode 100644
index 7706a05911f7bccec533e7fea75ded6d6df983f9..0000000000000000000000000000000000000000
--- a/graphql/fragments/Tool.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type Tool = { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, definition: { id: number | null, name: string | null } | null };
-
-export const Tool = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Tool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/ToolDetails.generated.ts b/graphql/fragments/ToolDetails.generated.ts
deleted file mode 100644
index 696d5b0ca65b7d6b029f4a96f4d821f5364e6685..0000000000000000000000000000000000000000
--- a/graphql/fragments/ToolDetails.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type ToolDetails = { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } };
-
-export const ToolDetails = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/ToolResponse.generated.ts b/graphql/fragments/ToolResponse.generated.ts
deleted file mode 100644
index 1ebbfb1b32d336f68644ecc063d34c2dbf611933..0000000000000000000000000000000000000000
--- a/graphql/fragments/ToolResponse.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type ToolResponse = { id: string, param: string };
-
-export const ToolResponse = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/User.generated.ts b/graphql/fragments/User.generated.ts
deleted file mode 100644
index be981c02cd805048822abaed8849afedc3fe3d4c..0000000000000000000000000000000000000000
--- a/graphql/fragments/User.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-export type User = { id: any, username: string, firstName: string | null, lastName: string | null, isStaff: boolean, isSuperuser: boolean, isActive: boolean, group: string | null, teams: Array<{ id: string, name: string } | null> | null, exercises: Array<{ id: string | null } | null> | null };
-
-export const User = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"User"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"UserType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"isStaff"}},{"kind":"Field","name":{"kind":"Name","value":"isSuperuser"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"group"}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/fragments/clientonly/EmailDraft.generated.ts b/graphql/fragments/clientonly/EmailDraft.generated.ts
deleted file mode 100644
index f26c505f63231b1a401c0720b57a0819dc950efa..0000000000000000000000000000000000000000
--- a/graphql/fragments/clientonly/EmailDraft.generated.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-export type EmailDraft = { teamId: string, instructor: boolean, emailThreadId: string | null, senderAddress: string | null, content: string | null, activateMilestone: string | null, deactivateMilestone: string | null, fileId: any | null, selectedContacts: Array<string | null> | null, subject: string | null, templateId: string | null };
-
-export const EmailDraft = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDraft"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailDraftType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"instructor"}},{"kind":"Field","name":{"kind":"Name","value":"emailThreadId"}},{"kind":"Field","name":{"kind":"Name","value":"senderAddress"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"fileId"}},{"kind":"Field","name":{"kind":"Name","value":"selectedContacts"}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"templateId"}}]}}]} as unknown as DocumentNode;
\ No newline at end of file
diff --git a/graphql/graphql.schema.json b/graphql/graphql.schema.json
index 828837e3afcfc35fb0134de85ba184a4a904d682..4b6444912788a108e7dcf15e4d94c4c7d522cc88 100644
--- a/graphql/graphql.schema.json
+++ b/graphql/graphql.schema.json
@@ -8032,6 +8032,22 @@
             "isDeprecated": false,
             "deprecationReason": null
           },
+          {
+            "name": "isImported",
+            "description": null,
+            "args": [],
+            "type": {
+              "kind": "NON_NULL",
+              "name": null,
+              "ofType": {
+                "kind": "SCALAR",
+                "name": "Boolean",
+                "ofType": null
+              }
+            },
+            "isDeprecated": false,
+            "deprecationReason": null
+          },
           {
             "name": "isStaff",
             "description": null,
@@ -10192,6 +10208,22 @@
             "isDeprecated": false,
             "deprecationReason": null
           },
+          {
+            "name": "isImported",
+            "description": null,
+            "args": [],
+            "type": {
+              "kind": "NON_NULL",
+              "name": null,
+              "ofType": {
+                "kind": "SCALAR",
+                "name": "Boolean",
+                "ofType": null
+              }
+            },
+            "isDeprecated": false,
+            "deprecationReason": null
+          },
           {
             "name": "isStaff",
             "description": null,
diff --git a/graphql/mutations/AnswerQuestionnaire.generated.ts b/graphql/mutations/AnswerQuestionnaire.generated.ts
deleted file mode 100644
index 24fa5f019986dc33b0618c0af57bc4655971849d..0000000000000000000000000000000000000000
--- a/graphql/mutations/AnswerQuestionnaire.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type AnswerQuestionnaireVariables = _Types.Exact<{
-  questInput: _Types.QuestionnaireInput;
-}>;
-
-
-export type AnswerQuestionnaire = { answerQuestionnaire: { operationDone: boolean | null } | null };
-
-
-export const AnswerQuestionnaireDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"AnswerQuestionnaire"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"questInput"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"answerQuestionnaire"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"questInput"},"value":{"kind":"Variable","name":{"kind":"Name","value":"questInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type AnswerQuestionnaireMutationFn = Apollo.MutationFunction<AnswerQuestionnaire, AnswerQuestionnaireVariables>;
-
-/**
- * __useAnswerQuestionnaire__
- *
- * To run a mutation, you first call `useAnswerQuestionnaire` within a React component and pass it any options that fit your needs.
- * When your component renders, `useAnswerQuestionnaire` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [answerQuestionnaire, { data, loading, error }] = useAnswerQuestionnaire({
- *   variables: {
- *      questInput: // value for 'questInput'
- *   },
- * });
- */
-export function useAnswerQuestionnaire(baseOptions?: Apollo.MutationHookOptions<AnswerQuestionnaire, AnswerQuestionnaireVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<AnswerQuestionnaire, AnswerQuestionnaireVariables>(AnswerQuestionnaireDocument, options);
-      }
-export type AnswerQuestionnaireHookResult = ReturnType<typeof useAnswerQuestionnaire>;
-export type AnswerQuestionnaireMutationResult = Apollo.MutationResult<AnswerQuestionnaire>;
-export type AnswerQuestionnaireMutationOptions = Apollo.BaseMutationOptions<AnswerQuestionnaire, AnswerQuestionnaireVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/CreateExercise.generated.ts b/graphql/mutations/CreateExercise.generated.ts
deleted file mode 100644
index 9b99f3b9e219685ace93fc49d62ddad5afba6ef0..0000000000000000000000000000000000000000
--- a/graphql/mutations/CreateExercise.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type CreateExercisesVariables = _Types.Exact<{
-  id: _Types.Scalars['ID']['input'];
-  teamCount: _Types.Scalars['Int']['input'];
-  name: _Types.InputMaybe<_Types.Scalars['String']['input']>;
-}>;
-
-
-export type CreateExercises = { createExercise: { exercise: { id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> } | null } | null };
-
-
-export const CreateExercisesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateExercises"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamCount"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createExercise"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"createExerciseInput"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"definitionId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"teamCount"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamCount"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Exercise"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-export type CreateExercisesMutationFn = Apollo.MutationFunction<CreateExercises, CreateExercisesVariables>;
-
-/**
- * __useCreateExercises__
- *
- * To run a mutation, you first call `useCreateExercises` within a React component and pass it any options that fit your needs.
- * When your component renders, `useCreateExercises` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [createExercises, { data, loading, error }] = useCreateExercises({
- *   variables: {
- *      id: // value for 'id'
- *      teamCount: // value for 'teamCount'
- *      name: // value for 'name'
- *   },
- * });
- */
-export function useCreateExercises(baseOptions?: Apollo.MutationHookOptions<CreateExercises, CreateExercisesVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<CreateExercises, CreateExercisesVariables>(CreateExercisesDocument, options);
-      }
-export type CreateExercisesHookResult = ReturnType<typeof useCreateExercises>;
-export type CreateExercisesMutationResult = Apollo.MutationResult<CreateExercises>;
-export type CreateExercisesMutationOptions = Apollo.BaseMutationOptions<CreateExercises, CreateExercisesVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/CreateThread.generated.ts b/graphql/mutations/CreateThread.generated.ts
deleted file mode 100644
index ed718368c09ccf072aa5cb25d43b051cab379479..0000000000000000000000000000000000000000
--- a/graphql/mutations/CreateThread.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type CreateThreadVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-  participantAddresses: Array<_Types.InputMaybe<_Types.Scalars['String']['input']>> | _Types.InputMaybe<_Types.Scalars['String']['input']>;
-  subject: _Types.Scalars['String']['input'];
-}>;
-
-
-export type CreateThread = { createThread: { thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null } | null } | null };
-
-
-export const CreateThreadDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateThread"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"participantAddresses"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"subject"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createThread"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}},{"kind":"Argument","name":{"kind":"Name","value":"participantAddresses"},"value":{"kind":"Variable","name":{"kind":"Name","value":"participantAddresses"}}},{"kind":"Argument","name":{"kind":"Name","value":"subject"},"value":{"kind":"Variable","name":{"kind":"Name","value":"subject"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
-export type CreateThreadMutationFn = Apollo.MutationFunction<CreateThread, CreateThreadVariables>;
-
-/**
- * __useCreateThread__
- *
- * To run a mutation, you first call `useCreateThread` within a React component and pass it any options that fit your needs.
- * When your component renders, `useCreateThread` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [createThread, { data, loading, error }] = useCreateThread({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *      participantAddresses: // value for 'participantAddresses'
- *      subject: // value for 'subject'
- *   },
- * });
- */
-export function useCreateThread(baseOptions?: Apollo.MutationHookOptions<CreateThread, CreateThreadVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<CreateThread, CreateThreadVariables>(CreateThreadDocument, options);
-      }
-export type CreateThreadHookResult = ReturnType<typeof useCreateThread>;
-export type CreateThreadMutationResult = Apollo.MutationResult<CreateThread>;
-export type CreateThreadMutationOptions = Apollo.BaseMutationOptions<CreateThread, CreateThreadVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/DeleteDefinition.generated.ts b/graphql/mutations/DeleteDefinition.generated.ts
deleted file mode 100644
index 422a4493bdcdb868fb56b974f5422c31ecf3160b..0000000000000000000000000000000000000000
--- a/graphql/mutations/DeleteDefinition.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type DeleteDefinitionVariables = _Types.Exact<{
-  definitionId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type DeleteDefinition = { deleteDefinition: { operationDone: boolean | null } | null };
-
-
-export const DeleteDefinitionDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteDefinition"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"definitionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteDefinition"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"definitionId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"definitionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type DeleteDefinitionMutationFn = Apollo.MutationFunction<DeleteDefinition, DeleteDefinitionVariables>;
-
-/**
- * __useDeleteDefinition__
- *
- * To run a mutation, you first call `useDeleteDefinition` within a React component and pass it any options that fit your needs.
- * When your component renders, `useDeleteDefinition` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [deleteDefinition, { data, loading, error }] = useDeleteDefinition({
- *   variables: {
- *      definitionId: // value for 'definitionId'
- *   },
- * });
- */
-export function useDeleteDefinition(baseOptions?: Apollo.MutationHookOptions<DeleteDefinition, DeleteDefinitionVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<DeleteDefinition, DeleteDefinitionVariables>(DeleteDefinitionDocument, options);
-      }
-export type DeleteDefinitionHookResult = ReturnType<typeof useDeleteDefinition>;
-export type DeleteDefinitionMutationResult = Apollo.MutationResult<DeleteDefinition>;
-export type DeleteDefinitionMutationOptions = Apollo.BaseMutationOptions<DeleteDefinition, DeleteDefinitionVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/DeleteExercise.generated.ts b/graphql/mutations/DeleteExercise.generated.ts
deleted file mode 100644
index 7141e09adbebc9790b7e434de0628c1a5eea9087..0000000000000000000000000000000000000000
--- a/graphql/mutations/DeleteExercise.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type DeleteExerciseVariables = _Types.Exact<{
-  id: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type DeleteExercise = { deleteExercise: { operationDone: boolean | null } | null };
-
-
-export const DeleteExerciseDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteExercise"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteExercise"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type DeleteExerciseMutationFn = Apollo.MutationFunction<DeleteExercise, DeleteExerciseVariables>;
-
-/**
- * __useDeleteExercise__
- *
- * To run a mutation, you first call `useDeleteExercise` within a React component and pass it any options that fit your needs.
- * When your component renders, `useDeleteExercise` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [deleteExercise, { data, loading, error }] = useDeleteExercise({
- *   variables: {
- *      id: // value for 'id'
- *   },
- * });
- */
-export function useDeleteExercise(baseOptions?: Apollo.MutationHookOptions<DeleteExercise, DeleteExerciseVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<DeleteExercise, DeleteExerciseVariables>(DeleteExerciseDocument, options);
-      }
-export type DeleteExerciseHookResult = ReturnType<typeof useDeleteExercise>;
-export type DeleteExerciseMutationResult = Apollo.MutationResult<DeleteExercise>;
-export type DeleteExerciseMutationOptions = Apollo.BaseMutationOptions<DeleteExercise, DeleteExerciseVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/Login.generated.ts b/graphql/mutations/Login.generated.ts
deleted file mode 100644
index 7de377c4861de0a8e82dc3dbb8e1a94e232754f2..0000000000000000000000000000000000000000
--- a/graphql/mutations/Login.generated.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type LoginVariables = _Types.Exact<{
-  username: _Types.Scalars['String']['input'];
-  password: _Types.Scalars['String']['input'];
-}>;
-
-
-export type Login = { login: { user: { id: any, username: string, firstName: string | null, lastName: string | null, isStaff: boolean, isSuperuser: boolean, isActive: boolean, group: string | null, teams: Array<{ id: string, name: string } | null> | null, exercises: Array<{ id: string | null } | null> | null } | null } | null };
-
-
-export const LoginDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"Login"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"username"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"password"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"login"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"username"},"value":{"kind":"Variable","name":{"kind":"Name","value":"username"}}},{"kind":"Argument","name":{"kind":"Name","value":"password"},"value":{"kind":"Variable","name":{"kind":"Name","value":"password"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"User"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"User"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"UserType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"isStaff"}},{"kind":"Field","name":{"kind":"Name","value":"isSuperuser"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"group"}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode;
-export type LoginMutationFn = Apollo.MutationFunction<Login, LoginVariables>;
-
-/**
- * __useLogin__
- *
- * To run a mutation, you first call `useLogin` within a React component and pass it any options that fit your needs.
- * When your component renders, `useLogin` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [login, { data, loading, error }] = useLogin({
- *   variables: {
- *      username: // value for 'username'
- *      password: // value for 'password'
- *   },
- * });
- */
-export function useLogin(baseOptions?: Apollo.MutationHookOptions<Login, LoginVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<Login, LoginVariables>(LoginDocument, options);
-      }
-export type LoginHookResult = ReturnType<typeof useLogin>;
-export type LoginMutationResult = Apollo.MutationResult<Login>;
-export type LoginMutationOptions = Apollo.BaseMutationOptions<Login, LoginVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/Logout.generated.ts b/graphql/mutations/Logout.generated.ts
deleted file mode 100644
index 352ec6badcdced8682d530ad21ddeb61691bc638..0000000000000000000000000000000000000000
--- a/graphql/mutations/Logout.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type LogoutVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type Logout = { logout: { loggedOut: boolean | null } | null };
-
-
-export const LogoutDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"Logout"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"logout"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"loggedOut"}}]}}]}}]} as unknown as DocumentNode;
-export type LogoutMutationFn = Apollo.MutationFunction<Logout, LogoutVariables>;
-
-/**
- * __useLogout__
- *
- * To run a mutation, you first call `useLogout` within a React component and pass it any options that fit your needs.
- * When your component renders, `useLogout` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [logout, { data, loading, error }] = useLogout({
- *   variables: {
- *   },
- * });
- */
-export function useLogout(baseOptions?: Apollo.MutationHookOptions<Logout, LogoutVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<Logout, LogoutVariables>(LogoutDocument, options);
-      }
-export type LogoutHookResult = ReturnType<typeof useLogout>;
-export type LogoutMutationResult = Apollo.MutationResult<Logout>;
-export type LogoutMutationOptions = Apollo.BaseMutationOptions<Logout, LogoutVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/PerformTeamToolAction.generated.ts b/graphql/mutations/PerformTeamToolAction.generated.ts
deleted file mode 100644
index d6ee0cb2e3fd1d17b822c10e44a63e165264eebe..0000000000000000000000000000000000000000
--- a/graphql/mutations/PerformTeamToolAction.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type PerformTeamToolActionVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-  toolArgument: _Types.Scalars['String']['input'];
-  toolId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type PerformTeamToolAction = { useTool: { operationDone: boolean | null } | null };
-
-
-export const PerformTeamToolActionDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"PerformTeamToolAction"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"toolArgument"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"toolId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"useTool"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"useToolInput"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"toolArgument"},"value":{"kind":"Variable","name":{"kind":"Name","value":"toolArgument"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"toolId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"toolId"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type PerformTeamToolActionMutationFn = Apollo.MutationFunction<PerformTeamToolAction, PerformTeamToolActionVariables>;
-
-/**
- * __usePerformTeamToolAction__
- *
- * To run a mutation, you first call `usePerformTeamToolAction` within a React component and pass it any options that fit your needs.
- * When your component renders, `usePerformTeamToolAction` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [performTeamToolAction, { data, loading, error }] = usePerformTeamToolAction({
- *   variables: {
- *      teamId: // value for 'teamId'
- *      toolArgument: // value for 'toolArgument'
- *      toolId: // value for 'toolId'
- *   },
- * });
- */
-export function usePerformTeamToolAction(baseOptions?: Apollo.MutationHookOptions<PerformTeamToolAction, PerformTeamToolActionVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<PerformTeamToolAction, PerformTeamToolActionVariables>(PerformTeamToolActionDocument, options);
-      }
-export type PerformTeamToolActionHookResult = ReturnType<typeof usePerformTeamToolAction>;
-export type PerformTeamToolActionMutationResult = Apollo.MutationResult<PerformTeamToolAction>;
-export type PerformTeamToolActionMutationOptions = Apollo.BaseMutationOptions<PerformTeamToolAction, PerformTeamToolActionVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/SelectTeamInjectOption.generated.ts b/graphql/mutations/SelectTeamInjectOption.generated.ts
deleted file mode 100644
index facd111f6726fef7591fec33fdd833e6bce7b7ad..0000000000000000000000000000000000000000
--- a/graphql/mutations/SelectTeamInjectOption.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type SelectTeamInjectOptionVariables = _Types.Exact<{
-  selectTeamInjectInput: _Types.SelectTeamInjectInput;
-}>;
-
-
-export type SelectTeamInjectOption = { selectTeamInjectOption: { operationDone: boolean | null } | null };
-
-
-export const SelectTeamInjectOptionDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SelectTeamInjectOption"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"selectTeamInjectInput"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SelectTeamInjectInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"selectTeamInjectOption"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"selectTeamInjectInput"},"value":{"kind":"Variable","name":{"kind":"Name","value":"selectTeamInjectInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type SelectTeamInjectOptionMutationFn = Apollo.MutationFunction<SelectTeamInjectOption, SelectTeamInjectOptionVariables>;
-
-/**
- * __useSelectTeamInjectOption__
- *
- * To run a mutation, you first call `useSelectTeamInjectOption` within a React component and pass it any options that fit your needs.
- * When your component renders, `useSelectTeamInjectOption` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [selectTeamInjectOption, { data, loading, error }] = useSelectTeamInjectOption({
- *   variables: {
- *      selectTeamInjectInput: // value for 'selectTeamInjectInput'
- *   },
- * });
- */
-export function useSelectTeamInjectOption(baseOptions?: Apollo.MutationHookOptions<SelectTeamInjectOption, SelectTeamInjectOptionVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<SelectTeamInjectOption, SelectTeamInjectOptionVariables>(SelectTeamInjectOptionDocument, options);
-      }
-export type SelectTeamInjectOptionHookResult = ReturnType<typeof useSelectTeamInjectOption>;
-export type SelectTeamInjectOptionMutationResult = Apollo.MutationResult<SelectTeamInjectOption>;
-export type SelectTeamInjectOptionMutationOptions = Apollo.BaseMutationOptions<SelectTeamInjectOption, SelectTeamInjectOptionVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/SendEmail.generated.ts b/graphql/mutations/SendEmail.generated.ts
deleted file mode 100644
index 9342bc2817ef0d4b09a1a3d63a9bdf26c41d85bd..0000000000000000000000000000000000000000
--- a/graphql/mutations/SendEmail.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type SendEmailVariables = _Types.Exact<{
-  sendEmailInput: _Types.SendEmailInput;
-}>;
-
-
-export type SendEmail = { sendEmail: { operationDone: boolean | null } | null };
-
-
-export const SendEmailDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SendEmail"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sendEmailInput"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SendEmailInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"sendEmail"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"sendEmailInput"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sendEmailInput"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type SendEmailMutationFn = Apollo.MutationFunction<SendEmail, SendEmailVariables>;
-
-/**
- * __useSendEmail__
- *
- * To run a mutation, you first call `useSendEmail` within a React component and pass it any options that fit your needs.
- * When your component renders, `useSendEmail` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [sendEmail, { data, loading, error }] = useSendEmail({
- *   variables: {
- *      sendEmailInput: // value for 'sendEmailInput'
- *   },
- * });
- */
-export function useSendEmail(baseOptions?: Apollo.MutationHookOptions<SendEmail, SendEmailVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<SendEmail, SendEmailVariables>(SendEmailDocument, options);
-      }
-export type SendEmailHookResult = ReturnType<typeof useSendEmail>;
-export type SendEmailMutationResult = Apollo.MutationResult<SendEmail>;
-export type SendEmailMutationOptions = Apollo.BaseMutationOptions<SendEmail, SendEmailVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/SetMilestone.generated.ts b/graphql/mutations/SetMilestone.generated.ts
deleted file mode 100644
index 09b1511ae2605b07d352d1152b9022265ebf4bb8..0000000000000000000000000000000000000000
--- a/graphql/mutations/SetMilestone.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type SetMilestoneVariables = _Types.Exact<{
-  activate: _Types.Scalars['Boolean']['input'];
-  milestone: _Types.Scalars['String']['input'];
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type SetMilestone = { modifyMilestone: { operationDone: boolean | null } | null };
-
-
-export const SetMilestoneDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SetMilestone"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"activate"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"milestone"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modifyMilestone"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"activate"},"value":{"kind":"Variable","name":{"kind":"Name","value":"activate"}}},{"kind":"Argument","name":{"kind":"Name","value":"milestone"},"value":{"kind":"Variable","name":{"kind":"Name","value":"milestone"}}},{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"operationDone"}}]}}]}}]} as unknown as DocumentNode;
-export type SetMilestoneMutationFn = Apollo.MutationFunction<SetMilestone, SetMilestoneVariables>;
-
-/**
- * __useSetMilestone__
- *
- * To run a mutation, you first call `useSetMilestone` within a React component and pass it any options that fit your needs.
- * When your component renders, `useSetMilestone` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [setMilestone, { data, loading, error }] = useSetMilestone({
- *   variables: {
- *      activate: // value for 'activate'
- *      milestone: // value for 'milestone'
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useSetMilestone(baseOptions?: Apollo.MutationHookOptions<SetMilestone, SetMilestoneVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<SetMilestone, SetMilestoneVariables>(SetMilestoneDocument, options);
-      }
-export type SetMilestoneHookResult = ReturnType<typeof useSetMilestone>;
-export type SetMilestoneMutationResult = Apollo.MutationResult<SetMilestone>;
-export type SetMilestoneMutationOptions = Apollo.BaseMutationOptions<SetMilestone, SetMilestoneVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/StartExercise.generated.ts b/graphql/mutations/StartExercise.generated.ts
deleted file mode 100644
index 590c33b39bba333d50075ac54a98b7e6b0f0441a..0000000000000000000000000000000000000000
--- a/graphql/mutations/StartExercise.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type StartExerciseVariables = _Types.Exact<{
-  id: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type StartExercise = { startExercise: { exercise: { id: string } | null } | null };
-
-
-export const StartExerciseDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"StartExercise"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"startExercise"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode;
-export type StartExerciseMutationFn = Apollo.MutationFunction<StartExercise, StartExerciseVariables>;
-
-/**
- * __useStartExercise__
- *
- * To run a mutation, you first call `useStartExercise` within a React component and pass it any options that fit your needs.
- * When your component renders, `useStartExercise` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [startExercise, { data, loading, error }] = useStartExercise({
- *   variables: {
- *      id: // value for 'id'
- *   },
- * });
- */
-export function useStartExercise(baseOptions?: Apollo.MutationHookOptions<StartExercise, StartExerciseVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<StartExercise, StartExerciseVariables>(StartExerciseDocument, options);
-      }
-export type StartExerciseHookResult = ReturnType<typeof useStartExercise>;
-export type StartExerciseMutationResult = Apollo.MutationResult<StartExercise>;
-export type StartExerciseMutationOptions = Apollo.BaseMutationOptions<StartExercise, StartExerciseVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/StopExercise.generated.ts b/graphql/mutations/StopExercise.generated.ts
deleted file mode 100644
index 5db76804e88af3de5083e1282390a4ec39893b6b..0000000000000000000000000000000000000000
--- a/graphql/mutations/StopExercise.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type StopExerciseVariables = _Types.Exact<{
-  id: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type StopExercise = { stopExercise: { exercise: { id: string } | null } | null };
-
-
-export const StopExerciseDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"StopExercise"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"stopExercise"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode;
-export type StopExerciseMutationFn = Apollo.MutationFunction<StopExercise, StopExerciseVariables>;
-
-/**
- * __useStopExercise__
- *
- * To run a mutation, you first call `useStopExercise` within a React component and pass it any options that fit your needs.
- * When your component renders, `useStopExercise` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [stopExercise, { data, loading, error }] = useStopExercise({
- *   variables: {
- *      id: // value for 'id'
- *   },
- * });
- */
-export function useStopExercise(baseOptions?: Apollo.MutationHookOptions<StopExercise, StopExerciseVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<StopExercise, StopExerciseVariables>(StopExerciseDocument, options);
-      }
-export type StopExerciseHookResult = ReturnType<typeof useStopExercise>;
-export type StopExerciseMutationResult = Apollo.MutationResult<StopExercise>;
-export type StopExerciseMutationOptions = Apollo.BaseMutationOptions<StopExercise, StopExerciseVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/ResetReadReceiptChannel.generated.ts b/graphql/mutations/clientonly/ResetReadReceiptChannel.generated.ts
deleted file mode 100644
index 81222739728fef7852c973000d98dc4952a12f01..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/ResetReadReceiptChannel.generated.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ResetReadReceiptChannelVariables = _Types.Exact<{
-  channelId: _Types.Scalars['ID']['input'];
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type ResetReadReceiptChannel = { resetReadReceiptChannel: { channelId: string, readReceipt: string | null } | null };
-
-
-export const ResetReadReceiptChannelDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"ResetReadReceiptChannel"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"channelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"resetReadReceiptChannel"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"channelId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"channelId"}}},{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"channelId"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}}]}}]}}]} as unknown as DocumentNode;
-export type ResetReadReceiptChannelMutationFn = Apollo.MutationFunction<ResetReadReceiptChannel, ResetReadReceiptChannelVariables>;
-
-/**
- * __useResetReadReceiptChannel__
- *
- * To run a mutation, you first call `useResetReadReceiptChannel` within a React component and pass it any options that fit your needs.
- * When your component renders, `useResetReadReceiptChannel` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [resetReadReceiptChannel, { data, loading, error }] = useResetReadReceiptChannel({
- *   variables: {
- *      channelId: // value for 'channelId'
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useResetReadReceiptChannel(baseOptions?: Apollo.MutationHookOptions<ResetReadReceiptChannel, ResetReadReceiptChannelVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<ResetReadReceiptChannel, ResetReadReceiptChannelVariables>(ResetReadReceiptChannelDocument, options);
-      }
-export type ResetReadReceiptChannelHookResult = ReturnType<typeof useResetReadReceiptChannel>;
-export type ResetReadReceiptChannelMutationResult = Apollo.MutationResult<ResetReadReceiptChannel>;
-export type ResetReadReceiptChannelMutationOptions = Apollo.BaseMutationOptions<ResetReadReceiptChannel, ResetReadReceiptChannelVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/ResetReadReceiptEmailThread.generated.ts b/graphql/mutations/clientonly/ResetReadReceiptEmailThread.generated.ts
deleted file mode 100644
index 6276ffe197b620dc2f565e1a33044866c329af09..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/ResetReadReceiptEmailThread.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ResetReadReceiptEmailThreadVariables = _Types.Exact<{
-  emailThreadId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type ResetReadReceiptEmailThread = { resetReadReceiptEmailThread: { emailThreadId: string, readReceipt: string | null } | null };
-
-
-export const ResetReadReceiptEmailThreadDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"ResetReadReceiptEmailThread"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"emailThreadId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"resetReadReceiptEmailThread"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"emailThreadId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"emailThreadId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThreadId"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}}]}}]}}]} as unknown as DocumentNode;
-export type ResetReadReceiptEmailThreadMutationFn = Apollo.MutationFunction<ResetReadReceiptEmailThread, ResetReadReceiptEmailThreadVariables>;
-
-/**
- * __useResetReadReceiptEmailThread__
- *
- * To run a mutation, you first call `useResetReadReceiptEmailThread` within a React component and pass it any options that fit your needs.
- * When your component renders, `useResetReadReceiptEmailThread` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [resetReadReceiptEmailThread, { data, loading, error }] = useResetReadReceiptEmailThread({
- *   variables: {
- *      emailThreadId: // value for 'emailThreadId'
- *   },
- * });
- */
-export function useResetReadReceiptEmailThread(baseOptions?: Apollo.MutationHookOptions<ResetReadReceiptEmailThread, ResetReadReceiptEmailThreadVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<ResetReadReceiptEmailThread, ResetReadReceiptEmailThreadVariables>(ResetReadReceiptEmailThreadDocument, options);
-      }
-export type ResetReadReceiptEmailThreadHookResult = ReturnType<typeof useResetReadReceiptEmailThread>;
-export type ResetReadReceiptEmailThreadMutationResult = Apollo.MutationResult<ResetReadReceiptEmailThread>;
-export type ResetReadReceiptEmailThreadMutationOptions = Apollo.BaseMutationOptions<ResetReadReceiptEmailThread, ResetReadReceiptEmailThreadVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/WriteEmailDraft.generated.ts b/graphql/mutations/clientonly/WriteEmailDraft.generated.ts
deleted file mode 100644
index e1ba9ae9dce3ce465fd095215fb3aa922f9e3c28..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/WriteEmailDraft.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type WriteEmailDraftVariables = _Types.Exact<{
-  emailDraft: _Types.EmailDraftInput;
-}>;
-
-
-export type WriteEmailDraft = { writeEmailDraft: { teamId: string, instructor: boolean, emailThreadId: string | null, senderAddress: string | null, content: string | null, activateMilestone: string | null, deactivateMilestone: string | null, fileId: any | null, selectedContacts: Array<string | null> | null, subject: string | null, templateId: string | null } | null };
-
-
-export const WriteEmailDraftDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"WriteEmailDraft"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"emailDraft"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"EmailDraftInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"writeEmailDraft"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"emailDraft"},"value":{"kind":"Variable","name":{"kind":"Name","value":"emailDraft"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDraft"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDraft"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailDraftType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"instructor"}},{"kind":"Field","name":{"kind":"Name","value":"emailThreadId"}},{"kind":"Field","name":{"kind":"Name","value":"senderAddress"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"fileId"}},{"kind":"Field","name":{"kind":"Name","value":"selectedContacts"}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"templateId"}}]}}]} as unknown as DocumentNode;
-export type WriteEmailDraftMutationFn = Apollo.MutationFunction<WriteEmailDraft, WriteEmailDraftVariables>;
-
-/**
- * __useWriteEmailDraft__
- *
- * To run a mutation, you first call `useWriteEmailDraft` within a React component and pass it any options that fit your needs.
- * When your component renders, `useWriteEmailDraft` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [writeEmailDraft, { data, loading, error }] = useWriteEmailDraft({
- *   variables: {
- *      emailDraft: // value for 'emailDraft'
- *   },
- * });
- */
-export function useWriteEmailDraft(baseOptions?: Apollo.MutationHookOptions<WriteEmailDraft, WriteEmailDraftVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<WriteEmailDraft, WriteEmailDraftVariables>(WriteEmailDraftDocument, options);
-      }
-export type WriteEmailDraftHookResult = ReturnType<typeof useWriteEmailDraft>;
-export type WriteEmailDraftMutationResult = Apollo.MutationResult<WriteEmailDraft>;
-export type WriteEmailDraftMutationOptions = Apollo.BaseMutationOptions<WriteEmailDraft, WriteEmailDraftVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/WriteInjectSelectionConfirmation.generated.ts b/graphql/mutations/clientonly/WriteInjectSelectionConfirmation.generated.ts
deleted file mode 100644
index be3c1a43c5731b65192d6e24cec1a0d44e6381c6..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/WriteInjectSelectionConfirmation.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type WriteInjectSelectionConfirmationVariables = _Types.Exact<{
-  injectSelectionId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type WriteInjectSelectionConfirmation = { writeInjectSelectionConfirmation: { injectSelectionId: string, submitted: string | null } | null };
-
-
-export const WriteInjectSelectionConfirmationDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"WriteInjectSelectionConfirmation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"injectSelectionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"writeInjectSelectionConfirmation"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"injectSelectionId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"injectSelectionId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"injectSelectionId"}},{"kind":"Field","name":{"kind":"Name","value":"submitted"}}]}}]}}]} as unknown as DocumentNode;
-export type WriteInjectSelectionConfirmationMutationFn = Apollo.MutationFunction<WriteInjectSelectionConfirmation, WriteInjectSelectionConfirmationVariables>;
-
-/**
- * __useWriteInjectSelectionConfirmation__
- *
- * To run a mutation, you first call `useWriteInjectSelectionConfirmation` within a React component and pass it any options that fit your needs.
- * When your component renders, `useWriteInjectSelectionConfirmation` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [writeInjectSelectionConfirmation, { data, loading, error }] = useWriteInjectSelectionConfirmation({
- *   variables: {
- *      injectSelectionId: // value for 'injectSelectionId'
- *   },
- * });
- */
-export function useWriteInjectSelectionConfirmation(baseOptions?: Apollo.MutationHookOptions<WriteInjectSelectionConfirmation, WriteInjectSelectionConfirmationVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<WriteInjectSelectionConfirmation, WriteInjectSelectionConfirmationVariables>(WriteInjectSelectionConfirmationDocument, options);
-      }
-export type WriteInjectSelectionConfirmationHookResult = ReturnType<typeof useWriteInjectSelectionConfirmation>;
-export type WriteInjectSelectionConfirmationMutationResult = Apollo.MutationResult<WriteInjectSelectionConfirmation>;
-export type WriteInjectSelectionConfirmationMutationOptions = Apollo.BaseMutationOptions<WriteInjectSelectionConfirmation, WriteInjectSelectionConfirmationVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/WriteReadReceipt.generated.ts b/graphql/mutations/clientonly/WriteReadReceipt.generated.ts
deleted file mode 100644
index ae4baf3fa9f844994502c696d8f03c35f2e56749..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/WriteReadReceipt.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type WriteReadReceiptVariables = _Types.Exact<{
-  actionLogId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type WriteReadReceipt = { writeReadReceipt: { actionLogId: string, readReceipt: string | null } | null };
-
-
-export const WriteReadReceiptDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"WriteReadReceipt"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"actionLogId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"writeReadReceipt"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"actionLogId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"actionLogId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"actionLogId"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}}]}}]}}]} as unknown as DocumentNode;
-export type WriteReadReceiptMutationFn = Apollo.MutationFunction<WriteReadReceipt, WriteReadReceiptVariables>;
-
-/**
- * __useWriteReadReceipt__
- *
- * To run a mutation, you first call `useWriteReadReceipt` within a React component and pass it any options that fit your needs.
- * When your component renders, `useWriteReadReceipt` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [writeReadReceipt, { data, loading, error }] = useWriteReadReceipt({
- *   variables: {
- *      actionLogId: // value for 'actionLogId'
- *   },
- * });
- */
-export function useWriteReadReceipt(baseOptions?: Apollo.MutationHookOptions<WriteReadReceipt, WriteReadReceiptVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<WriteReadReceipt, WriteReadReceiptVariables>(WriteReadReceiptDocument, options);
-      }
-export type WriteReadReceiptHookResult = ReturnType<typeof useWriteReadReceipt>;
-export type WriteReadReceiptMutationResult = Apollo.MutationResult<WriteReadReceipt>;
-export type WriteReadReceiptMutationOptions = Apollo.BaseMutationOptions<WriteReadReceipt, WriteReadReceiptVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/WriteReadReceiptChannel.generated.ts b/graphql/mutations/clientonly/WriteReadReceiptChannel.generated.ts
deleted file mode 100644
index 06628fafefd65903b2f090a1aeb1862403909dac..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/WriteReadReceiptChannel.generated.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type WriteReadReceiptChannelVariables = _Types.Exact<{
-  channelId: _Types.Scalars['ID']['input'];
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type WriteReadReceiptChannel = { writeReadReceiptChannel: { channelId: string, readReceipt: string | null } | null };
-
-
-export const WriteReadReceiptChannelDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"writeReadReceiptChannel"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"channelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"writeReadReceiptChannel"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"channelId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"channelId"}}},{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"channelId"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}}]}}]}}]} as unknown as DocumentNode;
-export type WriteReadReceiptChannelMutationFn = Apollo.MutationFunction<WriteReadReceiptChannel, WriteReadReceiptChannelVariables>;
-
-/**
- * __useWriteReadReceiptChannel__
- *
- * To run a mutation, you first call `useWriteReadReceiptChannel` within a React component and pass it any options that fit your needs.
- * When your component renders, `useWriteReadReceiptChannel` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [writeReadReceiptChannel, { data, loading, error }] = useWriteReadReceiptChannel({
- *   variables: {
- *      channelId: // value for 'channelId'
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useWriteReadReceiptChannel(baseOptions?: Apollo.MutationHookOptions<WriteReadReceiptChannel, WriteReadReceiptChannelVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<WriteReadReceiptChannel, WriteReadReceiptChannelVariables>(WriteReadReceiptChannelDocument, options);
-      }
-export type WriteReadReceiptChannelHookResult = ReturnType<typeof useWriteReadReceiptChannel>;
-export type WriteReadReceiptChannelMutationResult = Apollo.MutationResult<WriteReadReceiptChannel>;
-export type WriteReadReceiptChannelMutationOptions = Apollo.BaseMutationOptions<WriteReadReceiptChannel, WriteReadReceiptChannelVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/WriteReadReceiptEmail.generated.ts b/graphql/mutations/clientonly/WriteReadReceiptEmail.generated.ts
deleted file mode 100644
index f7dcb45da28e2cc166cd310624df9bacf9399438..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/WriteReadReceiptEmail.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type WriteReadReceiptEmailVariables = _Types.Exact<{
-  emailId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type WriteReadReceiptEmail = { writeReadReceiptEmail: { emailId: string, readReceipt: string | null } | null };
-
-
-export const WriteReadReceiptEmailDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"WriteReadReceiptEmail"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"emailId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"writeReadReceiptEmail"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"emailId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"emailId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailId"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}}]}}]}}]} as unknown as DocumentNode;
-export type WriteReadReceiptEmailMutationFn = Apollo.MutationFunction<WriteReadReceiptEmail, WriteReadReceiptEmailVariables>;
-
-/**
- * __useWriteReadReceiptEmail__
- *
- * To run a mutation, you first call `useWriteReadReceiptEmail` within a React component and pass it any options that fit your needs.
- * When your component renders, `useWriteReadReceiptEmail` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [writeReadReceiptEmail, { data, loading, error }] = useWriteReadReceiptEmail({
- *   variables: {
- *      emailId: // value for 'emailId'
- *   },
- * });
- */
-export function useWriteReadReceiptEmail(baseOptions?: Apollo.MutationHookOptions<WriteReadReceiptEmail, WriteReadReceiptEmailVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<WriteReadReceiptEmail, WriteReadReceiptEmailVariables>(WriteReadReceiptEmailDocument, options);
-      }
-export type WriteReadReceiptEmailHookResult = ReturnType<typeof useWriteReadReceiptEmail>;
-export type WriteReadReceiptEmailMutationResult = Apollo.MutationResult<WriteReadReceiptEmail>;
-export type WriteReadReceiptEmailMutationOptions = Apollo.BaseMutationOptions<WriteReadReceiptEmail, WriteReadReceiptEmailVariables>;
\ No newline at end of file
diff --git a/graphql/mutations/clientonly/WriteReadReceiptEmailThread.generated.ts b/graphql/mutations/clientonly/WriteReadReceiptEmailThread.generated.ts
deleted file mode 100644
index 3d07012155f1420a584face9e2856b95685a134d..0000000000000000000000000000000000000000
--- a/graphql/mutations/clientonly/WriteReadReceiptEmailThread.generated.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type WriteReadReceiptEmailThreadVariables = _Types.Exact<{
-  emailThreadId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type WriteReadReceiptEmailThread = { writeReadReceiptEmailThread: { emailThreadId: string, readReceipt: string | null } | null };
-
-
-export const WriteReadReceiptEmailThreadDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"WriteReadReceiptEmailThread"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"emailThreadId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"writeReadReceiptEmailThread"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"emailThreadId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"emailThreadId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThreadId"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}}]}}]}}]} as unknown as DocumentNode;
-export type WriteReadReceiptEmailThreadMutationFn = Apollo.MutationFunction<WriteReadReceiptEmailThread, WriteReadReceiptEmailThreadVariables>;
-
-/**
- * __useWriteReadReceiptEmailThread__
- *
- * To run a mutation, you first call `useWriteReadReceiptEmailThread` within a React component and pass it any options that fit your needs.
- * When your component renders, `useWriteReadReceiptEmailThread` returns a tuple that includes:
- * - A mutate function that you can call at any time to execute the mutation
- * - An object with fields that represent the current status of the mutation's execution
- *
- * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
- *
- * @example
- * const [writeReadReceiptEmailThread, { data, loading, error }] = useWriteReadReceiptEmailThread({
- *   variables: {
- *      emailThreadId: // value for 'emailThreadId'
- *   },
- * });
- */
-export function useWriteReadReceiptEmailThread(baseOptions?: Apollo.MutationHookOptions<WriteReadReceiptEmailThread, WriteReadReceiptEmailThreadVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useMutation<WriteReadReceiptEmailThread, WriteReadReceiptEmailThreadVariables>(WriteReadReceiptEmailThreadDocument, options);
-      }
-export type WriteReadReceiptEmailThreadHookResult = ReturnType<typeof useWriteReadReceiptEmailThread>;
-export type WriteReadReceiptEmailThreadMutationResult = Apollo.MutationResult<WriteReadReceiptEmailThread>;
-export type WriteReadReceiptEmailThreadMutationOptions = Apollo.BaseMutationOptions<WriteReadReceiptEmailThread, WriteReadReceiptEmailThreadVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetAnalyticsActionLogs.generated.ts b/graphql/queries/GetAnalyticsActionLogs.generated.ts
deleted file mode 100644
index ae9448c69eaf9e713c0985b507f1fb21195261ab..0000000000000000000000000000000000000000
--- a/graphql/queries/GetAnalyticsActionLogs.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetAnalyticsActionLogsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetAnalyticsActionLogs = { analyticsActionLogs: Array<{ id: string, timestamp: string, type: _Types.LogType, readReceipt: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }, details: { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } | { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> } | { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } } | null> | null };
-
-
-export const GetAnalyticsActionLogsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAnalyticsActionLogs"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"analyticsActionLogs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ActionLog"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ActionLog"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionLogType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"channel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CustomInjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireDetails"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetAnalyticsActionLogs__
- *
- * To run a query within a React component, call `useGetAnalyticsActionLogs` and pass it any options that fit your needs.
- * When your component renders, `useGetAnalyticsActionLogs` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetAnalyticsActionLogs({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetAnalyticsActionLogs(baseOptions: Apollo.QueryHookOptions<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables> & ({ variables: GetAnalyticsActionLogsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables>(GetAnalyticsActionLogsDocument, options);
-      }
-export function useGetAnalyticsActionLogsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables>(GetAnalyticsActionLogsDocument, options);
-        }
-export function useGetAnalyticsActionLogsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables>(GetAnalyticsActionLogsDocument, options);
-        }
-export type GetAnalyticsActionLogsHookResult = ReturnType<typeof useGetAnalyticsActionLogs>;
-export type GetAnalyticsActionLogsLazyQueryHookResult = ReturnType<typeof useGetAnalyticsActionLogsLazyQuery>;
-export type GetAnalyticsActionLogsSuspenseQueryHookResult = ReturnType<typeof useGetAnalyticsActionLogsSuspenseQuery>;
-export type GetAnalyticsActionLogsQueryResult = Apollo.QueryResult<GetAnalyticsActionLogs, GetAnalyticsActionLogsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetAnalyticsEmailThreads.generated.ts b/graphql/queries/GetAnalyticsEmailThreads.generated.ts
deleted file mode 100644
index b06d53839d81861e5732a5d5e74d84b4412c309e..0000000000000000000000000000000000000000
--- a/graphql/queries/GetAnalyticsEmailThreads.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetAnalyticsEmailThreadsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetAnalyticsEmailThreads = { analyticsEmailThreads: Array<{ id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null } | null> | null };
-
-
-export const GetAnalyticsEmailThreadsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAnalyticsEmailThreads"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"analyticsEmailThreads"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetAnalyticsEmailThreads__
- *
- * To run a query within a React component, call `useGetAnalyticsEmailThreads` and pass it any options that fit your needs.
- * When your component renders, `useGetAnalyticsEmailThreads` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetAnalyticsEmailThreads({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetAnalyticsEmailThreads(baseOptions: Apollo.QueryHookOptions<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables> & ({ variables: GetAnalyticsEmailThreadsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables>(GetAnalyticsEmailThreadsDocument, options);
-      }
-export function useGetAnalyticsEmailThreadsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables>(GetAnalyticsEmailThreadsDocument, options);
-        }
-export function useGetAnalyticsEmailThreadsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables>(GetAnalyticsEmailThreadsDocument, options);
-        }
-export type GetAnalyticsEmailThreadsHookResult = ReturnType<typeof useGetAnalyticsEmailThreads>;
-export type GetAnalyticsEmailThreadsLazyQueryHookResult = ReturnType<typeof useGetAnalyticsEmailThreadsLazyQuery>;
-export type GetAnalyticsEmailThreadsSuspenseQueryHookResult = ReturnType<typeof useGetAnalyticsEmailThreadsSuspenseQuery>;
-export type GetAnalyticsEmailThreadsQueryResult = Apollo.QueryResult<GetAnalyticsEmailThreads, GetAnalyticsEmailThreadsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetAnalyticsMilestones.generated.ts b/graphql/queries/GetAnalyticsMilestones.generated.ts
deleted file mode 100644
index 1b611d031c8ee8457df9b97e2992b2fb7e2e7bcd..0000000000000000000000000000000000000000
--- a/graphql/queries/GetAnalyticsMilestones.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetAnalyticsMilestonesVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetAnalyticsMilestones = { analyticsMilestones: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } } | null> | null };
-
-
-export const GetAnalyticsMilestonesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAnalyticsMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"analyticsMilestones"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetAnalyticsMilestones__
- *
- * To run a query within a React component, call `useGetAnalyticsMilestones` and pass it any options that fit your needs.
- * When your component renders, `useGetAnalyticsMilestones` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetAnalyticsMilestones({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetAnalyticsMilestones(baseOptions: Apollo.QueryHookOptions<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables> & ({ variables: GetAnalyticsMilestonesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables>(GetAnalyticsMilestonesDocument, options);
-      }
-export function useGetAnalyticsMilestonesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables>(GetAnalyticsMilestonesDocument, options);
-        }
-export function useGetAnalyticsMilestonesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables>(GetAnalyticsMilestonesDocument, options);
-        }
-export type GetAnalyticsMilestonesHookResult = ReturnType<typeof useGetAnalyticsMilestones>;
-export type GetAnalyticsMilestonesLazyQueryHookResult = ReturnType<typeof useGetAnalyticsMilestonesLazyQuery>;
-export type GetAnalyticsMilestonesSuspenseQueryHookResult = ReturnType<typeof useGetAnalyticsMilestonesSuspenseQuery>;
-export type GetAnalyticsMilestonesQueryResult = Apollo.QueryResult<GetAnalyticsMilestones, GetAnalyticsMilestonesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetAutoInjects.generated.ts b/graphql/queries/GetAutoInjects.generated.ts
deleted file mode 100644
index f76a87019d5fa011b528a9bec0ae244dd19e34c5..0000000000000000000000000000000000000000
--- a/graphql/queries/GetAutoInjects.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetAutoInjectsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetAutoInjects = { autoInjects: Array<{ id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType } | null> | null };
-
-
-export const GetAutoInjectsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAutoInjects"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"autoInjects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetAutoInjects__
- *
- * To run a query within a React component, call `useGetAutoInjects` and pass it any options that fit your needs.
- * When your component renders, `useGetAutoInjects` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetAutoInjects({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetAutoInjects(baseOptions: Apollo.QueryHookOptions<GetAutoInjects, GetAutoInjectsVariables> & ({ variables: GetAutoInjectsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetAutoInjects, GetAutoInjectsVariables>(GetAutoInjectsDocument, options);
-      }
-export function useGetAutoInjectsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetAutoInjects, GetAutoInjectsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetAutoInjects, GetAutoInjectsVariables>(GetAutoInjectsDocument, options);
-        }
-export function useGetAutoInjectsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetAutoInjects, GetAutoInjectsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetAutoInjects, GetAutoInjectsVariables>(GetAutoInjectsDocument, options);
-        }
-export type GetAutoInjectsHookResult = ReturnType<typeof useGetAutoInjects>;
-export type GetAutoInjectsLazyQueryHookResult = ReturnType<typeof useGetAutoInjectsLazyQuery>;
-export type GetAutoInjectsSuspenseQueryHookResult = ReturnType<typeof useGetAutoInjectsSuspenseQuery>;
-export type GetAutoInjectsQueryResult = Apollo.QueryResult<GetAutoInjects, GetAutoInjectsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetChannel.generated.ts b/graphql/queries/GetChannel.generated.ts
deleted file mode 100644
index 9d1b7ad4f57f2f19ea11dd240d92ce8915a61e11..0000000000000000000000000000000000000000
--- a/graphql/queries/GetChannel.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetChannelVariables = _Types.Exact<{
-  channelId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetChannel = { channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> } | null };
-
-
-export const GetChannelDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetChannel"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"channelId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"channel"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"channelId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"channelId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetChannel__
- *
- * To run a query within a React component, call `useGetChannel` and pass it any options that fit your needs.
- * When your component renders, `useGetChannel` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetChannel({
- *   variables: {
- *      channelId: // value for 'channelId'
- *   },
- * });
- */
-export function useGetChannel(baseOptions: Apollo.QueryHookOptions<GetChannel, GetChannelVariables> & ({ variables: GetChannelVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetChannel, GetChannelVariables>(GetChannelDocument, options);
-      }
-export function useGetChannelLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetChannel, GetChannelVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetChannel, GetChannelVariables>(GetChannelDocument, options);
-        }
-export function useGetChannelSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetChannel, GetChannelVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetChannel, GetChannelVariables>(GetChannelDocument, options);
-        }
-export type GetChannelHookResult = ReturnType<typeof useGetChannel>;
-export type GetChannelLazyQueryHookResult = ReturnType<typeof useGetChannelLazyQuery>;
-export type GetChannelSuspenseQueryHookResult = ReturnType<typeof useGetChannelSuspenseQuery>;
-export type GetChannelQueryResult = Apollo.QueryResult<GetChannel, GetChannelVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetDefinition.generated.ts b/graphql/queries/GetDefinition.generated.ts
deleted file mode 100644
index 9e6034bc2bea302fca63d0779b44ef8ecf7ba452..0000000000000000000000000000000000000000
--- a/graphql/queries/GetDefinition.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetDefinitionVariables = _Types.Exact<{
-  definitionId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetDefinition = { definition: { id: string, name: string, version: string, channels: Array<{ id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }>, roles: Array<{ id: string, name: string }> } | null };
-
-
-export const GetDefinitionDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDefinition"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"definitionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"definition"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"definitionId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"definitionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Definition"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Definition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"channels"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Role"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionRoleType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetDefinition__
- *
- * To run a query within a React component, call `useGetDefinition` and pass it any options that fit your needs.
- * When your component renders, `useGetDefinition` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetDefinition({
- *   variables: {
- *      definitionId: // value for 'definitionId'
- *   },
- * });
- */
-export function useGetDefinition(baseOptions: Apollo.QueryHookOptions<GetDefinition, GetDefinitionVariables> & ({ variables: GetDefinitionVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetDefinition, GetDefinitionVariables>(GetDefinitionDocument, options);
-      }
-export function useGetDefinitionLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetDefinition, GetDefinitionVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetDefinition, GetDefinitionVariables>(GetDefinitionDocument, options);
-        }
-export function useGetDefinitionSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetDefinition, GetDefinitionVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetDefinition, GetDefinitionVariables>(GetDefinitionDocument, options);
-        }
-export type GetDefinitionHookResult = ReturnType<typeof useGetDefinition>;
-export type GetDefinitionLazyQueryHookResult = ReturnType<typeof useGetDefinitionLazyQuery>;
-export type GetDefinitionSuspenseQueryHookResult = ReturnType<typeof useGetDefinitionSuspenseQuery>;
-export type GetDefinitionQueryResult = Apollo.QueryResult<GetDefinition, GetDefinitionVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetDefinitions.generated.ts b/graphql/queries/GetDefinitions.generated.ts
deleted file mode 100644
index 6a82dd44fdc0574d0746bfd4376fe15f2293166b..0000000000000000000000000000000000000000
--- a/graphql/queries/GetDefinitions.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetDefinitionsVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type GetDefinitions = { definitions: Array<{ id: string, name: string, version: string, channels: Array<{ id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }>, roles: Array<{ id: string, name: string }> } | null> | null };
-
-
-export const GetDefinitionsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDefinitions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"definitions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Definition"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Definition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"channels"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Role"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionRoleType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetDefinitions__
- *
- * To run a query within a React component, call `useGetDefinitions` and pass it any options that fit your needs.
- * When your component renders, `useGetDefinitions` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetDefinitions({
- *   variables: {
- *   },
- * });
- */
-export function useGetDefinitions(baseOptions?: Apollo.QueryHookOptions<GetDefinitions, GetDefinitionsVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetDefinitions, GetDefinitionsVariables>(GetDefinitionsDocument, options);
-      }
-export function useGetDefinitionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetDefinitions, GetDefinitionsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetDefinitions, GetDefinitionsVariables>(GetDefinitionsDocument, options);
-        }
-export function useGetDefinitionsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetDefinitions, GetDefinitionsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetDefinitions, GetDefinitionsVariables>(GetDefinitionsDocument, options);
-        }
-export type GetDefinitionsHookResult = ReturnType<typeof useGetDefinitions>;
-export type GetDefinitionsLazyQueryHookResult = ReturnType<typeof useGetDefinitionsLazyQuery>;
-export type GetDefinitionsSuspenseQueryHookResult = ReturnType<typeof useGetDefinitionsSuspenseQuery>;
-export type GetDefinitionsQueryResult = Apollo.QueryResult<GetDefinitions, GetDefinitionsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetEmailAddresses.generated.ts b/graphql/queries/GetEmailAddresses.generated.ts
deleted file mode 100644
index bf30fce2c79b9874ab17134e373c1b144864541e..0000000000000000000000000000000000000000
--- a/graphql/queries/GetEmailAddresses.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetEmailAddressesVariables = _Types.Exact<{
-  threadId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetEmailAddresses = { emailAddresses: Array<string | null> | null };
-
-
-export const GetEmailAddressesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetEmailAddresses"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"threadId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailAddresses"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"threadId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"threadId"}}}]}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetEmailAddresses__
- *
- * To run a query within a React component, call `useGetEmailAddresses` and pass it any options that fit your needs.
- * When your component renders, `useGetEmailAddresses` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetEmailAddresses({
- *   variables: {
- *      threadId: // value for 'threadId'
- *   },
- * });
- */
-export function useGetEmailAddresses(baseOptions: Apollo.QueryHookOptions<GetEmailAddresses, GetEmailAddressesVariables> & ({ variables: GetEmailAddressesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetEmailAddresses, GetEmailAddressesVariables>(GetEmailAddressesDocument, options);
-      }
-export function useGetEmailAddressesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetEmailAddresses, GetEmailAddressesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetEmailAddresses, GetEmailAddressesVariables>(GetEmailAddressesDocument, options);
-        }
-export function useGetEmailAddressesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetEmailAddresses, GetEmailAddressesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetEmailAddresses, GetEmailAddressesVariables>(GetEmailAddressesDocument, options);
-        }
-export type GetEmailAddressesHookResult = ReturnType<typeof useGetEmailAddresses>;
-export type GetEmailAddressesLazyQueryHookResult = ReturnType<typeof useGetEmailAddressesLazyQuery>;
-export type GetEmailAddressesSuspenseQueryHookResult = ReturnType<typeof useGetEmailAddressesSuspenseQuery>;
-export type GetEmailAddressesQueryResult = Apollo.QueryResult<GetEmailAddresses, GetEmailAddressesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetEmailContacts.generated.ts b/graphql/queries/GetEmailContacts.generated.ts
deleted file mode 100644
index 3829c48739f0f643d204acaff8093ff198163934..0000000000000000000000000000000000000000
--- a/graphql/queries/GetEmailContacts.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetEmailContactsVariables = _Types.Exact<{
-  visibleOnly?: _Types.InputMaybe<_Types.Scalars['Boolean']['input']>;
-}>;
-
-
-export type GetEmailContacts = { emailContacts: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null> | null };
-
-
-export const GetEmailContactsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetEmailContacts"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"visibleOnly"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}},"defaultValue":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailContacts"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"visibleOnly"},"value":{"kind":"Variable","name":{"kind":"Name","value":"visibleOnly"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetEmailContacts__
- *
- * To run a query within a React component, call `useGetEmailContacts` and pass it any options that fit your needs.
- * When your component renders, `useGetEmailContacts` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetEmailContacts({
- *   variables: {
- *      visibleOnly: // value for 'visibleOnly'
- *   },
- * });
- */
-export function useGetEmailContacts(baseOptions?: Apollo.QueryHookOptions<GetEmailContacts, GetEmailContactsVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetEmailContacts, GetEmailContactsVariables>(GetEmailContactsDocument, options);
-      }
-export function useGetEmailContactsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetEmailContacts, GetEmailContactsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetEmailContacts, GetEmailContactsVariables>(GetEmailContactsDocument, options);
-        }
-export function useGetEmailContactsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetEmailContacts, GetEmailContactsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetEmailContacts, GetEmailContactsVariables>(GetEmailContactsDocument, options);
-        }
-export type GetEmailContactsHookResult = ReturnType<typeof useGetEmailContacts>;
-export type GetEmailContactsLazyQueryHookResult = ReturnType<typeof useGetEmailContactsLazyQuery>;
-export type GetEmailContactsSuspenseQueryHookResult = ReturnType<typeof useGetEmailContactsSuspenseQuery>;
-export type GetEmailContactsQueryResult = Apollo.QueryResult<GetEmailContacts, GetEmailContactsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetEmailTemplate.generated.ts b/graphql/queries/GetEmailTemplate.generated.ts
deleted file mode 100644
index cd99c4147d8f6a14a80efe1fc59cf0795349b2de..0000000000000000000000000000000000000000
--- a/graphql/queries/GetEmailTemplate.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetEmailTemplateVariables = _Types.Exact<{
-  templateId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetEmailTemplate = { threadTemplate: { id: string, sender: string | null, context: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null };
-
-
-export const GetEmailTemplateDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetEmailTemplate"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"templateId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"threadTemplate"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"templateId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"templateId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailTemplate"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailTemplate"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailTemplateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"context"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetEmailTemplate__
- *
- * To run a query within a React component, call `useGetEmailTemplate` and pass it any options that fit your needs.
- * When your component renders, `useGetEmailTemplate` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetEmailTemplate({
- *   variables: {
- *      templateId: // value for 'templateId'
- *   },
- * });
- */
-export function useGetEmailTemplate(baseOptions: Apollo.QueryHookOptions<GetEmailTemplate, GetEmailTemplateVariables> & ({ variables: GetEmailTemplateVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetEmailTemplate, GetEmailTemplateVariables>(GetEmailTemplateDocument, options);
-      }
-export function useGetEmailTemplateLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetEmailTemplate, GetEmailTemplateVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetEmailTemplate, GetEmailTemplateVariables>(GetEmailTemplateDocument, options);
-        }
-export function useGetEmailTemplateSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetEmailTemplate, GetEmailTemplateVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetEmailTemplate, GetEmailTemplateVariables>(GetEmailTemplateDocument, options);
-        }
-export type GetEmailTemplateHookResult = ReturnType<typeof useGetEmailTemplate>;
-export type GetEmailTemplateLazyQueryHookResult = ReturnType<typeof useGetEmailTemplateLazyQuery>;
-export type GetEmailTemplateSuspenseQueryHookResult = ReturnType<typeof useGetEmailTemplateSuspenseQuery>;
-export type GetEmailTemplateQueryResult = Apollo.QueryResult<GetEmailTemplate, GetEmailTemplateVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetEmailTemplates.generated.ts b/graphql/queries/GetEmailTemplates.generated.ts
deleted file mode 100644
index de9f3c2bd4231ee2163d5aecdad6d6959110e5f7..0000000000000000000000000000000000000000
--- a/graphql/queries/GetEmailTemplates.generated.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetEmailTemplatesVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-  emailAddresses: Array<_Types.InputMaybe<_Types.Scalars['String']['input']>> | _Types.InputMaybe<_Types.Scalars['String']['input']>;
-}>;
-
-
-export type GetEmailTemplates = { emailTemplates: Array<{ id: string, sender: string | null, context: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null> | null };
-
-
-export const GetEmailTemplatesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetEmailTemplates"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"emailAddresses"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailTemplates"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}},{"kind":"Argument","name":{"kind":"Name","value":"emailAddresses"},"value":{"kind":"Variable","name":{"kind":"Name","value":"emailAddresses"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailTemplate"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailTemplate"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailTemplateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"context"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetEmailTemplates__
- *
- * To run a query within a React component, call `useGetEmailTemplates` and pass it any options that fit your needs.
- * When your component renders, `useGetEmailTemplates` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetEmailTemplates({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *      emailAddresses: // value for 'emailAddresses'
- *   },
- * });
- */
-export function useGetEmailTemplates(baseOptions: Apollo.QueryHookOptions<GetEmailTemplates, GetEmailTemplatesVariables> & ({ variables: GetEmailTemplatesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetEmailTemplates, GetEmailTemplatesVariables>(GetEmailTemplatesDocument, options);
-      }
-export function useGetEmailTemplatesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetEmailTemplates, GetEmailTemplatesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetEmailTemplates, GetEmailTemplatesVariables>(GetEmailTemplatesDocument, options);
-        }
-export function useGetEmailTemplatesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetEmailTemplates, GetEmailTemplatesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetEmailTemplates, GetEmailTemplatesVariables>(GetEmailTemplatesDocument, options);
-        }
-export type GetEmailTemplatesHookResult = ReturnType<typeof useGetEmailTemplates>;
-export type GetEmailTemplatesLazyQueryHookResult = ReturnType<typeof useGetEmailTemplatesLazyQuery>;
-export type GetEmailTemplatesSuspenseQueryHookResult = ReturnType<typeof useGetEmailTemplatesSuspenseQuery>;
-export type GetEmailTemplatesQueryResult = Apollo.QueryResult<GetEmailTemplates, GetEmailTemplatesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetEmailThread.generated.ts b/graphql/queries/GetEmailThread.generated.ts
deleted file mode 100644
index 23bc4caa290920c77f74221c788ac8f84747db0f..0000000000000000000000000000000000000000
--- a/graphql/queries/GetEmailThread.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetEmailThreadVariables = _Types.Exact<{
-  threadId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetEmailThread = { emailThread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null } | null };
-
-
-export const GetEmailThreadDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetEmailThread"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"threadId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThread"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"threadId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"threadId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetEmailThread__
- *
- * To run a query within a React component, call `useGetEmailThread` and pass it any options that fit your needs.
- * When your component renders, `useGetEmailThread` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetEmailThread({
- *   variables: {
- *      threadId: // value for 'threadId'
- *   },
- * });
- */
-export function useGetEmailThread(baseOptions: Apollo.QueryHookOptions<GetEmailThread, GetEmailThreadVariables> & ({ variables: GetEmailThreadVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetEmailThread, GetEmailThreadVariables>(GetEmailThreadDocument, options);
-      }
-export function useGetEmailThreadLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetEmailThread, GetEmailThreadVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetEmailThread, GetEmailThreadVariables>(GetEmailThreadDocument, options);
-        }
-export function useGetEmailThreadSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetEmailThread, GetEmailThreadVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetEmailThread, GetEmailThreadVariables>(GetEmailThreadDocument, options);
-        }
-export type GetEmailThreadHookResult = ReturnType<typeof useGetEmailThread>;
-export type GetEmailThreadLazyQueryHookResult = ReturnType<typeof useGetEmailThreadLazyQuery>;
-export type GetEmailThreadSuspenseQueryHookResult = ReturnType<typeof useGetEmailThreadSuspenseQuery>;
-export type GetEmailThreadQueryResult = Apollo.QueryResult<GetEmailThread, GetEmailThreadVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetEmailThreads.generated.ts b/graphql/queries/GetEmailThreads.generated.ts
deleted file mode 100644
index fb9886c0f8b815c7d17d194728a38ff0ec8f613f..0000000000000000000000000000000000000000
--- a/graphql/queries/GetEmailThreads.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetEmailThreadsVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetEmailThreads = { emailThreads: Array<{ id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null } | null> | null };
-
-
-export const GetEmailThreadsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetEmailThreads"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThreads"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetEmailThreads__
- *
- * To run a query within a React component, call `useGetEmailThreads` and pass it any options that fit your needs.
- * When your component renders, `useGetEmailThreads` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetEmailThreads({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetEmailThreads(baseOptions: Apollo.QueryHookOptions<GetEmailThreads, GetEmailThreadsVariables> & ({ variables: GetEmailThreadsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetEmailThreads, GetEmailThreadsVariables>(GetEmailThreadsDocument, options);
-      }
-export function useGetEmailThreadsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetEmailThreads, GetEmailThreadsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetEmailThreads, GetEmailThreadsVariables>(GetEmailThreadsDocument, options);
-        }
-export function useGetEmailThreadsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetEmailThreads, GetEmailThreadsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetEmailThreads, GetEmailThreadsVariables>(GetEmailThreadsDocument, options);
-        }
-export type GetEmailThreadsHookResult = ReturnType<typeof useGetEmailThreads>;
-export type GetEmailThreadsLazyQueryHookResult = ReturnType<typeof useGetEmailThreadsLazyQuery>;
-export type GetEmailThreadsSuspenseQueryHookResult = ReturnType<typeof useGetEmailThreadsSuspenseQuery>;
-export type GetEmailThreadsQueryResult = Apollo.QueryResult<GetEmailThreads, GetEmailThreadsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExercise.generated.ts b/graphql/queries/GetExercise.generated.ts
deleted file mode 100644
index d37720ee01ae1d8118e64b29d2e3a09b6b015f42..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExercise.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExerciseVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetExercise = { exerciseId: { id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> } | null };
-
-
-export const GetExerciseDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExercise"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseId"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Exercise"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExercise__
- *
- * To run a query within a React component, call `useGetExercise` and pass it any options that fit your needs.
- * When your component renders, `useGetExercise` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExercise({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetExercise(baseOptions: Apollo.QueryHookOptions<GetExercise, GetExerciseVariables> & ({ variables: GetExerciseVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExercise, GetExerciseVariables>(GetExerciseDocument, options);
-      }
-export function useGetExerciseLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExercise, GetExerciseVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExercise, GetExerciseVariables>(GetExerciseDocument, options);
-        }
-export function useGetExerciseSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExercise, GetExerciseVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExercise, GetExerciseVariables>(GetExerciseDocument, options);
-        }
-export type GetExerciseHookResult = ReturnType<typeof useGetExercise>;
-export type GetExerciseLazyQueryHookResult = ReturnType<typeof useGetExerciseLazyQuery>;
-export type GetExerciseSuspenseQueryHookResult = ReturnType<typeof useGetExerciseSuspenseQuery>;
-export type GetExerciseQueryResult = Apollo.QueryResult<GetExercise, GetExerciseVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExerciseChannels.generated.ts b/graphql/queries/GetExerciseChannels.generated.ts
deleted file mode 100644
index ae4113a4487c97a70029c571d9be73e4c6a45e5d..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExerciseChannels.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExerciseChannelsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetExerciseChannels = { exerciseChannels: Array<{ id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> } | null> | null };
-
-
-export const GetExerciseChannelsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExerciseChannels"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseChannels"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExerciseChannels__
- *
- * To run a query within a React component, call `useGetExerciseChannels` and pass it any options that fit your needs.
- * When your component renders, `useGetExerciseChannels` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExerciseChannels({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetExerciseChannels(baseOptions: Apollo.QueryHookOptions<GetExerciseChannels, GetExerciseChannelsVariables> & ({ variables: GetExerciseChannelsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExerciseChannels, GetExerciseChannelsVariables>(GetExerciseChannelsDocument, options);
-      }
-export function useGetExerciseChannelsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExerciseChannels, GetExerciseChannelsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExerciseChannels, GetExerciseChannelsVariables>(GetExerciseChannelsDocument, options);
-        }
-export function useGetExerciseChannelsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExerciseChannels, GetExerciseChannelsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExerciseChannels, GetExerciseChannelsVariables>(GetExerciseChannelsDocument, options);
-        }
-export type GetExerciseChannelsHookResult = ReturnType<typeof useGetExerciseChannels>;
-export type GetExerciseChannelsLazyQueryHookResult = ReturnType<typeof useGetExerciseChannelsLazyQuery>;
-export type GetExerciseChannelsSuspenseQueryHookResult = ReturnType<typeof useGetExerciseChannelsSuspenseQuery>;
-export type GetExerciseChannelsQueryResult = Apollo.QueryResult<GetExerciseChannels, GetExerciseChannelsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExerciseConfig.generated.ts b/graphql/queries/GetExerciseConfig.generated.ts
deleted file mode 100644
index c2dfa57af795f2d317ce0fc8477da1b5c887c89b..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExerciseConfig.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExerciseConfigVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetExerciseConfig = { exerciseConfig: { exerciseDuration: number | null, emailBetweenTeams: boolean | null, showExerciseTime: boolean | null, enableRoles: boolean | null, customEmailSuffix: string | null } | null };
-
-
-export const GetExerciseConfigDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExerciseConfig"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseConfig"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseConfig"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseConfig"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GrapheneConfig"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseDuration"}},{"kind":"Field","name":{"kind":"Name","value":"emailBetweenTeams"}},{"kind":"Field","name":{"kind":"Name","value":"showExerciseTime"}},{"kind":"Field","name":{"kind":"Name","value":"enableRoles"}},{"kind":"Field","name":{"kind":"Name","value":"customEmailSuffix"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExerciseConfig__
- *
- * To run a query within a React component, call `useGetExerciseConfig` and pass it any options that fit your needs.
- * When your component renders, `useGetExerciseConfig` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExerciseConfig({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetExerciseConfig(baseOptions: Apollo.QueryHookOptions<GetExerciseConfig, GetExerciseConfigVariables> & ({ variables: GetExerciseConfigVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExerciseConfig, GetExerciseConfigVariables>(GetExerciseConfigDocument, options);
-      }
-export function useGetExerciseConfigLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExerciseConfig, GetExerciseConfigVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExerciseConfig, GetExerciseConfigVariables>(GetExerciseConfigDocument, options);
-        }
-export function useGetExerciseConfigSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExerciseConfig, GetExerciseConfigVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExerciseConfig, GetExerciseConfigVariables>(GetExerciseConfigDocument, options);
-        }
-export type GetExerciseConfigHookResult = ReturnType<typeof useGetExerciseConfig>;
-export type GetExerciseConfigLazyQueryHookResult = ReturnType<typeof useGetExerciseConfigLazyQuery>;
-export type GetExerciseConfigSuspenseQueryHookResult = ReturnType<typeof useGetExerciseConfigSuspenseQuery>;
-export type GetExerciseConfigQueryResult = Apollo.QueryResult<GetExerciseConfig, GetExerciseConfigVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExerciseLoopStatus.generated.ts b/graphql/queries/GetExerciseLoopStatus.generated.ts
deleted file mode 100644
index 072d85b087562055437fe82f3756e49b2930bd07..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExerciseLoopStatus.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExerciseLoopStatusVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetExerciseLoopStatus = { exerciseLoopRunning: boolean | null };
-
-
-export const GetExerciseLoopStatusDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExerciseLoopStatus"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseLoopRunning"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}]}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExerciseLoopStatus__
- *
- * To run a query within a React component, call `useGetExerciseLoopStatus` and pass it any options that fit your needs.
- * When your component renders, `useGetExerciseLoopStatus` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExerciseLoopStatus({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetExerciseLoopStatus(baseOptions: Apollo.QueryHookOptions<GetExerciseLoopStatus, GetExerciseLoopStatusVariables> & ({ variables: GetExerciseLoopStatusVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExerciseLoopStatus, GetExerciseLoopStatusVariables>(GetExerciseLoopStatusDocument, options);
-      }
-export function useGetExerciseLoopStatusLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExerciseLoopStatus, GetExerciseLoopStatusVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExerciseLoopStatus, GetExerciseLoopStatusVariables>(GetExerciseLoopStatusDocument, options);
-        }
-export function useGetExerciseLoopStatusSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExerciseLoopStatus, GetExerciseLoopStatusVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExerciseLoopStatus, GetExerciseLoopStatusVariables>(GetExerciseLoopStatusDocument, options);
-        }
-export type GetExerciseLoopStatusHookResult = ReturnType<typeof useGetExerciseLoopStatus>;
-export type GetExerciseLoopStatusLazyQueryHookResult = ReturnType<typeof useGetExerciseLoopStatusLazyQuery>;
-export type GetExerciseLoopStatusSuspenseQueryHookResult = ReturnType<typeof useGetExerciseLoopStatusSuspenseQuery>;
-export type GetExerciseLoopStatusQueryResult = Apollo.QueryResult<GetExerciseLoopStatus, GetExerciseLoopStatusVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExerciseTimeLeft.generated.ts b/graphql/queries/GetExerciseTimeLeft.generated.ts
deleted file mode 100644
index f677e9ebd368c8f7c19d7b3c32c61a8e32dafaa6..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExerciseTimeLeft.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExerciseTimeLeftVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type GetExerciseTimeLeft = { exerciseTimeLeft: number | null };
-
-
-export const GetExerciseTimeLeftDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExerciseTimeLeft"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseTimeLeft"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExerciseTimeLeft__
- *
- * To run a query within a React component, call `useGetExerciseTimeLeft` and pass it any options that fit your needs.
- * When your component renders, `useGetExerciseTimeLeft` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExerciseTimeLeft({
- *   variables: {
- *   },
- * });
- */
-export function useGetExerciseTimeLeft(baseOptions?: Apollo.QueryHookOptions<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>(GetExerciseTimeLeftDocument, options);
-      }
-export function useGetExerciseTimeLeftLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>(GetExerciseTimeLeftDocument, options);
-        }
-export function useGetExerciseTimeLeftSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>(GetExerciseTimeLeftDocument, options);
-        }
-export type GetExerciseTimeLeftHookResult = ReturnType<typeof useGetExerciseTimeLeft>;
-export type GetExerciseTimeLeftLazyQueryHookResult = ReturnType<typeof useGetExerciseTimeLeftLazyQuery>;
-export type GetExerciseTimeLeftSuspenseQueryHookResult = ReturnType<typeof useGetExerciseTimeLeftSuspenseQuery>;
-export type GetExerciseTimeLeftQueryResult = Apollo.QueryResult<GetExerciseTimeLeft, GetExerciseTimeLeftVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExerciseWithConfig.generated.ts b/graphql/queries/GetExerciseWithConfig.generated.ts
deleted file mode 100644
index 32299de68bd4e84d4a71d607af92bb176929083b..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExerciseWithConfig.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExerciseWithConfigVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetExerciseWithConfig = { exerciseId: { id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> } | null, exerciseConfig: { exerciseDuration: number | null, emailBetweenTeams: boolean | null, showExerciseTime: boolean | null, enableRoles: boolean | null, customEmailSuffix: string | null } | null };
-
-
-export const GetExerciseWithConfigDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExerciseWithConfig"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseId"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Exercise"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exerciseConfig"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseConfig"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseConfig"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GrapheneConfig"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseDuration"}},{"kind":"Field","name":{"kind":"Name","value":"emailBetweenTeams"}},{"kind":"Field","name":{"kind":"Name","value":"showExerciseTime"}},{"kind":"Field","name":{"kind":"Name","value":"enableRoles"}},{"kind":"Field","name":{"kind":"Name","value":"customEmailSuffix"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExerciseWithConfig__
- *
- * To run a query within a React component, call `useGetExerciseWithConfig` and pass it any options that fit your needs.
- * When your component renders, `useGetExerciseWithConfig` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExerciseWithConfig({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetExerciseWithConfig(baseOptions: Apollo.QueryHookOptions<GetExerciseWithConfig, GetExerciseWithConfigVariables> & ({ variables: GetExerciseWithConfigVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExerciseWithConfig, GetExerciseWithConfigVariables>(GetExerciseWithConfigDocument, options);
-      }
-export function useGetExerciseWithConfigLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExerciseWithConfig, GetExerciseWithConfigVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExerciseWithConfig, GetExerciseWithConfigVariables>(GetExerciseWithConfigDocument, options);
-        }
-export function useGetExerciseWithConfigSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExerciseWithConfig, GetExerciseWithConfigVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExerciseWithConfig, GetExerciseWithConfigVariables>(GetExerciseWithConfigDocument, options);
-        }
-export type GetExerciseWithConfigHookResult = ReturnType<typeof useGetExerciseWithConfig>;
-export type GetExerciseWithConfigLazyQueryHookResult = ReturnType<typeof useGetExerciseWithConfigLazyQuery>;
-export type GetExerciseWithConfigSuspenseQueryHookResult = ReturnType<typeof useGetExerciseWithConfigSuspenseQuery>;
-export type GetExerciseWithConfigQueryResult = Apollo.QueryResult<GetExerciseWithConfig, GetExerciseWithConfigVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExercises.generated.ts b/graphql/queries/GetExercises.generated.ts
deleted file mode 100644
index b830fe9a2ae137b9865e477b6dc7d326cb2682ab..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExercises.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExercisesVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type GetExercises = { exercises: Array<{ id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> } | null> | null };
-
-
-export const GetExercisesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Exercise"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExercises__
- *
- * To run a query within a React component, call `useGetExercises` and pass it any options that fit your needs.
- * When your component renders, `useGetExercises` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExercises({
- *   variables: {
- *   },
- * });
- */
-export function useGetExercises(baseOptions?: Apollo.QueryHookOptions<GetExercises, GetExercisesVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExercises, GetExercisesVariables>(GetExercisesDocument, options);
-      }
-export function useGetExercisesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExercises, GetExercisesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExercises, GetExercisesVariables>(GetExercisesDocument, options);
-        }
-export function useGetExercisesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExercises, GetExercisesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExercises, GetExercisesVariables>(GetExercisesDocument, options);
-        }
-export type GetExercisesHookResult = ReturnType<typeof useGetExercises>;
-export type GetExercisesLazyQueryHookResult = ReturnType<typeof useGetExercisesLazyQuery>;
-export type GetExercisesSuspenseQueryHookResult = ReturnType<typeof useGetExercisesSuspenseQuery>;
-export type GetExercisesQueryResult = Apollo.QueryResult<GetExercises, GetExercisesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetExtendedTeamTools.generated.ts b/graphql/queries/GetExtendedTeamTools.generated.ts
deleted file mode 100644
index 078db1e0da88538b6bd65738891decd2d4dbf167..0000000000000000000000000000000000000000
--- a/graphql/queries/GetExtendedTeamTools.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetExtendedTeamToolsVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetExtendedTeamTools = { extendedTeamTools: Array<{ id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> } | null> | null };
-
-
-export const GetExtendedTeamToolsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetExtendedTeamTools"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"extendedTeamTools"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetExtendedTeamTools__
- *
- * To run a query within a React component, call `useGetExtendedTeamTools` and pass it any options that fit your needs.
- * When your component renders, `useGetExtendedTeamTools` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetExtendedTeamTools({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetExtendedTeamTools(baseOptions: Apollo.QueryHookOptions<GetExtendedTeamTools, GetExtendedTeamToolsVariables> & ({ variables: GetExtendedTeamToolsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetExtendedTeamTools, GetExtendedTeamToolsVariables>(GetExtendedTeamToolsDocument, options);
-      }
-export function useGetExtendedTeamToolsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetExtendedTeamTools, GetExtendedTeamToolsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetExtendedTeamTools, GetExtendedTeamToolsVariables>(GetExtendedTeamToolsDocument, options);
-        }
-export function useGetExtendedTeamToolsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetExtendedTeamTools, GetExtendedTeamToolsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetExtendedTeamTools, GetExtendedTeamToolsVariables>(GetExtendedTeamToolsDocument, options);
-        }
-export type GetExtendedTeamToolsHookResult = ReturnType<typeof useGetExtendedTeamTools>;
-export type GetExtendedTeamToolsLazyQueryHookResult = ReturnType<typeof useGetExtendedTeamToolsLazyQuery>;
-export type GetExtendedTeamToolsSuspenseQueryHookResult = ReturnType<typeof useGetExtendedTeamToolsSuspenseQuery>;
-export type GetExtendedTeamToolsQueryResult = Apollo.QueryResult<GetExtendedTeamTools, GetExtendedTeamToolsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetFileInfo.generated.ts b/graphql/queries/GetFileInfo.generated.ts
deleted file mode 100644
index 74e8f6855573fc132aaf66e97e17ef74d35dc71d..0000000000000000000000000000000000000000
--- a/graphql/queries/GetFileInfo.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetFileInfoVariables = _Types.Exact<{
-  fileInfoId: _Types.Scalars['UUID']['input'];
-}>;
-
-
-export type GetFileInfo = { fileInfo: { id: any, fileName: string } | null };
-
-
-export const GetFileInfoDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetFileInfo"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"fileInfoId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"fileInfoId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"fileInfoId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetFileInfo__
- *
- * To run a query within a React component, call `useGetFileInfo` and pass it any options that fit your needs.
- * When your component renders, `useGetFileInfo` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetFileInfo({
- *   variables: {
- *      fileInfoId: // value for 'fileInfoId'
- *   },
- * });
- */
-export function useGetFileInfo(baseOptions: Apollo.QueryHookOptions<GetFileInfo, GetFileInfoVariables> & ({ variables: GetFileInfoVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetFileInfo, GetFileInfoVariables>(GetFileInfoDocument, options);
-      }
-export function useGetFileInfoLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetFileInfo, GetFileInfoVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetFileInfo, GetFileInfoVariables>(GetFileInfoDocument, options);
-        }
-export function useGetFileInfoSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetFileInfo, GetFileInfoVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetFileInfo, GetFileInfoVariables>(GetFileInfoDocument, options);
-        }
-export type GetFileInfoHookResult = ReturnType<typeof useGetFileInfo>;
-export type GetFileInfoLazyQueryHookResult = ReturnType<typeof useGetFileInfoLazyQuery>;
-export type GetFileInfoSuspenseQueryHookResult = ReturnType<typeof useGetFileInfoSuspenseQuery>;
-export type GetFileInfoQueryResult = Apollo.QueryResult<GetFileInfo, GetFileInfoVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetMilestones.generated.ts b/graphql/queries/GetMilestones.generated.ts
deleted file mode 100644
index c7f33caf2fd5da17a89cdd62e64a0a7942247474..0000000000000000000000000000000000000000
--- a/graphql/queries/GetMilestones.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetMilestonesVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetMilestones = { milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } | null> | null };
-
-
-export const GetMilestonesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"milestones"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetMilestones__
- *
- * To run a query within a React component, call `useGetMilestones` and pass it any options that fit your needs.
- * When your component renders, `useGetMilestones` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetMilestones({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetMilestones(baseOptions: Apollo.QueryHookOptions<GetMilestones, GetMilestonesVariables> & ({ variables: GetMilestonesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetMilestones, GetMilestonesVariables>(GetMilestonesDocument, options);
-      }
-export function useGetMilestonesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetMilestones, GetMilestonesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetMilestones, GetMilestonesVariables>(GetMilestonesDocument, options);
-        }
-export function useGetMilestonesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetMilestones, GetMilestonesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetMilestones, GetMilestonesVariables>(GetMilestonesDocument, options);
-        }
-export type GetMilestonesHookResult = ReturnType<typeof useGetMilestones>;
-export type GetMilestonesLazyQueryHookResult = ReturnType<typeof useGetMilestonesLazyQuery>;
-export type GetMilestonesSuspenseQueryHookResult = ReturnType<typeof useGetMilestonesSuspenseQuery>;
-export type GetMilestonesQueryResult = Apollo.QueryResult<GetMilestones, GetMilestonesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetRunningExercises.generated.ts b/graphql/queries/GetRunningExercises.generated.ts
deleted file mode 100644
index bc7be60d3daa01a30f1de2f3352a587182e90023..0000000000000000000000000000000000000000
--- a/graphql/queries/GetRunningExercises.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetRunningExercisesVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type GetRunningExercises = { exercises: Array<{ id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> } | null> | null };
-
-
-export const GetRunningExercisesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRunningExercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercises"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"running"},"value":{"kind":"BooleanValue","value":true}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Exercise"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetRunningExercises__
- *
- * To run a query within a React component, call `useGetRunningExercises` and pass it any options that fit your needs.
- * When your component renders, `useGetRunningExercises` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetRunningExercises({
- *   variables: {
- *   },
- * });
- */
-export function useGetRunningExercises(baseOptions?: Apollo.QueryHookOptions<GetRunningExercises, GetRunningExercisesVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetRunningExercises, GetRunningExercisesVariables>(GetRunningExercisesDocument, options);
-      }
-export function useGetRunningExercisesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetRunningExercises, GetRunningExercisesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetRunningExercises, GetRunningExercisesVariables>(GetRunningExercisesDocument, options);
-        }
-export function useGetRunningExercisesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetRunningExercises, GetRunningExercisesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetRunningExercises, GetRunningExercisesVariables>(GetRunningExercisesDocument, options);
-        }
-export type GetRunningExercisesHookResult = ReturnType<typeof useGetRunningExercises>;
-export type GetRunningExercisesLazyQueryHookResult = ReturnType<typeof useGetRunningExercisesLazyQuery>;
-export type GetRunningExercisesSuspenseQueryHookResult = ReturnType<typeof useGetRunningExercisesSuspenseQuery>;
-export type GetRunningExercisesQueryResult = Apollo.QueryResult<GetRunningExercises, GetRunningExercisesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetSingleActionLog.generated.ts b/graphql/queries/GetSingleActionLog.generated.ts
deleted file mode 100644
index 3b3dd5cfa7d72a4ca74a42c1ff46ad49dde43a4c..0000000000000000000000000000000000000000
--- a/graphql/queries/GetSingleActionLog.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetSingleActionLogVariables = _Types.Exact<{
-  logId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetSingleActionLog = { actionLog: { id: string, timestamp: string, type: _Types.LogType, readReceipt: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }, details: { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } | { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> } | { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } } | null };
-
-
-export const GetSingleActionLogDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSingleActionLog"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"logId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"actionLog"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"logId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"logId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ActionLog"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ActionLog"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionLogType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"channel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CustomInjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireDetails"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetSingleActionLog__
- *
- * To run a query within a React component, call `useGetSingleActionLog` and pass it any options that fit your needs.
- * When your component renders, `useGetSingleActionLog` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetSingleActionLog({
- *   variables: {
- *      logId: // value for 'logId'
- *   },
- * });
- */
-export function useGetSingleActionLog(baseOptions: Apollo.QueryHookOptions<GetSingleActionLog, GetSingleActionLogVariables> & ({ variables: GetSingleActionLogVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetSingleActionLog, GetSingleActionLogVariables>(GetSingleActionLogDocument, options);
-      }
-export function useGetSingleActionLogLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetSingleActionLog, GetSingleActionLogVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetSingleActionLog, GetSingleActionLogVariables>(GetSingleActionLogDocument, options);
-        }
-export function useGetSingleActionLogSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetSingleActionLog, GetSingleActionLogVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetSingleActionLog, GetSingleActionLogVariables>(GetSingleActionLogDocument, options);
-        }
-export type GetSingleActionLogHookResult = ReturnType<typeof useGetSingleActionLog>;
-export type GetSingleActionLogLazyQueryHookResult = ReturnType<typeof useGetSingleActionLogLazyQuery>;
-export type GetSingleActionLogSuspenseQueryHookResult = ReturnType<typeof useGetSingleActionLogSuspenseQuery>;
-export type GetSingleActionLogQueryResult = Apollo.QueryResult<GetSingleActionLog, GetSingleActionLogVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeam.generated.ts b/graphql/queries/GetTeam.generated.ts
deleted file mode 100644
index 179f572eea511143bec8efd958783101244c4600..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeam.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeam = { team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } } | null };
-
-
-export const GetTeamDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeam"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"team"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeam__
- *
- * To run a query within a React component, call `useGetTeam` and pass it any options that fit your needs.
- * When your component renders, `useGetTeam` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeam({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetTeam(baseOptions: Apollo.QueryHookOptions<GetTeam, GetTeamVariables> & ({ variables: GetTeamVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeam, GetTeamVariables>(GetTeamDocument, options);
-      }
-export function useGetTeamLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeam, GetTeamVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeam, GetTeamVariables>(GetTeamDocument, options);
-        }
-export function useGetTeamSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeam, GetTeamVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeam, GetTeamVariables>(GetTeamDocument, options);
-        }
-export type GetTeamHookResult = ReturnType<typeof useGetTeam>;
-export type GetTeamLazyQueryHookResult = ReturnType<typeof useGetTeamLazyQuery>;
-export type GetTeamSuspenseQueryHookResult = ReturnType<typeof useGetTeamSuspenseQuery>;
-export type GetTeamQueryResult = Apollo.QueryResult<GetTeam, GetTeamVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeamActionLogs.generated.ts b/graphql/queries/GetTeamActionLogs.generated.ts
deleted file mode 100644
index c10b5311e3eea279185ceb22ca64f6b957d72858..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeamActionLogs.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamActionLogsVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeamActionLogs = { actionLogs: Array<{ id: string, timestamp: string, type: _Types.LogType, readReceipt: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }, details: { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } | { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> } | { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } } | null> | null };
-
-
-export const GetTeamActionLogsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamActionLogs"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"actionLogs"},"name":{"kind":"Name","value":"teamActionLogs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ActionLog"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ActionLog"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionLogType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"channel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CustomInjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireDetails"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeamActionLogs__
- *
- * To run a query within a React component, call `useGetTeamActionLogs` and pass it any options that fit your needs.
- * When your component renders, `useGetTeamActionLogs` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeamActionLogs({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetTeamActionLogs(baseOptions: Apollo.QueryHookOptions<GetTeamActionLogs, GetTeamActionLogsVariables> & ({ variables: GetTeamActionLogsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeamActionLogs, GetTeamActionLogsVariables>(GetTeamActionLogsDocument, options);
-      }
-export function useGetTeamActionLogsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeamActionLogs, GetTeamActionLogsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeamActionLogs, GetTeamActionLogsVariables>(GetTeamActionLogsDocument, options);
-        }
-export function useGetTeamActionLogsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeamActionLogs, GetTeamActionLogsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeamActionLogs, GetTeamActionLogsVariables>(GetTeamActionLogsDocument, options);
-        }
-export type GetTeamActionLogsHookResult = ReturnType<typeof useGetTeamActionLogs>;
-export type GetTeamActionLogsLazyQueryHookResult = ReturnType<typeof useGetTeamActionLogsLazyQuery>;
-export type GetTeamActionLogsSuspenseQueryHookResult = ReturnType<typeof useGetTeamActionLogsSuspenseQuery>;
-export type GetTeamActionLogsQueryResult = Apollo.QueryResult<GetTeamActionLogs, GetTeamActionLogsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeamEmailParticipant.generated.ts b/graphql/queries/GetTeamEmailParticipant.generated.ts
deleted file mode 100644
index 031a54636b51b01d9414b4e5499c3fc89af5f183..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeamEmailParticipant.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamEmailParticipantVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeamEmailParticipant = { teamEmailParticipant: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null };
-
-
-export const GetTeamEmailParticipantDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamEmailParticipant"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamEmailParticipant"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeamEmailParticipant__
- *
- * To run a query within a React component, call `useGetTeamEmailParticipant` and pass it any options that fit your needs.
- * When your component renders, `useGetTeamEmailParticipant` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeamEmailParticipant({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetTeamEmailParticipant(baseOptions: Apollo.QueryHookOptions<GetTeamEmailParticipant, GetTeamEmailParticipantVariables> & ({ variables: GetTeamEmailParticipantVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeamEmailParticipant, GetTeamEmailParticipantVariables>(GetTeamEmailParticipantDocument, options);
-      }
-export function useGetTeamEmailParticipantLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeamEmailParticipant, GetTeamEmailParticipantVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeamEmailParticipant, GetTeamEmailParticipantVariables>(GetTeamEmailParticipantDocument, options);
-        }
-export function useGetTeamEmailParticipantSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeamEmailParticipant, GetTeamEmailParticipantVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeamEmailParticipant, GetTeamEmailParticipantVariables>(GetTeamEmailParticipantDocument, options);
-        }
-export type GetTeamEmailParticipantHookResult = ReturnType<typeof useGetTeamEmailParticipant>;
-export type GetTeamEmailParticipantLazyQueryHookResult = ReturnType<typeof useGetTeamEmailParticipantLazyQuery>;
-export type GetTeamEmailParticipantSuspenseQueryHookResult = ReturnType<typeof useGetTeamEmailParticipantSuspenseQuery>;
-export type GetTeamEmailParticipantQueryResult = Apollo.QueryResult<GetTeamEmailParticipant, GetTeamEmailParticipantVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeamInjectSelections.generated.ts b/graphql/queries/GetTeamInjectSelections.generated.ts
deleted file mode 100644
index 39d22c6c62a9128203606d5889e8928ae90a17e0..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeamInjectSelections.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamInjectSelectionsVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeamInjectSelections = { teamInjectSelections: Array<{ id: string, name: string, timestamp: string | null, submitted: string | null, team: { id: string }, options: Array<{ id: string, sender: string, name: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } }> } | null> | null };
-
-
-export const GetTeamInjectSelectionsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamInjectSelections"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamInjectSelections"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectSelection"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectSelection"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectSelectionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"options"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectOption"}}]}},{"kind":"Field","name":{"kind":"Name","value":"submitted"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectOption"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectOptionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeamInjectSelections__
- *
- * To run a query within a React component, call `useGetTeamInjectSelections` and pass it any options that fit your needs.
- * When your component renders, `useGetTeamInjectSelections` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeamInjectSelections({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetTeamInjectSelections(baseOptions: Apollo.QueryHookOptions<GetTeamInjectSelections, GetTeamInjectSelectionsVariables> & ({ variables: GetTeamInjectSelectionsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeamInjectSelections, GetTeamInjectSelectionsVariables>(GetTeamInjectSelectionsDocument, options);
-      }
-export function useGetTeamInjectSelectionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeamInjectSelections, GetTeamInjectSelectionsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeamInjectSelections, GetTeamInjectSelectionsVariables>(GetTeamInjectSelectionsDocument, options);
-        }
-export function useGetTeamInjectSelectionsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeamInjectSelections, GetTeamInjectSelectionsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeamInjectSelections, GetTeamInjectSelectionsVariables>(GetTeamInjectSelectionsDocument, options);
-        }
-export type GetTeamInjectSelectionsHookResult = ReturnType<typeof useGetTeamInjectSelections>;
-export type GetTeamInjectSelectionsLazyQueryHookResult = ReturnType<typeof useGetTeamInjectSelectionsLazyQuery>;
-export type GetTeamInjectSelectionsSuspenseQueryHookResult = ReturnType<typeof useGetTeamInjectSelectionsSuspenseQuery>;
-export type GetTeamInjectSelectionsQueryResult = Apollo.QueryResult<GetTeamInjectSelections, GetTeamInjectSelectionsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeamLearningObjectives.generated.ts b/graphql/queries/GetTeamLearningObjectives.generated.ts
deleted file mode 100644
index 37bd95ba888253c6630afee04dedd7e6fbb572dd..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeamLearningObjectives.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamLearningObjectivesVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeamLearningObjectives = { teamLearningObjectives: Array<{ id: string, reached: boolean | null, objective: { id: string, name: string, tags: string, activities: Array<{ id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> }> }, activities: Array<{ id: string, reached: boolean | null, activity: { id: string, name: string, tags: string, milestones: Array<{ id: string, name: string, teamVisible: boolean, roles: string, fileNames: string }> }, milestoneStates: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } }> }> } | null> | null };
-
-
-export const GetTeamLearningObjectivesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamLearningObjectives"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamLearningObjectives"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamLearningObjective"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamLearningObjective"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamLearningObjectiveType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"objective"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningObjective"}}]}},{"kind":"Field","name":{"kind":"Name","value":"activities"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamLearningActivity"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningObjective"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningObjectiveType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"activities"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningActivity"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tags"}},{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamLearningActivity"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamLearningActivityType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"activity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LearningActivity"}}]}},{"kind":"Field","name":{"kind":"Name","value":"milestoneStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeamLearningObjectives__
- *
- * To run a query within a React component, call `useGetTeamLearningObjectives` and pass it any options that fit your needs.
- * When your component renders, `useGetTeamLearningObjectives` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeamLearningObjectives({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetTeamLearningObjectives(baseOptions: Apollo.QueryHookOptions<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables> & ({ variables: GetTeamLearningObjectivesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables>(GetTeamLearningObjectivesDocument, options);
-      }
-export function useGetTeamLearningObjectivesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables>(GetTeamLearningObjectivesDocument, options);
-        }
-export function useGetTeamLearningObjectivesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables>(GetTeamLearningObjectivesDocument, options);
-        }
-export type GetTeamLearningObjectivesHookResult = ReturnType<typeof useGetTeamLearningObjectives>;
-export type GetTeamLearningObjectivesLazyQueryHookResult = ReturnType<typeof useGetTeamLearningObjectivesLazyQuery>;
-export type GetTeamLearningObjectivesSuspenseQueryHookResult = ReturnType<typeof useGetTeamLearningObjectivesSuspenseQuery>;
-export type GetTeamLearningObjectivesQueryResult = Apollo.QueryResult<GetTeamLearningObjectives, GetTeamLearningObjectivesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeamMilestones.generated.ts b/graphql/queries/GetTeamMilestones.generated.ts
deleted file mode 100644
index fe1387ba8f63c0b7c2c8dd15f1e8f670b2e35b40..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeamMilestones.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamMilestonesVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeamMilestones = { teamMilestones: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } } | null> | null };
-
-
-export const GetTeamMilestonesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamMilestones"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"visibleOnly"},"value":{"kind":"BooleanValue","value":false}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeamMilestones__
- *
- * To run a query within a React component, call `useGetTeamMilestones` and pass it any options that fit your needs.
- * When your component renders, `useGetTeamMilestones` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeamMilestones({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useGetTeamMilestones(baseOptions: Apollo.QueryHookOptions<GetTeamMilestones, GetTeamMilestonesVariables> & ({ variables: GetTeamMilestonesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeamMilestones, GetTeamMilestonesVariables>(GetTeamMilestonesDocument, options);
-      }
-export function useGetTeamMilestonesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeamMilestones, GetTeamMilestonesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeamMilestones, GetTeamMilestonesVariables>(GetTeamMilestonesDocument, options);
-        }
-export function useGetTeamMilestonesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeamMilestones, GetTeamMilestonesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeamMilestones, GetTeamMilestonesVariables>(GetTeamMilestonesDocument, options);
-        }
-export type GetTeamMilestonesHookResult = ReturnType<typeof useGetTeamMilestones>;
-export type GetTeamMilestonesLazyQueryHookResult = ReturnType<typeof useGetTeamMilestonesLazyQuery>;
-export type GetTeamMilestonesSuspenseQueryHookResult = ReturnType<typeof useGetTeamMilestonesSuspenseQuery>;
-export type GetTeamMilestonesQueryResult = Apollo.QueryResult<GetTeamMilestones, GetTeamMilestonesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTeamQuestionnaireState.generated.ts b/graphql/queries/GetTeamQuestionnaireState.generated.ts
deleted file mode 100644
index fc310012f30678810ce82135c852f78734991674..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTeamQuestionnaireState.generated.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetTeamQuestionnaireStateVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-  questionnaireId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTeamQuestionnaireState = { questionnaireState: { id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> } | null };
-
-
-export const GetTeamQuestionnaireStateDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTeamQuestionnaireState"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"questionnaireId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"questionnaireState"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"questionnaireId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"questionnaireId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTeamQuestionnaireState__
- *
- * To run a query within a React component, call `useGetTeamQuestionnaireState` and pass it any options that fit your needs.
- * When your component renders, `useGetTeamQuestionnaireState` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTeamQuestionnaireState({
- *   variables: {
- *      teamId: // value for 'teamId'
- *      questionnaireId: // value for 'questionnaireId'
- *   },
- * });
- */
-export function useGetTeamQuestionnaireState(baseOptions: Apollo.QueryHookOptions<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables> & ({ variables: GetTeamQuestionnaireStateVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables>(GetTeamQuestionnaireStateDocument, options);
-      }
-export function useGetTeamQuestionnaireStateLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables>(GetTeamQuestionnaireStateDocument, options);
-        }
-export function useGetTeamQuestionnaireStateSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables>(GetTeamQuestionnaireStateDocument, options);
-        }
-export type GetTeamQuestionnaireStateHookResult = ReturnType<typeof useGetTeamQuestionnaireState>;
-export type GetTeamQuestionnaireStateLazyQueryHookResult = ReturnType<typeof useGetTeamQuestionnaireStateLazyQuery>;
-export type GetTeamQuestionnaireStateSuspenseQueryHookResult = ReturnType<typeof useGetTeamQuestionnaireStateSuspenseQuery>;
-export type GetTeamQuestionnaireStateQueryResult = Apollo.QueryResult<GetTeamQuestionnaireState, GetTeamQuestionnaireStateVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetThreadTemplates.generated.ts b/graphql/queries/GetThreadTemplates.generated.ts
deleted file mode 100644
index 79b948ba63d1d493c113d4fe8a27b48eeb174762..0000000000000000000000000000000000000000
--- a/graphql/queries/GetThreadTemplates.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetThreadTemplatesVariables = _Types.Exact<{
-  threadId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetThreadTemplates = { threadTemplates: Array<{ id: string, sender: string | null, context: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null> | null };
-
-
-export const GetThreadTemplatesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetThreadTemplates"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"threadId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"threadTemplates"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"threadId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"threadId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailTemplate"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailTemplate"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailTemplateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"context"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetThreadTemplates__
- *
- * To run a query within a React component, call `useGetThreadTemplates` and pass it any options that fit your needs.
- * When your component renders, `useGetThreadTemplates` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetThreadTemplates({
- *   variables: {
- *      threadId: // value for 'threadId'
- *   },
- * });
- */
-export function useGetThreadTemplates(baseOptions: Apollo.QueryHookOptions<GetThreadTemplates, GetThreadTemplatesVariables> & ({ variables: GetThreadTemplatesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetThreadTemplates, GetThreadTemplatesVariables>(GetThreadTemplatesDocument, options);
-      }
-export function useGetThreadTemplatesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetThreadTemplates, GetThreadTemplatesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetThreadTemplates, GetThreadTemplatesVariables>(GetThreadTemplatesDocument, options);
-        }
-export function useGetThreadTemplatesSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetThreadTemplates, GetThreadTemplatesVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetThreadTemplates, GetThreadTemplatesVariables>(GetThreadTemplatesDocument, options);
-        }
-export type GetThreadTemplatesHookResult = ReturnType<typeof useGetThreadTemplates>;
-export type GetThreadTemplatesLazyQueryHookResult = ReturnType<typeof useGetThreadTemplatesLazyQuery>;
-export type GetThreadTemplatesSuspenseQueryHookResult = ReturnType<typeof useGetThreadTemplatesSuspenseQuery>;
-export type GetThreadTemplatesQueryResult = Apollo.QueryResult<GetThreadTemplates, GetThreadTemplatesVariables>;
\ No newline at end of file
diff --git a/graphql/queries/GetTools.generated.ts b/graphql/queries/GetTools.generated.ts
deleted file mode 100644
index 01d8a17c577e8463b0d03eff2c2594f678b05d83..0000000000000000000000000000000000000000
--- a/graphql/queries/GetTools.generated.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type GetToolsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type GetTools = { exerciseTools: Array<{ id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, definition: { id: number | null, name: string | null } | null } | null> | null };
-
-
-export const GetToolsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetTools"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseTools"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Tool"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Tool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useGetTools__
- *
- * To run a query within a React component, call `useGetTools` and pass it any options that fit your needs.
- * When your component renders, `useGetTools` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useGetTools({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useGetTools(baseOptions: Apollo.QueryHookOptions<GetTools, GetToolsVariables> & ({ variables: GetToolsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<GetTools, GetToolsVariables>(GetToolsDocument, options);
-      }
-export function useGetToolsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<GetTools, GetToolsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<GetTools, GetToolsVariables>(GetToolsDocument, options);
-        }
-export function useGetToolsSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<GetTools, GetToolsVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<GetTools, GetToolsVariables>(GetToolsDocument, options);
-        }
-export type GetToolsHookResult = ReturnType<typeof useGetTools>;
-export type GetToolsLazyQueryHookResult = ReturnType<typeof useGetToolsLazyQuery>;
-export type GetToolsSuspenseQueryHookResult = ReturnType<typeof useGetToolsSuspenseQuery>;
-export type GetToolsQueryResult = Apollo.QueryResult<GetTools, GetToolsVariables>;
\ No newline at end of file
diff --git a/graphql/queries/Identity.generated.ts b/graphql/queries/Identity.generated.ts
deleted file mode 100644
index 59cb1fcc19532c812f490e6ef60a2af62657f276..0000000000000000000000000000000000000000
--- a/graphql/queries/Identity.generated.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type IdentityVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type Identity = { whoAmI: { id: any, username: string, firstName: string | null, lastName: string | null, isStaff: boolean, isSuperuser: boolean, isActive: boolean, group: string | null, teams: Array<{ id: string, name: string } | null> | null, exercises: Array<{ id: string | null } | null> | null } | null };
-
-
-export const IdentityDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Identity"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"whoAmI"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"User"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"User"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"UserType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"Field","name":{"kind":"Name","value":"firstName"}},{"kind":"Field","name":{"kind":"Name","value":"lastName"}},{"kind":"Field","name":{"kind":"Name","value":"isStaff"}},{"kind":"Field","name":{"kind":"Name","value":"isSuperuser"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"group"}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useIdentity__
- *
- * To run a query within a React component, call `useIdentity` and pass it any options that fit your needs.
- * When your component renders, `useIdentity` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useIdentity({
- *   variables: {
- *   },
- * });
- */
-export function useIdentity(baseOptions?: Apollo.QueryHookOptions<Identity, IdentityVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<Identity, IdentityVariables>(IdentityDocument, options);
-      }
-export function useIdentityLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<Identity, IdentityVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<Identity, IdentityVariables>(IdentityDocument, options);
-        }
-export function useIdentitySuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<Identity, IdentityVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<Identity, IdentityVariables>(IdentityDocument, options);
-        }
-export type IdentityHookResult = ReturnType<typeof useIdentity>;
-export type IdentityLazyQueryHookResult = ReturnType<typeof useIdentityLazyQuery>;
-export type IdentitySuspenseQueryHookResult = ReturnType<typeof useIdentitySuspenseQuery>;
-export type IdentityQueryResult = Apollo.QueryResult<Identity, IdentityVariables>;
\ No newline at end of file
diff --git a/graphql/queries/ValidateEmailAddress.generated.ts b/graphql/queries/ValidateEmailAddress.generated.ts
deleted file mode 100644
index 713366565c3772df836b63345241c4e04ebf7a5a..0000000000000000000000000000000000000000
--- a/graphql/queries/ValidateEmailAddress.generated.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ValidateEmailAddressVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-  address: _Types.Scalars['String']['input'];
-}>;
-
-
-export type ValidateEmailAddress = { validateEmailAddress: boolean | null };
-
-
-export const ValidateEmailAddressDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ValidateEmailAddress"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"address"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"validateEmailAddress"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}},{"kind":"Argument","name":{"kind":"Name","value":"address"},"value":{"kind":"Variable","name":{"kind":"Name","value":"address"}}}]}]}}]} as unknown as DocumentNode;
-
-/**
- * __useValidateEmailAddress__
- *
- * To run a query within a React component, call `useValidateEmailAddress` and pass it any options that fit your needs.
- * When your component renders, `useValidateEmailAddress` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useValidateEmailAddress({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *      address: // value for 'address'
- *   },
- * });
- */
-export function useValidateEmailAddress(baseOptions: Apollo.QueryHookOptions<ValidateEmailAddress, ValidateEmailAddressVariables> & ({ variables: ValidateEmailAddressVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<ValidateEmailAddress, ValidateEmailAddressVariables>(ValidateEmailAddressDocument, options);
-      }
-export function useValidateEmailAddressLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<ValidateEmailAddress, ValidateEmailAddressVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<ValidateEmailAddress, ValidateEmailAddressVariables>(ValidateEmailAddressDocument, options);
-        }
-export function useValidateEmailAddressSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<ValidateEmailAddress, ValidateEmailAddressVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<ValidateEmailAddress, ValidateEmailAddressVariables>(ValidateEmailAddressDocument, options);
-        }
-export type ValidateEmailAddressHookResult = ReturnType<typeof useValidateEmailAddress>;
-export type ValidateEmailAddressLazyQueryHookResult = ReturnType<typeof useValidateEmailAddressLazyQuery>;
-export type ValidateEmailAddressSuspenseQueryHookResult = ReturnType<typeof useValidateEmailAddressSuspenseQuery>;
-export type ValidateEmailAddressQueryResult = Apollo.QueryResult<ValidateEmailAddress, ValidateEmailAddressVariables>;
\ No newline at end of file
diff --git a/graphql/queries/clientonly/ReturnLocalEmailDraft.generated.ts b/graphql/queries/clientonly/ReturnLocalEmailDraft.generated.ts
deleted file mode 100644
index 58db7ca4521ee9a8c9c0a2928d16d2e1218b829a..0000000000000000000000000000000000000000
--- a/graphql/queries/clientonly/ReturnLocalEmailDraft.generated.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ReturnLocalEmailDraftVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-  instructor: _Types.Scalars['Boolean']['input'];
-  emailThreadId: _Types.InputMaybe<_Types.Scalars['ID']['input']>;
-}>;
-
-
-export type ReturnLocalEmailDraft = { returnLocalEmailDraft: { teamId: string, instructor: boolean, emailThreadId: string | null, senderAddress: string | null, content: string | null, activateMilestone: string | null, deactivateMilestone: string | null, fileId: any | null, selectedContacts: Array<string | null> | null, subject: string | null, templateId: string | null } | null };
-
-
-export const ReturnLocalEmailDraftDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ReturnLocalEmailDraft"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"instructor"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"emailThreadId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"returnLocalEmailDraft"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"instructor"},"value":{"kind":"Variable","name":{"kind":"Name","value":"instructor"}}},{"kind":"Argument","name":{"kind":"Name","value":"emailThreadId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"emailThreadId"}}}],"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDraft"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDraft"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailDraftType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"instructor"}},{"kind":"Field","name":{"kind":"Name","value":"emailThreadId"}},{"kind":"Field","name":{"kind":"Name","value":"senderAddress"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"fileId"}},{"kind":"Field","name":{"kind":"Name","value":"selectedContacts"}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"templateId"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useReturnLocalEmailDraft__
- *
- * To run a query within a React component, call `useReturnLocalEmailDraft` and pass it any options that fit your needs.
- * When your component renders, `useReturnLocalEmailDraft` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useReturnLocalEmailDraft({
- *   variables: {
- *      teamId: // value for 'teamId'
- *      instructor: // value for 'instructor'
- *      emailThreadId: // value for 'emailThreadId'
- *   },
- * });
- */
-export function useReturnLocalEmailDraft(baseOptions: Apollo.QueryHookOptions<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables> & ({ variables: ReturnLocalEmailDraftVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useQuery<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables>(ReturnLocalEmailDraftDocument, options);
-      }
-export function useReturnLocalEmailDraftLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useLazyQuery<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables>(ReturnLocalEmailDraftDocument, options);
-        }
-export function useReturnLocalEmailDraftSuspenseQuery(baseOptions?: Apollo.SuspenseQueryHookOptions<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables>) {
-          const options = {...defaultOptions, ...baseOptions}
-          return Apollo.useSuspenseQuery<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables>(ReturnLocalEmailDraftDocument, options);
-        }
-export type ReturnLocalEmailDraftHookResult = ReturnType<typeof useReturnLocalEmailDraft>;
-export type ReturnLocalEmailDraftLazyQueryHookResult = ReturnType<typeof useReturnLocalEmailDraftLazyQuery>;
-export type ReturnLocalEmailDraftSuspenseQueryHookResult = ReturnType<typeof useReturnLocalEmailDraftSuspenseQuery>;
-export type ReturnLocalEmailDraftQueryResult = Apollo.QueryResult<ReturnLocalEmailDraft, ReturnLocalEmailDraftVariables>;
\ No newline at end of file
diff --git a/graphql/subscriptions/AnalyticsActionLogs.generated.ts b/graphql/subscriptions/AnalyticsActionLogs.generated.ts
deleted file mode 100644
index bab0bc65ed53940857053e78a48c89a28ca1c9b5..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/AnalyticsActionLogs.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ExerciseActionLogsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type ExerciseActionLogs = { analyticsActionLogsSubscription: { actionLog: { id: string, timestamp: string, type: _Types.LogType, readReceipt: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }, details: { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } | { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> } | { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } } | null } | null };
-
-
-export const ExerciseActionLogsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"exerciseActionLogs"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"analyticsActionLogsSubscription"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"actionLog"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ActionLog"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ActionLog"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionLogType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"channel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CustomInjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireDetails"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useExerciseActionLogs__
- *
- * To run a query within a React component, call `useExerciseActionLogs` and pass it any options that fit your needs.
- * When your component renders, `useExerciseActionLogs` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useExerciseActionLogs({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useExerciseActionLogs(baseOptions: Apollo.SubscriptionHookOptions<ExerciseActionLogs, ExerciseActionLogsVariables> & ({ variables: ExerciseActionLogsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<ExerciseActionLogs, ExerciseActionLogsVariables>(ExerciseActionLogsDocument, options);
-      }
-export type ExerciseActionLogsHookResult = ReturnType<typeof useExerciseActionLogs>;
-export type ExerciseActionLogsSubscriptionResult = Apollo.SubscriptionResult<ExerciseActionLogs>;
\ No newline at end of file
diff --git a/graphql/subscriptions/AnalyticsEmailThread.generated.ts b/graphql/subscriptions/AnalyticsEmailThread.generated.ts
deleted file mode 100644
index d25ae9fe9a33fa82c8853273fe52ed9e3b6c678b..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/AnalyticsEmailThread.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ExerciseEmailThreadsVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type ExerciseEmailThreads = { analyticsEmailThreadSubscription: { emailThread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null } | null } | null };
-
-
-export const ExerciseEmailThreadsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"exerciseEmailThreads"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"analyticsEmailThreadSubscription"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useExerciseEmailThreads__
- *
- * To run a query within a React component, call `useExerciseEmailThreads` and pass it any options that fit your needs.
- * When your component renders, `useExerciseEmailThreads` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useExerciseEmailThreads({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useExerciseEmailThreads(baseOptions: Apollo.SubscriptionHookOptions<ExerciseEmailThreads, ExerciseEmailThreadsVariables> & ({ variables: ExerciseEmailThreadsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<ExerciseEmailThreads, ExerciseEmailThreadsVariables>(ExerciseEmailThreadsDocument, options);
-      }
-export type ExerciseEmailThreadsHookResult = ReturnType<typeof useExerciseEmailThreads>;
-export type ExerciseEmailThreadsSubscriptionResult = Apollo.SubscriptionResult<ExerciseEmailThreads>;
\ No newline at end of file
diff --git a/graphql/subscriptions/AnalyticsMilestones.generated.ts b/graphql/subscriptions/AnalyticsMilestones.generated.ts
deleted file mode 100644
index 208aa7b69896ebb2fc27d3387d1f14a9fca5d65c..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/AnalyticsMilestones.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ExerciseMilestonesVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type ExerciseMilestones = { analyticsMilestonesSubscription: { milestones: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } } | null> | null } | null };
-
-
-export const ExerciseMilestonesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"exerciseMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"analyticsMilestonesSubscription"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useExerciseMilestones__
- *
- * To run a query within a React component, call `useExerciseMilestones` and pass it any options that fit your needs.
- * When your component renders, `useExerciseMilestones` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useExerciseMilestones({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useExerciseMilestones(baseOptions: Apollo.SubscriptionHookOptions<ExerciseMilestones, ExerciseMilestonesVariables> & ({ variables: ExerciseMilestonesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<ExerciseMilestones, ExerciseMilestonesVariables>(ExerciseMilestonesDocument, options);
-      }
-export type ExerciseMilestonesHookResult = ReturnType<typeof useExerciseMilestones>;
-export type ExerciseMilestonesSubscriptionResult = Apollo.SubscriptionResult<ExerciseMilestones>;
\ No newline at end of file
diff --git a/graphql/subscriptions/EmailThreads.generated.ts b/graphql/subscriptions/EmailThreads.generated.ts
deleted file mode 100644
index e51b56b4bd0255a14d335a286fdedbf74d890f5f..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/EmailThreads.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type EmailThreadsSubscriptionVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type EmailThreadsSubscription = { emailThreads: { emailThread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null } | null } | null };
-
-
-export const EmailThreadsSubscriptionDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"EmailThreadsSubscription"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThreads"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailThread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useEmailThreadsSubscription__
- *
- * To run a query within a React component, call `useEmailThreadsSubscription` and pass it any options that fit your needs.
- * When your component renders, `useEmailThreadsSubscription` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useEmailThreadsSubscription({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useEmailThreadsSubscription(baseOptions: Apollo.SubscriptionHookOptions<EmailThreadsSubscription, EmailThreadsSubscriptionVariables> & ({ variables: EmailThreadsSubscriptionVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<EmailThreadsSubscription, EmailThreadsSubscriptionVariables>(EmailThreadsSubscriptionDocument, options);
-      }
-export type EmailThreadsSubscriptionHookResult = ReturnType<typeof useEmailThreadsSubscription>;
-export type EmailThreadsSubscriptionSubscriptionResult = Apollo.SubscriptionResult<EmailThreadsSubscription>;
\ No newline at end of file
diff --git a/graphql/subscriptions/ExerciseLoopStatus.generated.ts b/graphql/subscriptions/ExerciseLoopStatus.generated.ts
deleted file mode 100644
index 5f9bbce4bf2ac35c0248d0bc0d72e332d40e0e43..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/ExerciseLoopStatus.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ExerciseLoopRunningVariables = _Types.Exact<{
-  exerciseId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type ExerciseLoopRunning = { exerciseLoopRunning: { exerciseLoopRunning: boolean | null } | null };
-
-
-export const ExerciseLoopRunningDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"exerciseLoopRunning"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseLoopRunning"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"exerciseId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseLoopRunning"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useExerciseLoopRunning__
- *
- * To run a query within a React component, call `useExerciseLoopRunning` and pass it any options that fit your needs.
- * When your component renders, `useExerciseLoopRunning` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useExerciseLoopRunning({
- *   variables: {
- *      exerciseId: // value for 'exerciseId'
- *   },
- * });
- */
-export function useExerciseLoopRunning(baseOptions: Apollo.SubscriptionHookOptions<ExerciseLoopRunning, ExerciseLoopRunningVariables> & ({ variables: ExerciseLoopRunningVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<ExerciseLoopRunning, ExerciseLoopRunningVariables>(ExerciseLoopRunningDocument, options);
-      }
-export type ExerciseLoopRunningHookResult = ReturnType<typeof useExerciseLoopRunning>;
-export type ExerciseLoopRunningSubscriptionResult = Apollo.SubscriptionResult<ExerciseLoopRunning>;
\ No newline at end of file
diff --git a/graphql/subscriptions/Exercises.generated.ts b/graphql/subscriptions/Exercises.generated.ts
deleted file mode 100644
index 9040f8cf2b63556ab8994ceb13ca88ae8c4d8c96..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/Exercises.generated.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type ExercisesVariables = _Types.Exact<{ [key: string]: never; }>;
-
-
-export type Exercises = { exercisesSubscription: { eventType: _Types.ExerciseEventTypeEnum | null, exercise: { id: string, name: string, running: boolean, finished: boolean, exerciseStart: string | null, timeDelta: number, definition: { id: number | null, name: string | null } | null, teams: Array<{ id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }>, emailParticipants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }> } | null } | null };
-
-
-export const ExercisesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercisesSubscription"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Exercise"}}]}},{"kind":"Field","name":{"kind":"Name","value":"eventType"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Exercise"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"finished"}},{"kind":"Field","name":{"kind":"Name","value":"exerciseStart"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teams"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"emailParticipants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","alias":{"kind":"Name","value":"timeDelta"},"name":{"kind":"Name","value":"elapsedS"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useExercises__
- *
- * To run a query within a React component, call `useExercises` and pass it any options that fit your needs.
- * When your component renders, `useExercises` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useExercises({
- *   variables: {
- *   },
- * });
- */
-export function useExercises(baseOptions?: Apollo.SubscriptionHookOptions<Exercises, ExercisesVariables>) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<Exercises, ExercisesVariables>(ExercisesDocument, options);
-      }
-export type ExercisesHookResult = ReturnType<typeof useExercises>;
-export type ExercisesSubscriptionResult = Apollo.SubscriptionResult<Exercises>;
\ No newline at end of file
diff --git a/graphql/subscriptions/TeamActionLogs.generated.ts b/graphql/subscriptions/TeamActionLogs.generated.ts
deleted file mode 100644
index 09318c173a2ba7eaca433b2981ed07138f4a240d..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/TeamActionLogs.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type TeamActionVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type TeamAction = { actionLogs: { actionLog: { id: string, timestamp: string, type: _Types.LogType, readReceipt: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, channel: { id: string, name: string, type: _Types.ChannelType, readReceipt: Array<{ readReceipt: string | null, teamId: string }> }, details: { id: string, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } | { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string, subject: string, timestamp: string, readReceipt: string | null, participants: Array<{ id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }>, emails: Array<{ id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null }>, lastEmail: { id: string, timestamp: string, readReceipt: string | null, sender: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null }, thread: { id: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | null }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, inject: { id: string, name: string, time: number, delay: number, organization: string, type: _Types.InjectType }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null }, overlay: { id: string, duration: number } | null } | { id: string, title: string, time: number, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, overlay: { id: string, duration: number } | null, questions: Array<{ id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } }>, teamQuestionnaireStates: Array<{ id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> }> } | { id: string, argument: string, tool: { id: string, name: string, tooltipDescription: string, defaultResponse: string, roles: string, hint: string, hasParam: boolean | null, definition: { id: number | null, name: string | null } | null, responses: Array<{ id: string, param: string }> }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } } } | null } | null };
-
-
-export const TeamActionDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"teamAction"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"actionLogs"},"name":{"kind":"Name","value":"actionLogs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"actionLog"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ActionLog"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ActionLog"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ActionLogType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"channel"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Channel"}}]}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CustomInjectDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailDetails"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireDetails"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Channel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionChannelType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"readReceipt"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"tool"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExtendedTool"}}]}},{"kind":"Field","name":{"kind":"Name","value":"argument"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExtendedTool"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExtendedToolType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"tooltipDescription"}},{"kind":"Field","name":{"kind":"Name","value":"defaultResponse"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"hint"}},{"kind":"Field","name":{"kind":"Name","value":"definition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ExerciseDefinition"}}]}},{"kind":"Field","name":{"kind":"Name","value":"responses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ToolResponse"}}]}},{"kind":"Field","name":{"kind":"Name","value":"hasParam"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ExerciseDefinition"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ExerciseDefinitionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ToolResponse"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ToolResponseType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"param"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"inject"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"DefinitionInject"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"DefinitionInject"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"DefinitionInjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"delay"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}},{"kind":"Field","name":{"kind":"Name","value":"type"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Overlay"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"OverlayType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CustomInjectDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CustomInjectDetailsType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailThread"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailThread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailThreadType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"participants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"emails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"lastEmail"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Email"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"thread"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"readReceipt"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireDetails"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"time"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"overlay"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Overlay"}}]}},{"kind":"Field","name":{"kind":"Name","value":"questions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireStates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useTeamAction__
- *
- * To run a query within a React component, call `useTeamAction` and pass it any options that fit your needs.
- * When your component renders, `useTeamAction` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useTeamAction({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useTeamAction(baseOptions: Apollo.SubscriptionHookOptions<TeamAction, TeamActionVariables> & ({ variables: TeamActionVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<TeamAction, TeamActionVariables>(TeamActionDocument, options);
-      }
-export type TeamActionHookResult = ReturnType<typeof useTeamAction>;
-export type TeamActionSubscriptionResult = Apollo.SubscriptionResult<TeamAction>;
\ No newline at end of file
diff --git a/graphql/subscriptions/TeamInjectSelections.generated.ts b/graphql/subscriptions/TeamInjectSelections.generated.ts
deleted file mode 100644
index adb338e31542ec90bb6bcbc0a6b693fee4208bb7..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/TeamInjectSelections.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type TeamInjectSelectionsVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type TeamInjectSelections = { injectSelection: { injectSelection: { id: string, name: string, timestamp: string | null, submitted: string | null, team: { id: string }, options: Array<{ id: string, sender: string, name: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string }, content: { id: string, raw: string, rendered: string, fileInfo: { id: any, fileName: string } | null } }> } | null } | null };
-
-
-export const TeamInjectSelectionsDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"teamInjectSelections"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"injectSelection"},"name":{"kind":"Name","value":"injectSelections"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"injectSelection"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectSelection"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectSelection"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectSelectionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"timestamp"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"options"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"InjectOption"}}]}},{"kind":"Field","name":{"kind":"Name","value":"submitted"},"directives":[{"kind":"Directive","name":{"kind":"Name","value":"client"}}]}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"InjectOption"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"InjectOptionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"sender"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Content"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Content"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ContentType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"raw"}},{"kind":"Field","name":{"kind":"Name","value":"rendered"}},{"kind":"Field","name":{"kind":"Name","value":"fileInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"FileInfo"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"FileInfo"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FileInfoType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fileName"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useTeamInjectSelections__
- *
- * To run a query within a React component, call `useTeamInjectSelections` and pass it any options that fit your needs.
- * When your component renders, `useTeamInjectSelections` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useTeamInjectSelections({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useTeamInjectSelections(baseOptions: Apollo.SubscriptionHookOptions<TeamInjectSelections, TeamInjectSelectionsVariables> & ({ variables: TeamInjectSelectionsVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<TeamInjectSelections, TeamInjectSelectionsVariables>(TeamInjectSelectionsDocument, options);
-      }
-export type TeamInjectSelectionsHookResult = ReturnType<typeof useTeamInjectSelections>;
-export type TeamInjectSelectionsSubscriptionResult = Apollo.SubscriptionResult<TeamInjectSelections>;
\ No newline at end of file
diff --git a/graphql/subscriptions/TeamMilestones.generated.ts b/graphql/subscriptions/TeamMilestones.generated.ts
deleted file mode 100644
index d54c8869680d2dedd06e9eb6ad5977734b8015dc..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/TeamMilestones.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type TeamMilestonesVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type TeamMilestones = { milestones: { milestones: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } } | null> | null } | null };
-
-
-export const TeamMilestonesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"teamMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"milestones"},"name":{"kind":"Name","value":"milestones"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useTeamMilestones__
- *
- * To run a query within a React component, call `useTeamMilestones` and pass it any options that fit your needs.
- * When your component renders, `useTeamMilestones` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useTeamMilestones({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useTeamMilestones(baseOptions: Apollo.SubscriptionHookOptions<TeamMilestones, TeamMilestonesVariables> & ({ variables: TeamMilestonesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<TeamMilestones, TeamMilestonesVariables>(TeamMilestonesDocument, options);
-      }
-export type TeamMilestonesHookResult = ReturnType<typeof useTeamMilestones>;
-export type TeamMilestonesSubscriptionResult = Apollo.SubscriptionResult<TeamMilestones>;
\ No newline at end of file
diff --git a/graphql/subscriptions/TeamQuestionnaireState.generated.ts b/graphql/subscriptions/TeamQuestionnaireState.generated.ts
deleted file mode 100644
index 2e7747dc9bbf99a0ce915c6bc0402ce5eced50ed..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/TeamQuestionnaireState.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type TeamQuestionnaireStateVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type TeamQuestionnaireState = { teamQuestionnaireState: { teamQuestionnaireState: { id: string, status: _Types.TeamQuestionnaireStateStatus, timestampSent: string | null, timestampAnswered: string | null, team: { id: string, name: string, role: string, emailAddress: { id: string, address: string, definitionAddress: { id: string, address: string, description: string, teamVisible: boolean, organization: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } | null, team: { id: string, name: string, role: string } | null } | null, exercise: { id: string, name: string } }, answers: Array<{ id: string, choice: number, isCorrect: boolean | null, question: { id: string, text: string, max: number, correct: number, labels: string, control: { id: string, milestoneCondition: string, activateMilestone: string, deactivateMilestone: string, roles: string } } }> } } | null };
-
-
-export const TeamQuestionnaireStateDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"teamQuestionnaireState"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"teamQuestionnaireState"},"name":{"kind":"Name","value":"teamQuestionnaireStateSubscription"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"teamQuestionnaireState"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamQuestionnaireState"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamQuestionnaireState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamQuestionnaireStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Team"}}]}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"timestampSent"}},{"kind":"Field","name":{"kind":"Name","value":"timestampAnswered"}},{"kind":"Field","name":{"kind":"Name","value":"answers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"QuestionnaireAnswer"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"emailAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailParticipant"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercise"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailParticipant"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailParticipantType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"definitionAddress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EmailAddress"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"team"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"TeamWithoutEmailAddress"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailAddressType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"organization"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Control"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ControlType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestoneCondition"}},{"kind":"Field","name":{"kind":"Name","value":"activateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"deactivateMilestone"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"TeamWithoutEmailAddress"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TeamType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"QuestionnaireAnswer"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionnaireAnswerType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"choice"}},{"kind":"Field","name":{"kind":"Name","value":"isCorrect"}},{"kind":"Field","name":{"kind":"Name","value":"question"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Question"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Question"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"QuestionType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"correct"}},{"kind":"Field","name":{"kind":"Name","value":"labels"}},{"kind":"Field","name":{"kind":"Name","value":"control"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Control"}}]}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useTeamQuestionnaireState__
- *
- * To run a query within a React component, call `useTeamQuestionnaireState` and pass it any options that fit your needs.
- * When your component renders, `useTeamQuestionnaireState` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useTeamQuestionnaireState({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useTeamQuestionnaireState(baseOptions: Apollo.SubscriptionHookOptions<TeamQuestionnaireState, TeamQuestionnaireStateVariables> & ({ variables: TeamQuestionnaireStateVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<TeamQuestionnaireState, TeamQuestionnaireStateVariables>(TeamQuestionnaireStateDocument, options);
-      }
-export type TeamQuestionnaireStateHookResult = ReturnType<typeof useTeamQuestionnaireState>;
-export type TeamQuestionnaireStateSubscriptionResult = Apollo.SubscriptionResult<TeamQuestionnaireState>;
\ No newline at end of file
diff --git a/graphql/subscriptions/TeamVisibleMilestones.generated.ts b/graphql/subscriptions/TeamVisibleMilestones.generated.ts
deleted file mode 100644
index b17a7762a8c238874ed7e73f6746ff16afe9671b..0000000000000000000000000000000000000000
--- a/graphql/subscriptions/TeamVisibleMilestones.generated.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable */
-//@ts-nocheck
-import type * as _Types from '../types';
-
-import type { DocumentNode } from 'graphql';
-import * as Apollo from '@apollo/client';
-const defaultOptions = {} as const;
-export type TeamVisibleMilestonesVariables = _Types.Exact<{
-  teamId: _Types.Scalars['ID']['input'];
-}>;
-
-
-export type TeamVisibleMilestones = { teamVisibleMilestones: { milestones: Array<{ id: string, reached: boolean, timestampReached: string | null, teamIds: Array<string | null> | null, milestone: { id: string, name: string, teamVisible: boolean, roles: string, fileNames: string } } | null> | null } | null };
-
-
-export const TeamVisibleMilestonesDocument = /*#__PURE__*/ {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"subscription","name":{"kind":"Name","value":"teamVisibleMilestones"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"teamVisibleMilestones"},"name":{"kind":"Name","value":"milestones"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"visibleOnly"},"value":{"kind":"BooleanValue","value":true}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"milestones"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MilestoneState"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MilestoneState"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneStateType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"milestone"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Milestone"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reached"}},{"kind":"Field","name":{"kind":"Name","value":"timestampReached"}},{"kind":"Field","name":{"kind":"Name","value":"teamIds"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Milestone"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MilestoneType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"teamVisible"}},{"kind":"Field","name":{"kind":"Name","value":"roles"}},{"kind":"Field","name":{"kind":"Name","value":"fileNames"}}]}}]} as unknown as DocumentNode;
-
-/**
- * __useTeamVisibleMilestones__
- *
- * To run a query within a React component, call `useTeamVisibleMilestones` and pass it any options that fit your needs.
- * When your component renders, `useTeamVisibleMilestones` returns an object from Apollo Client that contains loading, error, and data properties
- * you can use to render your UI.
- *
- * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
- *
- * @example
- * const { data, loading, error } = useTeamVisibleMilestones({
- *   variables: {
- *      teamId: // value for 'teamId'
- *   },
- * });
- */
-export function useTeamVisibleMilestones(baseOptions: Apollo.SubscriptionHookOptions<TeamVisibleMilestones, TeamVisibleMilestonesVariables> & ({ variables: TeamVisibleMilestonesVariables; skip?: boolean; } | { skip: boolean; }) ) {
-        const options = {...defaultOptions, ...baseOptions}
-        return Apollo.useSubscription<TeamVisibleMilestones, TeamVisibleMilestonesVariables>(TeamVisibleMilestonesDocument, options);
-      }
-export type TeamVisibleMilestonesHookResult = ReturnType<typeof useTeamVisibleMilestones>;
-export type TeamVisibleMilestonesSubscriptionResult = Apollo.SubscriptionResult<TeamVisibleMilestones>;
\ No newline at end of file
diff --git a/graphql/types.ts b/graphql/types.ts
index 16a8e82c9b4327c237ff84498b4e92934103f181..8485510cfc78a9ea49eb313c135bcc8602b9cc14 100644
--- a/graphql/types.ts
+++ b/graphql/types.ts
@@ -1099,6 +1099,7 @@ export type RestrictedUser = {
   group?: Maybe<GroupType>;
   id: Scalars['UUID']['output'];
   isActive: Scalars['Boolean']['output'];
+  isImported: Scalars['Boolean']['output'];
   isStaff: Scalars['Boolean']['output'];
   isSuperuser: Scalars['Boolean']['output'];
   lastLogin?: Maybe<Scalars['DateTime']['output']>;
@@ -1349,6 +1350,7 @@ export type UserType = {
   group?: Maybe<Scalars['String']['output']>;
   id: Scalars['UUID']['output'];
   isActive: Scalars['Boolean']['output'];
+  isImported: Scalars['Boolean']['output'];
   isStaff: Scalars['Boolean']['output'];
   isSuperuser: Scalars['Boolean']['output'];
   lastLogin?: Maybe<Scalars['DateTime']['output']>;
@@ -1427,7 +1429,7 @@ export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs
 ) => TResult | Promise<TResult>;
 
 /** Mapping of union types */
-export type ResolversUnionTypes<RefType extends Record<string, unknown>> = ResolversObject<{
+export type ResolversUnionTypes<_RefType extends Record<string, unknown>> = ResolversObject<{
   ActionLogDetails: ( CustomInjectDetailsType & { __typename: 'CustomInjectDetailsType' } ) | ( EmailType & { __typename: 'EmailType' } ) | ( InjectDetailsType & { __typename: 'InjectDetailsType' } ) | ( QuestionnaireType & { __typename: 'QuestionnaireType' } ) | ( ToolDetailsType & { __typename: 'ToolDetailsType' } );
 }>;
 
@@ -2267,6 +2269,7 @@ export type RestrictedUserResolvers<ContextType = any, ParentType extends Resolv
   group?: Resolver<Maybe<ResolversTypes['GroupType']>, ParentType, ContextType>;
   id?: Resolver<ResolversTypes['UUID'], ParentType, ContextType>;
   isActive?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
+  isImported?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
   isStaff?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
   isSuperuser?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
   lastLogin?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
@@ -2443,6 +2446,7 @@ export type UserTypeResolvers<ContextType = any, ParentType extends ResolversPar
   group?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
   id?: Resolver<ResolversTypes['UUID'], ParentType, ContextType>;
   isActive?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
+  isImported?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
   isStaff?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
   isSuperuser?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
   lastLogin?: Resolver<Maybe<ResolversTypes['DateTime']>, ParentType, ContextType>;
diff --git a/shared/config/index.ts b/shared/config/index.ts
index 9659fafde1fe501781c0c86dc412803da1ceef3c..3f28739f45f6618887deaafec18753be9f6b8a96 100644
--- a/shared/config/index.ts
+++ b/shared/config/index.ts
@@ -25,3 +25,5 @@ export const uploadFileUrl = (hostAddress: string, teamId: string) =>
   `${currentProtocol()}://${hostAddress}/inject/api/v1/running_exercise/upload/${teamId}/`
 export const exportImportUrl = (hostAddress: string) =>
   `${currentProtocol()}://${hostAddress}/inject/api/v1/export_import`
+export const uploadUsersUrl = (hostAddress: string) =>
+  `${currentProtocol()}://${hostAddress}/inject/api/v1/user/create-users`