Repository: IgnisDa/ryot (language: rust)

Issue:
Live updates of import progress



Discussion / hints:

Fix patch:
diff --git a/apps/frontend/app/components/media.tsx b/apps/frontend/app/components/media.tsx
index fd429d0f1d..c3178a7794 100644
--- a/apps/frontend/app/components/media.tsx
+++ b/apps/frontend/app/components/media.tsx
@@ -31,7 +31,7 @@ import {
 	IconStarFilled,
 } from "@tabler/icons-react";
 import { useQuery } from "@tanstack/react-query";
-import { useMemo, type ReactNode } from "react";
+import { type ReactNode, useMemo } from "react";
 import { Form, Link } from "react-router";
 import { $path } from "safe-routes";
 import { match } from "ts-pattern";
diff --git a/apps/frontend/app/routes/_dashboard.settings.imports-and-exports._index.tsx b/apps/frontend/app/routes/_dashboard.settings.imports-and-exports._index.tsx
index 2c6ca993da..6afe381e86 100644
--- a/apps/frontend/app/routes/_dashboard.settings.imports-and-exports._index.tsx
+++ b/apps/frontend/app/routes/_dashboard.settings.imports-and-exports._index.tsx
@@ -13,6 +13,7 @@ import {
 	Indicator,
 	Progress,
 	Select,
+	Skeleton,
 	Stack,
 	Tabs,
 	Text,
@@ -21,13 +22,14 @@ import {
 	Title,
 	Tooltip,
 } from "@mantine/core";
+import { useInViewport } from "@mantine/hooks";
 import { parseFormData } from "@mjackson/form-data-parser";
 import {
 	DeployExportJobDocument,
 	DeployImportJobDocument,
-	ImportReportsDocument,
 	ImportSource,
 	UserExportsDocument,
+	UserImportReportsDocument,
 } from "@ryot/generated/graphql/backend/graphql";
 import {
 	changeCase,
@@ -36,6 +38,7 @@ import {
 	processSubmission,
 } from "@ryot/ts-utils";
 import { IconDownload, IconTrash } from "@tabler/icons-react";
+import { useQuery } from "@tanstack/react-query";
 import { filesize } from "filesize";
 import { useState } from "react";
 import { Form, useLoaderData } from "react-router";
@@ -43,7 +46,11 @@ import { $path } from "safe-routes";
 import { match } from "ts-pattern";
 import { withFragment, withQuery } from "ufo";
 import { z } from "zod";
-import { dayjsLib, openConfirmationModal } from "~/lib/generals";
+import {
+	clientGqlService,
+	dayjsLib,
+	openConfirmationModal,
+} from "~/lib/generals";
 import {
 	useApplicationEvents,
 	useConfirmSubmit,
@@ -58,11 +65,10 @@ import {
 import type { Route } from "./+types/_dashboard.settings.imports-and-exports._index";
 
 export const loader = async ({ request }: Route.LoaderArgs) => {
-	const [{ importReports }, { userExports }] = await Promise.all([
-		serverGqlService.authenticatedRequest(request, ImportReportsDocument, {}),
+	const [{ userExports }] = await Promise.all([
 		serverGqlService.authenticatedRequest(request, UserExportsDocument, {}),
 	]);
-	return { importReports, userExports };
+	return { userExports };
 };
 
 export const meta = () => {
@@ -187,11 +193,25 @@ export default function Page() {
 	const loaderData = useLoaderData<typeof loader>();
 	const coreDetails = useCoreDetails();
 	const submit = useConfirmSubmit();
-	const fileUploadNotAllowed = !coreDetails.fileStorageEnabled;
+	const { inViewport, ref } = useInViewport();
 	const userCollections = useNonHiddenUserCollections();
 	const events = useApplicationEvents();
 	const [deployImportSource, setDeployImportSource] = useState<ImportSource>();
 
+	const userImportsReportsQuery = useQuery({
+		enabled: inViewport,
+		refetchInterval: 5000,
+		queryKey: ["userImportsReports"],
+		queryFn: async () => {
+			const { userImportReports } = await clientGqlService.request(
+				UserImportReportsDocument,
+			);
+			return userImportReports;
+		},
+	});
+
+	const fileUploadNotAllowed = !coreDetails.fileStorageEnabled;
+
 	return (
 		<Container size="xs">
 			<Tabs defaultValue="import">
@@ -402,124 +422,139 @@ export default function Page() {
 									</>
 								) : null}
 								<Divider />
-								<Title order={3}>Import history</Title>
-								{loaderData.importReports.length > 0 ? (
-									<Accordion>
-										{loaderData.importReports.map((report) => {
-											const isInProgress =
-												typeof report.wasSuccess !== "boolean";
+								<Title order={3} ref={ref}>
+									Import history
+								</Title>
+								{userImportsReportsQuery.data ? (
+									userImportsReportsQuery.data.length > 0 ? (
+										<Accordion>
+											{userImportsReportsQuery.data.map((report) => {
+												const isInProgress =
+													typeof report.wasSuccess !== "boolean";
 
-											return (
-												<Accordion.Item
-													key={report.id}
-													value={report.id}
-													data-import-report-id={report.id}
-												>
-													<Accordion.Control disabled={isInProgress}>
-														<Stack gap="xs">
-															<Box>
-																<Indicator
-																	inline
-																	size={12}
-																	offset={-3}
-																	processing={isInProgress}
-																	color={
-																		isInProgress
-																			? undefined
-																			: report.wasSuccess
-																				? "green"
-																				: "red"
-																	}
-																>
-																	{changeCase(report.source)}{" "}
-																	<Text size="xs" span c="dimmed">
-																		({dayjsLib(report.startedOn).fromNow()})
-																	</Text>
-																</Indicator>
-															</Box>
-															{isInProgress && report.progress ? (
-																<>
-																	<Box>
-																		<Text span fw="bold" mr={4}>
-																			Estimated to finish at:
-																		</Text>
-																		{dayjsLib(
-																			report.estimatedFinishTime,
-																		).format("lll")}
-																	</Box>
-																	<Progress
-																		animated
-																		value={Number(report.progress)}
-																	/>
-																</>
-															) : null}
-														</Stack>
-													</Accordion.Control>
-													<Accordion.Panel
-														styles={{ content: { paddingTop: 0 } }}
+												return (
+													<Accordion.Item
+														key={report.id}
+														value={report.id}
+														data-import-report-id={report.id}
 													>
-														<Stack>
-															<Box>
-																<Group>
-																	{report.details ? (
+														<Accordion.Control disabled={isInProgress}>
+															<Stack gap="xs">
+																<Box>
+																	<Indicator
+																		inline
+																		size={12}
+																		offset={-3}
+																		processing={isInProgress}
+																		color={
+																			isInProgress
+																				? undefined
+																				: report.wasSuccess
+																					? "green"
+																					: "red"
+																		}
+																	>
+																		{changeCase(report.source)}{" "}
+																		<Text size="xs" span c="dimmed">
+																			({dayjsLib(report.startedOn).fromNow()})
+																		</Text>
+																	</Indicator>
+																</Box>
+																{isInProgress && report.progress ? (
+																	<>
 																		<Box>
 																			<Text span fw="bold" mr={4}>
-																				Total imported:
+																				Estimated to finish at:
 																			</Text>
-																			{report.details.import.total},
+																			{dayjsLib(
+																				report.estimatedFinishTime,
+																			).format("lll")}
 																		</Box>
-																	) : null}
-																	<Box>
-																		<Text span fw="bold" mr={4}>
-																			Started at:
-																		</Text>
-																		{dayjsLib(report.startedOn).format("lll")}
-																	</Box>
-																</Group>
-																<Group>
-																	<Box>
-																		{report.finishedOn ? (
-																			<>
+																		<Group wrap="nowrap">
+																			<Progress
+																				flex={1}
+																				animated
+																				value={Number(report.progress)}
+																			/>
+																			<Text size="xs">
+																				{Number.parseFloat(
+																					report.progress,
+																				).toFixed(3)}
+																				%
+																			</Text>
+																		</Group>
+																	</>
+																) : null}
+															</Stack>
+														</Accordion.Control>
+														<Accordion.Panel
+															styles={{ content: { paddingTop: 0 } }}
+														>
+															<Stack>
+																<Box>
+																	<Group>
+																		{report.details ? (
+																			<Box>
 																				<Text span fw="bold" mr={4}>
-																					Finished on:
+																					Total imported:
 																				</Text>
-																				{dayjsLib(report.finishedOn).format(
-																					"lll",
-																				)}
-																			</>
+																				{report.details.import.total},
+																			</Box>
 																		) : null}
-																	</Box>
-																	{report.details ? (
 																		<Box>
 																			<Text span fw="bold" mr={4}>
-																				Failed:
+																				Started at:
 																			</Text>
-																			{report.details.failedItems.length}
+																			{dayjsLib(report.startedOn).format("lll")}
 																		</Box>
-																	) : null}
-																</Group>
-															</Box>
-															{report.details &&
-															report.details.failedItems.length > 0 ? (
-																<CodeHighlight
-																	mah={400}
-																	language="json"
-																	style={{ overflow: "scroll" }}
-																	code={JSON.stringify(
-																		report.details.failedItems,
-																		null,
-																		2,
-																	)}
-																/>
-															) : null}
-														</Stack>
-													</Accordion.Panel>
-												</Accordion.Item>
-											);
-										})}
-									</Accordion>
+																	</Group>
+																	<Group>
+																		<Box>
+																			{report.finishedOn ? (
+																				<>
+																					<Text span fw="bold" mr={4}>
+																						Finished on:
+																					</Text>
+																					{dayjsLib(report.finishedOn).format(
+																						"lll",
+																					)}
+																				</>
+																			) : null}
+																		</Box>
+																		{report.details ? (
+																			<Box>
+																				<Text span fw="bold" mr={4}>
+																					Failed:
+																				</Text>
+																				{report.details.failedItems.length}
+																			</Box>
+																		) : null}
+																	</Group>
+																</Box>
+																{report.details &&
+																report.details.failedItems.length > 0 ? (
+																	<CodeHighlight
+																		mah={400}
+																		language="json"
+																		style={{ overflow: "scroll" }}
+																		code={JSON.stringify(
+																			report.details.failedItems,
+																			null,
+																			2,
+																		)}
+																	/>
+																) : null}
+															</Stack>
+														</Accordion.Panel>
+													</Accordion.Item>
+												);
+											})}
+										</Accordion>
+									) : (
+										<Text>You have not performed any imports</Text>
+									)
 								) : (
-									<Text>You have not performed any imports</Text>
+									<Skeleton h={80} w="100%" />
 								)}
 							</Stack>
 						</Form>
diff --git a/crates/resolvers/importer/src/lib.rs b/crates/resolvers/importer/src/lib.rs
index 5921029b80..8e0f715451 100644
--- a/crates/resolvers/importer/src/lib.rs
+++ b/crates/resolvers/importer/src/lib.rs
@@ -14,10 +14,13 @@ impl AuthProvider for ImporterQuery {}
 #[Object]
 impl ImporterQuery {
     /// Get all the import jobs deployed by the user.
-    async fn import_reports(&self, gql_ctx: &Context<'_>) -> Result<Vec<import_report::Model>> {
+    async fn user_import_reports(
+        &self,
+        gql_ctx: &Context<'_>,
+    ) -> Result<Vec<import_report::Model>> {
         let service = gql_ctx.data_unchecked::<Arc<ImporterService>>();
         let user_id = self.user_id_from_ctx(gql_ctx).await?;
-        service.import_reports(user_id).await
+        service.user_import_reports(user_id).await
     }
 }
 
diff --git a/crates/services/importer/src/lib.rs b/crates/services/importer/src/lib.rs
index f518b060a5..a40ffb799a 100644
--- a/crates/services/importer/src/lib.rs
+++ b/crates/services/importer/src/lib.rs
@@ -57,7 +57,7 @@ impl ImporterService {
         Ok(true)
     }
 
-    pub async fn import_reports(&self, user_id: String) -> Result<Vec<import_report::Model>> {
+    pub async fn user_import_reports(&self, user_id: String) -> Result<Vec<import_report::Model>> {
         let reports = ImportReport::find()
             .filter(import_report::Column::UserId.eq(user_id))
             .order_by_desc(import_report::Column::StartedOn)
diff --git a/libs/generated/src/graphql/backend/gql.ts b/libs/generated/src/graphql/backend/gql.ts
index 4617d00df9..1795d8c568 100644
--- a/libs/generated/src/graphql/backend/gql.ts
+++ b/libs/generated/src/graphql/backend/gql.ts
@@ -22,7 +22,7 @@ type Documents = {
     "query UserExerciseDetails($exerciseId: String!) {\n  userExerciseDetails(exerciseId: $exerciseId) {\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n    history {\n      idx\n      workoutId\n      workoutEndOn\n      bestSet {\n        ...WorkoutSetRecordPart\n      }\n    }\n    details {\n      exerciseId\n      createdOn\n      lastUpdatedOn\n      exerciseNumTimesInteracted\n      exerciseExtraInformation {\n        settings {\n          excludeFromAnalytics\n          setRestTimers {\n            ...SetRestTimersPart\n          }\n        }\n        lifetimeStats {\n          weight\n          reps\n          distance\n          duration\n          personalBestsAchieved\n        }\n        personalBests {\n          lot\n          sets {\n            setIdx\n            workoutId\n            exerciseIdx\n          }\n        }\n      }\n    }\n  }\n}": typeof types.UserExerciseDetailsDocument,
     "query UserMeasurementsList($input: UserMeasurementsListInput!) {\n  userMeasurementsList(input: $input) {\n    timestamp\n    name\n    comment\n    stats {\n      weight\n      bodyMassIndex\n      totalBodyWater\n      muscle\n      leanBodyMass\n      bodyFat\n      boneMass\n      visceralFat\n      waistCircumference\n      waistToHeightRatio\n      hipCircumference\n      waistToHipRatio\n      chestCircumference\n      thighCircumference\n      bicepsCircumference\n      neckCircumference\n      bodyFatCaliper\n      chestSkinfold\n      abdominalSkinfold\n      thighSkinfold\n      basalMetabolicRate\n      totalDailyEnergyExpenditure\n      calories\n      custom\n    }\n  }\n}": typeof types.UserMeasurementsListDocument,
     "query UserMetadataDetails($metadataId: String!) {\n  userMetadataDetails(metadataId: $metadataId) {\n    mediaReason\n    hasInteracted\n    averageRating\n    seenByAllCount\n    seenByUserCount\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    history {\n      ...SeenPart\n    }\n    nextEntry {\n      season\n      volume\n      episode\n      chapter\n    }\n    inProgress {\n      ...SeenPart\n    }\n    collections {\n      ...CollectionPart\n    }\n    showProgress {\n      timesSeen\n      seasonNumber\n      episodes {\n        episodeNumber\n        timesSeen\n      }\n    }\n    podcastProgress {\n      episodeNumber\n      timesSeen\n    }\n  }\n}": typeof types.UserMetadataDetailsDocument,
-    "query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    subject\n    email\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery ImportReports {\n  importReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      parts\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      title\n      image\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      birthYear\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}": typeof types.GetOidcRedirectUrlDocument,
+    "query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    email\n    subject\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserImportReports {\n  userImportReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      parts\n      identifier\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      title\n      image\n      identifier\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      birthYear\n      identifier\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}": typeof types.GetOidcRedirectUrlDocument,
     "fragment SeenPodcastExtraInformationPart on SeenPodcastExtraInformation {\n  episode\n}\n\nfragment SeenShowExtraInformationPart on SeenShowExtraInformation {\n  episode\n  season\n}\n\nfragment SeenAnimeExtraInformationPart on SeenAnimeExtraInformation {\n  episode\n}\n\nfragment SeenMangaExtraInformationPart on SeenMangaExtraInformation {\n  volume\n  chapter\n}\n\nfragment CalendarEventPart on GraphqlCalendarEvent {\n  date\n  metadataId\n  metadataLot\n  metadataText\n  metadataImage\n  calendarEventId\n  showExtraInformation {\n    ...SeenShowExtraInformationPart\n  }\n  podcastExtraInformation {\n    ...SeenPodcastExtraInformationPart\n  }\n  animeExtraInformation {\n    ...SeenAnimeExtraInformationPart\n  }\n}\n\nfragment SeenPart on Seen {\n  id\n  state\n  progress\n  reviewId\n  startedOn\n  finishedOn\n  lastUpdatedOn\n  manualTimeSpent\n  numTimesUpdated\n  providerWatchedOn\n  showExtraInformation {\n    ...SeenShowExtraInformationPart\n  }\n  podcastExtraInformation {\n    ...SeenPodcastExtraInformationPart\n  }\n  animeExtraInformation {\n    ...SeenAnimeExtraInformationPart\n  }\n  mangaExtraInformation {\n    ...SeenMangaExtraInformationPart\n  }\n}\n\nfragment MetadataSearchItemPart on MetadataSearchItem {\n  title\n  image\n  identifier\n  publishYear\n}\n\nfragment WorkoutOrExerciseTotalsPart on WorkoutOrExerciseTotals {\n  reps\n  weight\n  distance\n  duration\n  restTime\n  personalBestsAchieved\n}\n\nfragment EntityAssetsPart on EntityAssets {\n  images\n  videos\n}\n\nfragment WorkoutSetStatisticPart on WorkoutSetStatistic {\n  reps\n  pace\n  oneRm\n  weight\n  volume\n  duration\n  distance\n}\n\nfragment WorkoutSetRecordPart on WorkoutSetRecord {\n  lot\n  personalBests\n  statistic {\n    ...WorkoutSetStatisticPart\n  }\n}\n\nfragment WorkoutSummaryPart on WorkoutSummary {\n  total {\n    ...WorkoutOrExerciseTotalsPart\n  }\n  exercises {\n    id\n    lot\n    numSets\n    bestSet {\n      ...WorkoutSetRecordPart\n    }\n  }\n  focused {\n    lots {\n      lot\n      exercises\n    }\n    levels {\n      level\n      exercises\n    }\n    forces {\n      force\n      exercises\n    }\n    muscles {\n      muscle\n      exercises\n    }\n    equipments {\n      equipment\n      exercises\n    }\n  }\n}\n\nfragment CollectionPart on Collection {\n  id\n  name\n  userId\n}\n\nfragment ReviewItemPart on ReviewItem {\n  id\n  rating\n  postedOn\n  isSpoiler\n  visibility\n  textOriginal\n  textRendered\n  seenItemsAssociatedWith\n  postedBy {\n    id\n    name\n  }\n  comments {\n    id\n    text\n    likedBy\n    createdOn\n    user {\n      id\n      name\n    }\n  }\n  showExtraInformation {\n    season\n    episode\n  }\n  podcastExtraInformation {\n    episode\n  }\n  animeExtraInformation {\n    ...SeenAnimeExtraInformationPart\n  }\n  mangaExtraInformation {\n    ...SeenMangaExtraInformationPart\n  }\n}\n\nfragment WorkoutInformationPart on WorkoutInformation {\n  comment\n  assets {\n    ...EntityAssetsPart\n  }\n  supersets {\n    color\n    exercises\n  }\n  exercises {\n    id\n    lot\n    notes\n    total {\n      ...WorkoutOrExerciseTotalsPart\n    }\n    assets {\n      ...EntityAssetsPart\n    }\n    sets {\n      lot\n      rpe\n      note\n      restTime\n      confirmedAt\n      personalBests\n      statistic {\n        ...WorkoutSetStatisticPart\n      }\n    }\n  }\n}\n\nfragment SetRestTimersPart on SetRestTimersSettings {\n  drop\n  warmup\n  normal\n  failure\n}\n\nfragment PersonDetailsGroupedByRolePart on PersonDetailsGroupedByRole {\n  name\n  count\n  items {\n    entityId\n    character\n  }\n}": typeof types.SeenPodcastExtraInformationPartFragmentDoc,
 };
 const documents: Documents = {
@@ -34,7 +34,7 @@ const documents: Documents = {
     "query UserExerciseDetails($exerciseId: String!) {\n  userExerciseDetails(exerciseId: $exerciseId) {\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n    history {\n      idx\n      workoutId\n      workoutEndOn\n      bestSet {\n        ...WorkoutSetRecordPart\n      }\n    }\n    details {\n      exerciseId\n      createdOn\n      lastUpdatedOn\n      exerciseNumTimesInteracted\n      exerciseExtraInformation {\n        settings {\n          excludeFromAnalytics\n          setRestTimers {\n            ...SetRestTimersPart\n          }\n        }\n        lifetimeStats {\n          weight\n          reps\n          distance\n          duration\n          personalBestsAchieved\n        }\n        personalBests {\n          lot\n          sets {\n            setIdx\n            workoutId\n            exerciseIdx\n          }\n        }\n      }\n    }\n  }\n}": types.UserExerciseDetailsDocument,
     "query UserMeasurementsList($input: UserMeasurementsListInput!) {\n  userMeasurementsList(input: $input) {\n    timestamp\n    name\n    comment\n    stats {\n      weight\n      bodyMassIndex\n      totalBodyWater\n      muscle\n      leanBodyMass\n      bodyFat\n      boneMass\n      visceralFat\n      waistCircumference\n      waistToHeightRatio\n      hipCircumference\n      waistToHipRatio\n      chestCircumference\n      thighCircumference\n      bicepsCircumference\n      neckCircumference\n      bodyFatCaliper\n      chestSkinfold\n      abdominalSkinfold\n      thighSkinfold\n      basalMetabolicRate\n      totalDailyEnergyExpenditure\n      calories\n      custom\n    }\n  }\n}": types.UserMeasurementsListDocument,
     "query UserMetadataDetails($metadataId: String!) {\n  userMetadataDetails(metadataId: $metadataId) {\n    mediaReason\n    hasInteracted\n    averageRating\n    seenByAllCount\n    seenByUserCount\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    history {\n      ...SeenPart\n    }\n    nextEntry {\n      season\n      volume\n      episode\n      chapter\n    }\n    inProgress {\n      ...SeenPart\n    }\n    collections {\n      ...CollectionPart\n    }\n    showProgress {\n      timesSeen\n      seasonNumber\n      episodes {\n        episodeNumber\n        timesSeen\n      }\n    }\n    podcastProgress {\n      episodeNumber\n      timesSeen\n    }\n  }\n}": types.UserMetadataDetailsDocument,
-    "query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    subject\n    email\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery ImportReports {\n  importReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      parts\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      title\n      image\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      birthYear\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}": types.GetOidcRedirectUrlDocument,
+    "query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    email\n    subject\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserImportReports {\n  userImportReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      parts\n      identifier\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      title\n      image\n      identifier\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      birthYear\n      identifier\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}": types.GetOidcRedirectUrlDocument,
     "fragment SeenPodcastExtraInformationPart on SeenPodcastExtraInformation {\n  episode\n}\n\nfragment SeenShowExtraInformationPart on SeenShowExtraInformation {\n  episode\n  season\n}\n\nfragment SeenAnimeExtraInformationPart on SeenAnimeExtraInformation {\n  episode\n}\n\nfragment SeenMangaExtraInformationPart on SeenMangaExtraInformation {\n  volume\n  chapter\n}\n\nfragment CalendarEventPart on GraphqlCalendarEvent {\n  date\n  metadataId\n  metadataLot\n  metadataText\n  metadataImage\n  calendarEventId\n  showExtraInformation {\n    ...SeenShowExtraInformationPart\n  }\n  podcastExtraInformation {\n    ...SeenPodcastExtraInformationPart\n  }\n  animeExtraInformation {\n    ...SeenAnimeExtraInformationPart\n  }\n}\n\nfragment SeenPart on Seen {\n  id\n  state\n  progress\n  reviewId\n  startedOn\n  finishedOn\n  lastUpdatedOn\n  manualTimeSpent\n  numTimesUpdated\n  providerWatchedOn\n  showExtraInformation {\n    ...SeenShowExtraInformationPart\n  }\n  podcastExtraInformation {\n    ...SeenPodcastExtraInformationPart\n  }\n  animeExtraInformation {\n    ...SeenAnimeExtraInformationPart\n  }\n  mangaExtraInformation {\n    ...SeenMangaExtraInformationPart\n  }\n}\n\nfragment MetadataSearchItemPart on MetadataSearchItem {\n  title\n  image\n  identifier\n  publishYear\n}\n\nfragment WorkoutOrExerciseTotalsPart on WorkoutOrExerciseTotals {\n  reps\n  weight\n  distance\n  duration\n  restTime\n  personalBestsAchieved\n}\n\nfragment EntityAssetsPart on EntityAssets {\n  images\n  videos\n}\n\nfragment WorkoutSetStatisticPart on WorkoutSetStatistic {\n  reps\n  pace\n  oneRm\n  weight\n  volume\n  duration\n  distance\n}\n\nfragment WorkoutSetRecordPart on WorkoutSetRecord {\n  lot\n  personalBests\n  statistic {\n    ...WorkoutSetStatisticPart\n  }\n}\n\nfragment WorkoutSummaryPart on WorkoutSummary {\n  total {\n    ...WorkoutOrExerciseTotalsPart\n  }\n  exercises {\n    id\n    lot\n    numSets\n    bestSet {\n      ...WorkoutSetRecordPart\n    }\n  }\n  focused {\n    lots {\n      lot\n      exercises\n    }\n    levels {\n      level\n      exercises\n    }\n    forces {\n      force\n      exercises\n    }\n    muscles {\n      muscle\n      exercises\n    }\n    equipments {\n      equipment\n      exercises\n    }\n  }\n}\n\nfragment CollectionPart on Collection {\n  id\n  name\n  userId\n}\n\nfragment ReviewItemPart on ReviewItem {\n  id\n  rating\n  postedOn\n  isSpoiler\n  visibility\n  textOriginal\n  textRendered\n  seenItemsAssociatedWith\n  postedBy {\n    id\n    name\n  }\n  comments {\n    id\n    text\n    likedBy\n    createdOn\n    user {\n      id\n      name\n    }\n  }\n  showExtraInformation {\n    season\n    episode\n  }\n  podcastExtraInformation {\n    episode\n  }\n  animeExtraInformation {\n    ...SeenAnimeExtraInformationPart\n  }\n  mangaExtraInformation {\n    ...SeenMangaExtraInformationPart\n  }\n}\n\nfragment WorkoutInformationPart on WorkoutInformation {\n  comment\n  assets {\n    ...EntityAssetsPart\n  }\n  supersets {\n    color\n    exercises\n  }\n  exercises {\n    id\n    lot\n    notes\n    total {\n      ...WorkoutOrExerciseTotalsPart\n    }\n    assets {\n      ...EntityAssetsPart\n    }\n    sets {\n      lot\n      rpe\n      note\n      restTime\n      confirmedAt\n      personalBests\n      statistic {\n        ...WorkoutSetStatisticPart\n      }\n    }\n  }\n}\n\nfragment SetRestTimersPart on SetRestTimersSettings {\n  drop\n  warmup\n  normal\n  failure\n}\n\nfragment PersonDetailsGroupedByRolePart on PersonDetailsGroupedByRole {\n  name\n  count\n  items {\n    entityId\n    character\n  }\n}": types.SeenPodcastExtraInformationPartFragmentDoc,
 };
 
@@ -87,7 +87,7 @@ export function graphql(source: "query UserMetadataDetails($metadataId: String!)
 /**
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
  */
-export function graphql(source: "query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    subject\n    email\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery ImportReports {\n  importReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      parts\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      title\n      image\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      birthYear\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}"): (typeof documents)["query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    subject\n    email\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery ImportReports {\n  importReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      parts\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      title\n      image\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      identifier\n      name\n      image\n      birthYear\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}"];
+export function graphql(source: "query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    email\n    subject\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserImportReports {\n  userImportReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      parts\n      identifier\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      title\n      image\n      identifier\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      birthYear\n      identifier\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}"): (typeof documents)["query GetOidcRedirectUrl {\n  getOidcRedirectUrl\n}\n\nquery UserByOidcIssuerId($oidcIssuerId: String!) {\n  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)\n}\n\nquery GetOidcToken($code: String!) {\n  getOidcToken(code: $code) {\n    email\n    subject\n  }\n}\n\nquery GetPresignedS3Url($key: String!) {\n  getPresignedS3Url(key: $key)\n}\n\nquery UserExports {\n  userExports {\n    url\n    key\n    size\n    endedAt\n    startedAt\n  }\n}\n\nquery UserCollectionsList {\n  userCollectionsList {\n    cacheId\n    response {\n      id\n      name\n      count\n      isDefault\n      description\n      creator {\n        id\n        name\n      }\n      collaborators {\n        extraInformation {\n          isHidden\n        }\n        collaborator {\n          id\n          name\n        }\n      }\n      informationTemplate {\n        lot\n        name\n        required\n        description\n        defaultValue\n      }\n    }\n  }\n}\n\nquery UserIntegrations {\n  userIntegrations {\n    id\n    lot\n    name\n    provider\n    createdOn\n    isDisabled\n    lastFinishedAt\n    maximumProgress\n    minimumProgress\n    syncToOwnedCollection\n    triggerResult {\n      error\n      finishedAt\n    }\n  }\n}\n\nquery UserNotificationPlatforms {\n  userNotificationPlatforms {\n    id\n    lot\n    createdOn\n    isDisabled\n    description\n  }\n}\n\nquery UsersList($query: String) {\n  usersList(query: $query) {\n    id\n    lot\n    name\n    isDisabled\n  }\n}\n\nquery UserMetadataRecommendations {\n  userMetadataRecommendations {\n    cacheId\n    response\n  }\n}\n\nquery UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {\n  userUpcomingCalendarEvents(input: $input) {\n    ...CalendarEventPart\n  }\n}\n\nquery UserCalendarEvents($input: UserCalendarEventInput!) {\n  userCalendarEvents(input: $input) {\n    date\n    events {\n      ...CalendarEventPart\n    }\n  }\n}\n\nquery MetadataPartialDetails($metadataId: String!) {\n  metadataPartialDetails(metadataId: $metadataId) {\n    id\n    lot\n    title\n    image\n    publishYear\n  }\n}\n\nquery UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {\n  userMetadataGroupsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserPeopleList($input: UserPeopleListInput!) {\n  userPeopleList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAccessLinks {\n  userAccessLinks {\n    id\n    name\n    createdOn\n    expiresOn\n    timesUsed\n    isRevoked\n    maximumUses\n    isAccountDefault\n    isMutationAllowed\n  }\n}\n\nquery ExerciseDetails($exerciseId: String!) {\n  exerciseDetails(exerciseId: $exerciseId) {\n    id\n    lot\n    name\n    level\n    force\n    source\n    muscles\n    mechanic\n    equipment\n    createdByUserId\n    attributes {\n      instructions\n      images\n    }\n  }\n}\n\nquery UserExercisesList($input: UserExercisesListInput!) {\n  userExercisesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserImportReports {\n  userImportReports {\n    id\n    source\n    progress\n    startedOn\n    finishedOn\n    wasSuccess\n    estimatedFinishTime\n    details {\n      import {\n        total\n      }\n      failedItems {\n        lot\n        step\n        error\n        identifier\n      }\n    }\n  }\n}\n\nquery GenresList($input: SearchInput!) {\n  genresList(input: $input) {\n    items\n    details {\n      total\n      nextPage\n    }\n  }\n}\n\nquery GenreDetails($input: GenreDetailsInput!) {\n  genreDetails(input: $input) {\n    details {\n      id\n      name\n      numItems\n    }\n    contents {\n      details {\n        total\n        nextPage\n      }\n      items\n    }\n  }\n}\n\nquery CollectionContents($input: CollectionContentsInput!) {\n  collectionContents(input: $input) {\n    cacheId\n    response {\n      totalItems\n      user {\n        id\n        name\n      }\n      reviews {\n        ...ReviewItemPart\n      }\n      details {\n        name\n        createdOn\n        description\n      }\n      results {\n        details {\n          total\n          nextPage\n        }\n        items {\n          entityId\n          entityLot\n        }\n      }\n    }\n  }\n}\n\nquery CoreDetails {\n  coreDetails {\n    version\n    docsLink\n    pageSize\n    websiteUrl\n    smtpEnabled\n    oidcEnabled\n    signupAllowed\n    repositoryLink\n    isDemoInstance\n    disableTelemetry\n    tokenValidForDays\n    localAuthDisabled\n    fileStorageEnabled\n    peopleSearchSources\n    isServerKeyValidated\n    metadataGroupSourceLotMappings {\n      lot\n      source\n    }\n    metadataLotSourceMappings {\n      lot\n      sources\n    }\n    metadataProviderLanguages {\n      source\n      default\n      supported\n    }\n    frontend {\n      url\n      oidcButtonLabel\n      dashboardMessage\n      umami {\n        domains\n        scriptUrl\n        websiteId\n      }\n    }\n    exerciseParameters {\n      lotMapping {\n        lot\n        bests\n      }\n      filters {\n        type\n        level\n        force\n        muscle\n        mechanic\n        equipment\n      }\n    }\n  }\n}\n\nquery MetadataGroupDetails($metadataGroupId: String!) {\n  metadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    contents\n    details {\n      id\n      lot\n      title\n      parts\n      source\n      isPartial\n      sourceUrl\n      identifier\n      description\n      displayImages\n    }\n  }\n}\n\nquery MetadataGroupSearch($input: MetadataGroupSearchInput!) {\n  metadataGroupSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      parts\n      identifier\n    }\n  }\n}\n\nquery UserMetadataList($input: UserMetadataListInput!) {\n  userMetadataList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery MetadataSearch($input: MetadataSearchInput!) {\n  metadataSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      title\n      image\n      identifier\n      publishYear\n    }\n  }\n}\n\nquery PeopleSearch($input: PeopleSearchInput!) {\n  peopleSearch(input: $input) {\n    details {\n      total\n      nextPage\n    }\n    items {\n      name\n      image\n      birthYear\n      identifier\n    }\n  }\n}\n\nquery UserMetadataGroupDetails($metadataGroupId: String!) {\n  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {\n    isRecentlyConsumed\n    reviews {\n      ...ReviewItemPart\n    }\n    collections {\n      ...CollectionPart\n    }\n  }\n}\n\nquery UserPersonDetails($personId: String!) {\n  userPersonDetails(personId: $personId) {\n    isRecentlyConsumed\n    collections {\n      ...CollectionPart\n    }\n    reviews {\n      ...ReviewItemPart\n    }\n  }\n}\n\nquery UserWorkoutDetails($workoutId: String!) {\n  userWorkoutDetails(workoutId: $workoutId) {\n    metadataConsumed\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      endTime\n      duration\n      startTime\n      templateId\n      repeatedFrom\n      caloriesBurnt\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutsList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplateDetails($workoutTemplateId: String!) {\n  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {\n    collections {\n      ...CollectionPart\n    }\n    details {\n      id\n      name\n      createdOn\n      summary {\n        ...WorkoutSummaryPart\n      }\n      information {\n        ...WorkoutInformationPart\n      }\n    }\n  }\n}\n\nquery UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {\n  userWorkoutTemplatesList(input: $input) {\n    cacheId\n    response {\n      items\n      details {\n        total\n        nextPage\n      }\n    }\n  }\n}\n\nquery UserAnalyticsParameters {\n  userAnalyticsParameters {\n    endDate\n    startDate\n  }\n}\n\nquery UserPendingNotifications {\n  userPendingNotifications {\n    id\n    message\n    createdOn\n  }\n}"];
 /**
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
  */
diff --git a/libs/generated/src/graphql/backend/graphql.ts b/libs/generated/src/graphql/backend/graphql.ts
index b76849f972..f1c8755aa8 100644
--- a/libs/generated/src/graphql/backend/graphql.ts
+++ b/libs/generated/src/graphql/backend/graphql.ts
@@ -1803,8 +1803,6 @@ export type QueryRoot = {
   getOidcToken: OidcTokenOutput;
   /** Get a presigned URL (valid for 90 minutes) for a given key. */
   getPresignedS3Url: Scalars['String']['output'];
-  /** Get all the import jobs deployed by the user. */
-  importReports: Array<ImportReport>;
   /** Get details about a media present in the database. */
   metadataDetails: GraphqlMetadataDetails;
   /** Get details about a metadata group present in the database. */
@@ -1839,6 +1837,8 @@ export type QueryRoot = {
   userExercisesList: CachedSearchIdResponse;
   /** Get all the export jobs for the current user. */
   userExports: Array<ExportJob>;
+  /** Get all the import jobs deployed by the user. */
+  userImportReports: Array<ImportReport>;
   /** Get all the integrations for the currently logged in user. */
   userIntegrations: Array<Integration>;
   /** Get all the measurements for a user. */
@@ -3561,7 +3561,7 @@ export type GetOidcTokenQueryVariables = Exact<{
 }>;
 
 
-export type GetOidcTokenQuery = { getOidcToken: { subject: string, email: string } };
+export type GetOidcTokenQuery = { getOidcToken: { email: string, subject: string } };
 
 export type GetPresignedS3UrlQueryVariables = Exact<{
   key: Scalars['String']['input'];
@@ -3656,10 +3656,10 @@ export type UserExercisesListQueryVariables = Exact<{
 
 export type UserExercisesListQuery = { userExercisesList: { cacheId: string, response: { items: Array<string>, details: { total: number, nextPage?: number | null } } } };
 
-export type ImportReportsQueryVariables = Exact<{ [key: string]: never; }>;
+export type UserImportReportsQueryVariables = Exact<{ [key: string]: never; }>;
 
 
-export type ImportReportsQuery = { importReports: Array<{ id: string, source: ImportSource, progress?: string | null, startedOn: string, finishedOn?: string | null, wasSuccess?: boolean | null, estimatedFinishTime: string, details?: { import: { total: number }, failedItems: Array<{ lot?: MediaLot | null, step: ImportFailStep, error?: string | null, identifier: string }> } | null }> };
+export type UserImportReportsQuery = { userImportReports: Array<{ id: string, source: ImportSource, progress?: string | null, startedOn: string, finishedOn?: string | null, wasSuccess?: boolean | null, estimatedFinishTime: string, details?: { import: { total: number }, failedItems: Array<{ lot?: MediaLot | null, step: ImportFailStep, error?: string | null, identifier: string }> } | null }> };
 
 export type GenresListQueryVariables = Exact<{
   input: SearchInput;
@@ -3699,7 +3699,7 @@ export type MetadataGroupSearchQueryVariables = Exact<{
 }>;
 
 
-export type MetadataGroupSearchQuery = { metadataGroupSearch: { details: { total: number, nextPage?: number | null }, items: Array<{ identifier: string, name: string, image?: string | null, parts?: number | null }> } };
+export type MetadataGroupSearchQuery = { metadataGroupSearch: { details: { total: number, nextPage?: number | null }, items: Array<{ name: string, image?: string | null, parts?: number | null, identifier: string }> } };
 
 export type UserMetadataListQueryVariables = Exact<{
   input: UserMetadataListInput;
@@ -3713,14 +3713,14 @@ export type MetadataSearchQueryVariables = Exact<{
 }>;
 
 
-export type MetadataSearchQuery = { metadataSearch: { details: { total: number, nextPage?: number | null }, items: Array<{ identifier: string, title: string, image?: string | null, publishYear?: number | null }> } };
+export type MetadataSearchQuery = { metadataSearch: { details: { total: number, nextPage?: number | null }, items: Array<{ title: string, image?: string | null, identifier: string, publishYear?: number | null }> } };
 
 export type PeopleSearchQueryVariables = Exact<{
   input: PeopleSearchInput;
 }>;
 
 
-export type PeopleSearchQuery = { peopleSearch: { details: { total: number, nextPage?: number | null }, items: Array<{ identifier: string, name: string, image?: string | null, birthYear?: number | null }> } };
+export type PeopleSearchQuery = { peopleSearch: { details: { total: number, nextPage?: number | null }, items: Array<{ name: string, image?: string | null, birthYear?: number | null, identifier: string }> } };
 
 export type UserMetadataGroupDetailsQueryVariables = Exact<{
   metadataGroupId: Scalars['String']['input'];
@@ -3889,7 +3889,7 @@ export const UserMeasurementsListDocument = {"kind":"Document","definitions":[{"
 export const UserMetadataDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserMetadataDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"metadataId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userMetadataDetails"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"metadataId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"metadataId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"mediaReason"}},{"kind":"Field","name":{"kind":"Name","value":"hasInteracted"}},{"kind":"Field","name":{"kind":"Name","value":"averageRating"}},{"kind":"Field","name":{"kind":"Name","value":"seenByAllCount"}},{"kind":"Field","name":{"kind":"Name","value":"seenByUserCount"}},{"kind":"Field","name":{"kind":"Name","value":"isRecentlyConsumed"}},{"kind":"Field","name":{"kind":"Name","value":"reviews"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ReviewItemPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"history"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"nextEntry"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"season"}},{"kind":"Field","name":{"kind":"Name","value":"volume"}},{"kind":"Field","name":{"kind":"Name","value":"episode"}},{"kind":"Field","name":{"kind":"Name","value":"chapter"}}]}},{"kind":"Field","name":{"kind":"Name","value":"inProgress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"collections"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CollectionPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"showProgress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"timesSeen"}},{"kind":"Field","name":{"kind":"Name","value":"seasonNumber"}},{"kind":"Field","name":{"kind":"Name","value":"episodes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episodeNumber"}},{"kind":"Field","name":{"kind":"Name","value":"timesSeen"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"podcastProgress"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episodeNumber"}},{"kind":"Field","name":{"kind":"Name","value":"timesSeen"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenAnimeExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenMangaExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"volume"}},{"kind":"Field","name":{"kind":"Name","value":"chapter"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenShowExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenShowExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}},{"kind":"Field","name":{"kind":"Name","value":"season"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenPodcastExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenPodcastExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ReviewItemPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ReviewItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"rating"}},{"kind":"Field","name":{"kind":"Name","value":"postedOn"}},{"kind":"Field","name":{"kind":"Name","value":"isSpoiler"}},{"kind":"Field","name":{"kind":"Name","value":"visibility"}},{"kind":"Field","name":{"kind":"Name","value":"textOriginal"}},{"kind":"Field","name":{"kind":"Name","value":"textRendered"}},{"kind":"Field","name":{"kind":"Name","value":"seenItemsAssociatedWith"}},{"kind":"Field","name":{"kind":"Name","value":"postedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"comments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"likedBy"}},{"kind":"Field","name":{"kind":"Name","value":"createdOn"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"showExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"season"}},{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"podcastExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"animeExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"mangaExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Seen"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"state"}},{"kind":"Field","name":{"kind":"Name","value":"progress"}},{"kind":"Field","name":{"kind":"Name","value":"reviewId"}},{"kind":"Field","name":{"kind":"Name","value":"startedOn"}},{"kind":"Field","name":{"kind":"Name","value":"finishedOn"}},{"kind":"Field","name":{"kind":"Name","value":"lastUpdatedOn"}},{"kind":"Field","name":{"kind":"Name","value":"manualTimeSpent"}},{"kind":"Field","name":{"kind":"Name","value":"numTimesUpdated"}},{"kind":"Field","name":{"kind":"Name","value":"providerWatchedOn"}},{"kind":"Field","name":{"kind":"Name","value":"showExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenShowExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"podcastExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenPodcastExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"animeExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"mangaExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CollectionPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}}]}}]} as unknown as DocumentNode<UserMetadataDetailsQuery, UserMetadataDetailsQueryVariables>;
 export const GetOidcRedirectUrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetOidcRedirectUrl"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getOidcRedirectUrl"}}]}}]} as unknown as DocumentNode<GetOidcRedirectUrlQuery, GetOidcRedirectUrlQueryVariables>;
 export const UserByOidcIssuerIdDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserByOidcIssuerId"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"oidcIssuerId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userByOidcIssuerId"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"oidcIssuerId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"oidcIssuerId"}}}]}]}}]} as unknown as DocumentNode<UserByOidcIssuerIdQuery, UserByOidcIssuerIdQueryVariables>;
-export const GetOidcTokenDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetOidcToken"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"code"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getOidcToken"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"code"},"value":{"kind":"Variable","name":{"kind":"Name","value":"code"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"subject"}},{"kind":"Field","name":{"kind":"Name","value":"email"}}]}}]}}]} as unknown as DocumentNode<GetOidcTokenQuery, GetOidcTokenQueryVariables>;
+export const GetOidcTokenDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetOidcToken"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"code"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getOidcToken"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"code"},"value":{"kind":"Variable","name":{"kind":"Name","value":"code"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"subject"}}]}}]}}]} as unknown as DocumentNode<GetOidcTokenQuery, GetOidcTokenQueryVariables>;
 export const GetPresignedS3UrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetPresignedS3Url"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"key"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getPresignedS3Url"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"key"},"value":{"kind":"Variable","name":{"kind":"Name","value":"key"}}}]}]}}]} as unknown as DocumentNode<GetPresignedS3UrlQuery, GetPresignedS3UrlQueryVariables>;
 export const UserExportsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserExports"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userExports"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"size"}},{"kind":"Field","name":{"kind":"Name","value":"endedAt"}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}}]}}]}}]} as unknown as DocumentNode<UserExportsQuery, UserExportsQueryVariables>;
 export const UserCollectionsListDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserCollectionsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userCollectionsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cacheId"}},{"kind":"Field","name":{"kind":"Name","value":"response"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"isDefault"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"creator"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"collaborators"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"extraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"isHidden"}}]}},{"kind":"Field","name":{"kind":"Name","value":"collaborator"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"informationTemplate"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"required"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}}]}}]}}]}}]}}]} as unknown as DocumentNode<UserCollectionsListQuery, UserCollectionsListQueryVariables>;
@@ -3905,16 +3905,16 @@ export const UserPeopleListDocument = {"kind":"Document","definitions":[{"kind":
 export const UserAccessLinksDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserAccessLinks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userAccessLinks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"createdOn"}},{"kind":"Field","name":{"kind":"Name","value":"expiresOn"}},{"kind":"Field","name":{"kind":"Name","value":"timesUsed"}},{"kind":"Field","name":{"kind":"Name","value":"isRevoked"}},{"kind":"Field","name":{"kind":"Name","value":"maximumUses"}},{"kind":"Field","name":{"kind":"Name","value":"isAccountDefault"}},{"kind":"Field","name":{"kind":"Name","value":"isMutationAllowed"}}]}}]}}]} as unknown as DocumentNode<UserAccessLinksQuery, UserAccessLinksQueryVariables>;
 export const ExerciseDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ExerciseDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"exerciseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"exerciseDetails"},"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":"id"}},{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"level"}},{"kind":"Field","name":{"kind":"Name","value":"force"}},{"kind":"Field","name":{"kind":"Name","value":"source"}},{"kind":"Field","name":{"kind":"Name","value":"muscles"}},{"kind":"Field","name":{"kind":"Name","value":"mechanic"}},{"kind":"Field","name":{"kind":"Name","value":"equipment"}},{"kind":"Field","name":{"kind":"Name","value":"createdByUserId"}},{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"instructions"}},{"kind":"Field","name":{"kind":"Name","value":"images"}}]}}]}}]}}]} as unknown as DocumentNode<ExerciseDetailsQuery, ExerciseDetailsQueryVariables>;
 export const UserExercisesListDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserExercisesList"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UserExercisesListInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userExercisesList"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cacheId"}},{"kind":"Field","name":{"kind":"Name","value":"response"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}}]}}]}}]}}]} as unknown as DocumentNode<UserExercisesListQuery, UserExercisesListQueryVariables>;
-export const ImportReportsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ImportReports"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"importReports"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"source"}},{"kind":"Field","name":{"kind":"Name","value":"progress"}},{"kind":"Field","name":{"kind":"Name","value":"startedOn"}},{"kind":"Field","name":{"kind":"Name","value":"finishedOn"}},{"kind":"Field","name":{"kind":"Name","value":"wasSuccess"}},{"kind":"Field","name":{"kind":"Name","value":"estimatedFinishTime"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"import"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}}]}},{"kind":"Field","name":{"kind":"Name","value":"failedItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"step"}},{"kind":"Field","name":{"kind":"Name","value":"error"}},{"kind":"Field","name":{"kind":"Name","value":"identifier"}}]}}]}}]}}]}}]} as unknown as DocumentNode<ImportReportsQuery, ImportReportsQueryVariables>;
+export const UserImportReportsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserImportReports"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userImportReports"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"source"}},{"kind":"Field","name":{"kind":"Name","value":"progress"}},{"kind":"Field","name":{"kind":"Name","value":"startedOn"}},{"kind":"Field","name":{"kind":"Name","value":"finishedOn"}},{"kind":"Field","name":{"kind":"Name","value":"wasSuccess"}},{"kind":"Field","name":{"kind":"Name","value":"estimatedFinishTime"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"import"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}}]}},{"kind":"Field","name":{"kind":"Name","value":"failedItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"step"}},{"kind":"Field","name":{"kind":"Name","value":"error"}},{"kind":"Field","name":{"kind":"Name","value":"identifier"}}]}}]}}]}}]}}]} as unknown as DocumentNode<UserImportReportsQuery, UserImportReportsQueryVariables>;
 export const GenresListDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GenresList"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"genresList"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}}]}}]}}]} as unknown as DocumentNode<GenresListQuery, GenresListQueryVariables>;
 export const GenreDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GenreDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"GenreDetailsInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"genreDetails"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"numItems"}}]}},{"kind":"Field","name":{"kind":"Name","value":"contents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"}}]}}]}}]}}]} as unknown as DocumentNode<GenreDetailsQuery, GenreDetailsQueryVariables>;
 export const CollectionContentsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CollectionContents"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CollectionContentsInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"collectionContents"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cacheId"}},{"kind":"Field","name":{"kind":"Name","value":"response"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"totalItems"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reviews"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ReviewItemPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"createdOn"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"entityId"}},{"kind":"Field","name":{"kind":"Name","value":"entityLot"}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenAnimeExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenMangaExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"volume"}},{"kind":"Field","name":{"kind":"Name","value":"chapter"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ReviewItemPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ReviewItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"rating"}},{"kind":"Field","name":{"kind":"Name","value":"postedOn"}},{"kind":"Field","name":{"kind":"Name","value":"isSpoiler"}},{"kind":"Field","name":{"kind":"Name","value":"visibility"}},{"kind":"Field","name":{"kind":"Name","value":"textOriginal"}},{"kind":"Field","name":{"kind":"Name","value":"textRendered"}},{"kind":"Field","name":{"kind":"Name","value":"seenItemsAssociatedWith"}},{"kind":"Field","name":{"kind":"Name","value":"postedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"comments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"likedBy"}},{"kind":"Field","name":{"kind":"Name","value":"createdOn"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"showExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"season"}},{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"podcastExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"animeExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"mangaExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"}}]}}]}}]} as unknown as DocumentNode<CollectionContentsQuery, CollectionContentsQueryVariables>;
 export const CoreDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CoreDetails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"coreDetails"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"docsLink"}},{"kind":"Field","name":{"kind":"Name","value":"pageSize"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"smtpEnabled"}},{"kind":"Field","name":{"kind":"Name","value":"oidcEnabled"}},{"kind":"Field","name":{"kind":"Name","value":"signupAllowed"}},{"kind":"Field","name":{"kind":"Name","value":"repositoryLink"}},{"kind":"Field","name":{"kind":"Name","value":"isDemoInstance"}},{"kind":"Field","name":{"kind":"Name","value":"disableTelemetry"}},{"kind":"Field","name":{"kind":"Name","value":"tokenValidForDays"}},{"kind":"Field","name":{"kind":"Name","value":"localAuthDisabled"}},{"kind":"Field","name":{"kind":"Name","value":"fileStorageEnabled"}},{"kind":"Field","name":{"kind":"Name","value":"peopleSearchSources"}},{"kind":"Field","name":{"kind":"Name","value":"isServerKeyValidated"}},{"kind":"Field","name":{"kind":"Name","value":"metadataGroupSourceLotMappings"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"source"}}]}},{"kind":"Field","name":{"kind":"Name","value":"metadataLotSourceMappings"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"sources"}}]}},{"kind":"Field","name":{"kind":"Name","value":"metadataProviderLanguages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"source"}},{"kind":"Field","name":{"kind":"Name","value":"default"}},{"kind":"Field","name":{"kind":"Name","value":"supported"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontend"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"oidcButtonLabel"}},{"kind":"Field","name":{"kind":"Name","value":"dashboardMessage"}},{"kind":"Field","name":{"kind":"Name","value":"umami"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"domains"}},{"kind":"Field","name":{"kind":"Name","value":"scriptUrl"}},{"kind":"Field","name":{"kind":"Name","value":"websiteId"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"exerciseParameters"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lotMapping"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"bests"}}]}},{"kind":"Field","name":{"kind":"Name","value":"filters"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"level"}},{"kind":"Field","name":{"kind":"Name","value":"force"}},{"kind":"Field","name":{"kind":"Name","value":"muscle"}},{"kind":"Field","name":{"kind":"Name","value":"mechanic"}},{"kind":"Field","name":{"kind":"Name","value":"equipment"}}]}}]}}]}}]}}]} as unknown as DocumentNode<CoreDetailsQuery, CoreDetailsQueryVariables>;
 export const MetadataGroupDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"MetadataGroupDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"metadataGroupId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metadataGroupDetails"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"metadataGroupId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"metadataGroupId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"contents"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"parts"}},{"kind":"Field","name":{"kind":"Name","value":"source"}},{"kind":"Field","name":{"kind":"Name","value":"isPartial"}},{"kind":"Field","name":{"kind":"Name","value":"sourceUrl"}},{"kind":"Field","name":{"kind":"Name","value":"identifier"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"displayImages"}}]}}]}}]}}]} as unknown as DocumentNode<MetadataGroupDetailsQuery, MetadataGroupDetailsQueryVariables>;
-export const MetadataGroupSearchDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"MetadataGroupSearch"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MetadataGroupSearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metadataGroupSearch"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"identifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"image"}},{"kind":"Field","name":{"kind":"Name","value":"parts"}}]}}]}}]}}]} as unknown as DocumentNode<MetadataGroupSearchQuery, MetadataGroupSearchQueryVariables>;
+export const MetadataGroupSearchDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"MetadataGroupSearch"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MetadataGroupSearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metadataGroupSearch"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"image"}},{"kind":"Field","name":{"kind":"Name","value":"parts"}},{"kind":"Field","name":{"kind":"Name","value":"identifier"}}]}}]}}]}}]} as unknown as DocumentNode<MetadataGroupSearchQuery, MetadataGroupSearchQueryVariables>;
 export const UserMetadataListDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserMetadataList"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UserMetadataListInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userMetadataList"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cacheId"}},{"kind":"Field","name":{"kind":"Name","value":"response"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}}]}}]}}]}}]} as unknown as DocumentNode<UserMetadataListQuery, UserMetadataListQueryVariables>;
-export const MetadataSearchDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"MetadataSearch"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MetadataSearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metadataSearch"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"identifier"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"image"}},{"kind":"Field","name":{"kind":"Name","value":"publishYear"}}]}}]}}]}}]} as unknown as DocumentNode<MetadataSearchQuery, MetadataSearchQueryVariables>;
-export const PeopleSearchDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"PeopleSearch"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PeopleSearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"peopleSearch"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"identifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"image"}},{"kind":"Field","name":{"kind":"Name","value":"birthYear"}}]}}]}}]}}]} as unknown as DocumentNode<PeopleSearchQuery, PeopleSearchQueryVariables>;
+export const MetadataSearchDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"MetadataSearch"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"MetadataSearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metadataSearch"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"image"}},{"kind":"Field","name":{"kind":"Name","value":"identifier"}},{"kind":"Field","name":{"kind":"Name","value":"publishYear"}}]}}]}}]}}]} as unknown as DocumentNode<MetadataSearchQuery, MetadataSearchQueryVariables>;
+export const PeopleSearchDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"PeopleSearch"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"PeopleSearchInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"peopleSearch"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"}},{"kind":"Field","name":{"kind":"Name","value":"nextPage"}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"image"}},{"kind":"Field","name":{"kind":"Name","value":"birthYear"}},{"kind":"Field","name":{"kind":"Name","value":"identifier"}}]}}]}}]}}]} as unknown as DocumentNode<PeopleSearchQuery, PeopleSearchQueryVariables>;
 export const UserMetadataGroupDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserMetadataGroupDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"metadataGroupId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userMetadataGroupDetails"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"metadataGroupId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"metadataGroupId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"isRecentlyConsumed"}},{"kind":"Field","name":{"kind":"Name","value":"reviews"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ReviewItemPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"collections"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CollectionPart"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenAnimeExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenMangaExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"volume"}},{"kind":"Field","name":{"kind":"Name","value":"chapter"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ReviewItemPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ReviewItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"rating"}},{"kind":"Field","name":{"kind":"Name","value":"postedOn"}},{"kind":"Field","name":{"kind":"Name","value":"isSpoiler"}},{"kind":"Field","name":{"kind":"Name","value":"visibility"}},{"kind":"Field","name":{"kind":"Name","value":"textOriginal"}},{"kind":"Field","name":{"kind":"Name","value":"textRendered"}},{"kind":"Field","name":{"kind":"Name","value":"seenItemsAssociatedWith"}},{"kind":"Field","name":{"kind":"Name","value":"postedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"comments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"likedBy"}},{"kind":"Field","name":{"kind":"Name","value":"createdOn"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"showExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"season"}},{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"podcastExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"animeExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"mangaExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CollectionPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}}]}}]} as unknown as DocumentNode<UserMetadataGroupDetailsQuery, UserMetadataGroupDetailsQueryVariables>;
 export const UserPersonDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserPersonDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"personId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userPersonDetails"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"personId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"personId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"isRecentlyConsumed"}},{"kind":"Field","name":{"kind":"Name","value":"collections"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CollectionPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"reviews"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ReviewItemPart"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenAnimeExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"SeenMangaExtraInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"volume"}},{"kind":"Field","name":{"kind":"Name","value":"chapter"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CollectionPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ReviewItemPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ReviewItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"rating"}},{"kind":"Field","name":{"kind":"Name","value":"postedOn"}},{"kind":"Field","name":{"kind":"Name","value":"isSpoiler"}},{"kind":"Field","name":{"kind":"Name","value":"visibility"}},{"kind":"Field","name":{"kind":"Name","value":"textOriginal"}},{"kind":"Field","name":{"kind":"Name","value":"textRendered"}},{"kind":"Field","name":{"kind":"Name","value":"seenItemsAssociatedWith"}},{"kind":"Field","name":{"kind":"Name","value":"postedBy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"comments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"text"}},{"kind":"Field","name":{"kind":"Name","value":"likedBy"}},{"kind":"Field","name":{"kind":"Name","value":"createdOn"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"showExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"season"}},{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"podcastExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"episode"}}]}},{"kind":"Field","name":{"kind":"Name","value":"animeExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenAnimeExtraInformationPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"mangaExtraInformation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SeenMangaExtraInformationPart"}}]}}]}}]} as unknown as DocumentNode<UserPersonDetailsQuery, UserPersonDetailsQueryVariables>;
 export const UserWorkoutDetailsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"UserWorkoutDetails"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workoutId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"userWorkoutDetails"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"workoutId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workoutId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"metadataConsumed"}},{"kind":"Field","name":{"kind":"Name","value":"collections"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CollectionPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"details"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"endTime"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}},{"kind":"Field","name":{"kind":"Name","value":"startTime"}},{"kind":"Field","name":{"kind":"Name","value":"templateId"}},{"kind":"Field","name":{"kind":"Name","value":"repeatedFrom"}},{"kind":"Field","name":{"kind":"Name","value":"caloriesBurnt"}},{"kind":"Field","name":{"kind":"Name","value":"summary"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutSummaryPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"information"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutInformationPart"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkoutOrExerciseTotalsPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkoutOrExerciseTotals"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"reps"}},{"kind":"Field","name":{"kind":"Name","value":"weight"}},{"kind":"Field","name":{"kind":"Name","value":"distance"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}},{"kind":"Field","name":{"kind":"Name","value":"restTime"}},{"kind":"Field","name":{"kind":"Name","value":"personalBestsAchieved"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkoutSetStatisticPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkoutSetStatistic"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"reps"}},{"kind":"Field","name":{"kind":"Name","value":"pace"}},{"kind":"Field","name":{"kind":"Name","value":"oneRm"}},{"kind":"Field","name":{"kind":"Name","value":"weight"}},{"kind":"Field","name":{"kind":"Name","value":"volume"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}},{"kind":"Field","name":{"kind":"Name","value":"distance"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkoutSetRecordPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkoutSetRecord"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"personalBests"}},{"kind":"Field","name":{"kind":"Name","value":"statistic"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutSetStatisticPart"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"EntityAssetsPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EntityAssets"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"images"}},{"kind":"Field","name":{"kind":"Name","value":"videos"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CollectionPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Collection"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkoutSummaryPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkoutSummary"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutOrExerciseTotalsPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"numSets"}},{"kind":"Field","name":{"kind":"Name","value":"bestSet"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutSetRecordPart"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"focused"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lots"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"exercises"}}]}},{"kind":"Field","name":{"kind":"Name","value":"levels"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"level"}},{"kind":"Field","name":{"kind":"Name","value":"exercises"}}]}},{"kind":"Field","name":{"kind":"Name","value":"forces"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"force"}},{"kind":"Field","name":{"kind":"Name","value":"exercises"}}]}},{"kind":"Field","name":{"kind":"Name","value":"muscles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"muscle"}},{"kind":"Field","name":{"kind":"Name","value":"exercises"}}]}},{"kind":"Field","name":{"kind":"Name","value":"equipments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"equipment"}},{"kind":"Field","name":{"kind":"Name","value":"exercises"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"WorkoutInformationPart"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkoutInformation"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"comment"}},{"kind":"Field","name":{"kind":"Name","value":"assets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EntityAssetsPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"supersets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"exercises"}}]}},{"kind":"Field","name":{"kind":"Name","value":"exercises"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"notes"}},{"kind":"Field","name":{"kind":"Name","value":"total"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutOrExerciseTotalsPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"assets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"EntityAssetsPart"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lot"}},{"kind":"Field","name":{"kind":"Name","value":"rpe"}},{"kind":"Field","name":{"kind":"Name","value":"note"}},{"kind":"Field","name":{"kind":"Name","value":"restTime"}},{"kind":"Field","name":{"kind":"Name","value":"confirmedAt"}},{"kind":"Field","name":{"kind":"Name","value":"personalBests"}},{"kind":"Field","name":{"kind":"Name","value":"statistic"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"WorkoutSetStatisticPart"}}]}}]}}]}}]}}]} as unknown as DocumentNode<UserWorkoutDetailsQuery, UserWorkoutDetailsQueryVariables>;
diff --git a/libs/generated/src/graphql/backend/types.generated.ts b/libs/generated/src/graphql/backend/types.generated.ts
index 68117644a0..2eaaea5d5e 100644
--- a/libs/generated/src/graphql/backend/types.generated.ts
+++ b/libs/generated/src/graphql/backend/types.generated.ts
@@ -1853,8 +1853,6 @@ export type QueryRoot = {
   getOidcToken: OidcTokenOutput;
   /** Get a presigned URL (valid for 90 minutes) for a given key. */
   getPresignedS3Url: Scalars['String']['output'];
-  /** Get all the import jobs deployed by the user. */
-  importReports: Array<ImportReport>;
   /** Get details about a media present in the database. */
   metadataDetails: GraphqlMetadataDetails;
   /** Get details about a metadata group present in the database. */
@@ -1889,6 +1887,8 @@ export type QueryRoot = {
   userExercisesList: CachedSearchIdResponse;
   /** Get all the export jobs for the current user. */
   userExports: Array<ExportJob>;
+  /** Get all the import jobs deployed by the user. */
+  userImportReports: Array<ImportReport>;
   /** Get all the integrations for the currently logged in user. */
   userIntegrations: Array<Integration>;
   /** Get all the measurements for a user. */
diff --git a/libs/graphql/src/backend/mutations/combined.gql b/libs/graphql/src/backend/mutations/combined.gql
index 89381bb625..6f524e13ca 100644
--- a/libs/graphql/src/backend/mutations/combined.gql
+++ b/libs/graphql/src/backend/mutations/combined.gql
@@ -1,276 +1,276 @@
 mutation RegisterUser($input: RegisterUserInput!) {
-  registerUser(input: $input) {
-    __typename
-    ... on RegisterError {
-      error
-    }
-    ... on StringIdObject {
-      id
-    }
-  }
+	registerUser(input: $input) {
+		__typename
+		... on RegisterError {
+			error
+		}
+		... on StringIdObject {
+			id
+		}
+	}
 }
 
 mutation LoginUser($input: AuthUserInput!) {
-  loginUser(input: $input) {
-    __typename
-    ... on LoginError {
-      error
-    }
-    ... on LoginResponse {
-      apiKey
-    }
-  }
+	loginUser(input: $input) {
+		__typename
+		... on LoginError {
+			error
+		}
+		... on LoginResponse {
+			apiKey
+		}
+	}
 }
 
 mutation AddEntityToCollection($input: ChangeCollectionToEntityInput!) {
-  addEntityToCollection(input: $input)
+	addEntityToCollection(input: $input)
 }
 
 mutation CommitMetadata($input: CommitMediaInput!) {
-  commitMetadata(input: $input) {
-    id
-  }
+	commitMetadata(input: $input) {
+		id
+	}
 }
 
 mutation CommitMetadataGroup($input: CommitMediaInput!) {
-  commitMetadataGroup(input: $input) {
-    id
-  }
+	commitMetadataGroup(input: $input) {
+		id
+	}
 }
 
 mutation CommitPerson($input: CommitPersonInput!) {
-  commitPerson(input: $input) {
-    id
-  }
+	commitPerson(input: $input) {
+		id
+	}
 }
 
 mutation CreateCustomExercise($input: ExerciseInput!) {
-  createCustomExercise(input: $input)
+	createCustomExercise(input: $input)
 }
 
 mutation UpdateCustomExercise($input: UpdateCustomExerciseInput!) {
-  updateCustomExercise(input: $input)
+	updateCustomExercise(input: $input)
 }
 
 mutation UpdateUserIntegration($input: UpdateUserIntegrationInput!) {
-  updateUserIntegration(input: $input)
+	updateUserIntegration(input: $input)
 }
 
 mutation CreateCustomMetadata($input: CreateCustomMetadataInput!) {
-  createCustomMetadata(input: $input) {
-    id
-  }
+	createCustomMetadata(input: $input) {
+		id
+	}
 }
 
 mutation UpdateCustomMetadata($input: UpdateCustomMetadataInput!) {
-  updateCustomMetadata(input: $input)
+	updateCustomMetadata(input: $input)
 }
 
 mutation CreateOrUpdateCollection($input: CreateOrUpdateCollectionInput!) {
-  createOrUpdateCollection(input: $input) {
-    id
-  }
+	createOrUpdateCollection(input: $input) {
+		id
+	}
 }
 
 mutation CreateReviewComment($input: CreateReviewCommentInput!) {
-  createReviewComment(input: $input)
+	createReviewComment(input: $input)
 }
 
 mutation CreateUserMeasurement($input: UserMeasurementInput!) {
-  createUserMeasurement(input: $input)
+	createUserMeasurement(input: $input)
 }
 
 mutation CreateUserNotificationPlatform(
-  $input: CreateUserNotificationPlatformInput!
+	$input: CreateUserNotificationPlatformInput!
 ) {
-  createUserNotificationPlatform(input: $input)
+	createUserNotificationPlatform(input: $input)
 }
 
 mutation CreateUserIntegration($input: CreateUserIntegrationInput!) {
-  createUserIntegration(input: $input) {
-    id
-  }
+	createUserIntegration(input: $input) {
+		id
+	}
 }
 
 mutation CreateOrUpdateUserWorkout($input: UserWorkoutInput!) {
-  createOrUpdateUserWorkout(input: $input)
+	createOrUpdateUserWorkout(input: $input)
 }
 
 mutation CreateOrUpdateUserWorkoutTemplate($input: UserWorkoutInput!) {
-  createOrUpdateUserWorkoutTemplate(input: $input)
+	createOrUpdateUserWorkoutTemplate(input: $input)
 }
 
 mutation DeleteCollection($collectionName: String!) {
-  deleteCollection(collectionName: $collectionName)
+	deleteCollection(collectionName: $collectionName)
 }
 
 mutation DeleteReview($reviewId: String!) {
-  deleteReview(reviewId: $reviewId)
+	deleteReview(reviewId: $reviewId)
 }
 
 mutation DeleteS3Object($key: String!) {
-  deleteS3Object(key: $key)
+	deleteS3Object(key: $key)
 }
 
 mutation DeleteSeenItem($seenId: String!) {
-  deleteSeenItem(seenId: $seenId) {
-    id
-  }
+	deleteSeenItem(seenId: $seenId) {
+		id
+	}
 }
 
 mutation DeleteUser($toDeleteUserId: String!) {
-  deleteUser(toDeleteUserId: $toDeleteUserId)
+	deleteUser(toDeleteUserId: $toDeleteUserId)
 }
 
 mutation DeleteUserIntegration($integrationId: String!) {
-  deleteUserIntegration(integrationId: $integrationId)
+	deleteUserIntegration(integrationId: $integrationId)
 }
 
 mutation DeleteUserMeasurement($timestamp: DateTime!) {
-  deleteUserMeasurement(timestamp: $timestamp)
+	deleteUserMeasurement(timestamp: $timestamp)
 }
 
 mutation DeleteUserNotificationPlatform($notificationId: String!) {
-  deleteUserNotificationPlatform(notificationId: $notificationId)
+	deleteUserNotificationPlatform(notificationId: $notificationId)
 }
 
 mutation DeleteUserWorkout($workoutId: String!) {
-  deleteUserWorkout(workoutId: $workoutId)
+	deleteUserWorkout(workoutId: $workoutId)
 }
 
 mutation DeleteUserWorkoutTemplate($workoutTemplateId: String!) {
-  deleteUserWorkoutTemplate(workoutTemplateId: $workoutTemplateId)
+	deleteUserWorkoutTemplate(workoutTemplateId: $workoutTemplateId)
 }
 
 mutation DeployBackgroundJob($jobName: BackgroundJob!) {
-  deployBackgroundJob(jobName: $jobName)
+	deployBackgroundJob(jobName: $jobName)
 }
 
 mutation DeployBulkProgressUpdate($input: [ProgressUpdateInput!]!) {
-  deployBulkProgressUpdate(input: $input)
+	deployBulkProgressUpdate(input: $input)
 }
 
 mutation DeployExportJob {
-  deployExportJob
+	deployExportJob
 }
 
 mutation DeployImportJob($input: DeployImportJobInput!) {
-  deployImportJob(input: $input)
+	deployImportJob(input: $input)
 }
 
 mutation DeployUpdateMetadataJob($metadataId: String!) {
-  deployUpdateMetadataJob(metadataId: $metadataId)
+	deployUpdateMetadataJob(metadataId: $metadataId)
 }
 
 mutation DeployUpdatePersonJob($personId: String!) {
-  deployUpdatePersonJob(personId: $personId)
+	deployUpdatePersonJob(personId: $personId)
 }
 
 mutation DeployUpdateMetadataGroupJob($metadataGroupId: String!) {
-  deployUpdateMetadataGroupJob(metadataGroupId: $metadataGroupId)
+	deployUpdateMetadataGroupJob(metadataGroupId: $metadataGroupId)
 }
 
 mutation UpdateSeenItem($input: UpdateSeenItemInput!) {
-  updateSeenItem(input: $input)
+	updateSeenItem(input: $input)
 }
 
 mutation UpdateUserNotificationPlatform(
-  $input: UpdateUserNotificationPlatformInput!
+	$input: UpdateUserNotificationPlatformInput!
 ) {
-  updateUserNotificationPlatform(input: $input)
+	updateUserNotificationPlatform(input: $input)
 }
 
 mutation UpdateUserWorkoutAttributes(
-  $input: UpdateUserWorkoutAttributesInput!
+	$input: UpdateUserWorkoutAttributesInput!
 ) {
-  updateUserWorkoutAttributes(input: $input)
+	updateUserWorkoutAttributes(input: $input)
 }
 
 mutation GenerateAuthToken {
-  generateAuthToken
+	generateAuthToken
 }
 
 mutation MergeMetadata($mergeFrom: String!, $mergeInto: String!) {
-  mergeMetadata(mergeFrom: $mergeFrom, mergeInto: $mergeInto)
+	mergeMetadata(mergeFrom: $mergeFrom, mergeInto: $mergeInto)
 }
 
 mutation DisassociateMetadata($metadataId: String!) {
-  disassociateMetadata(metadataId: $metadataId)
+	disassociateMetadata(metadataId: $metadataId)
 }
 
 mutation CreateOrUpdateReview($input: CreateOrUpdateReviewInput!) {
-  createOrUpdateReview(input: $input) {
-    id
-  }
+	createOrUpdateReview(input: $input) {
+		id
+	}
 }
 
 mutation PresignedPutS3Url($input: PresignedPutUrlInput!) {
-  presignedPutS3Url(input: $input) {
-    key
-    uploadUrl
-  }
+	presignedPutS3Url(input: $input) {
+		key
+		uploadUrl
+	}
 }
 
 mutation RemoveEntityFromCollection($input: ChangeCollectionToEntityInput!) {
-  removeEntityFromCollection(input: $input) {
-    id
-  }
+	removeEntityFromCollection(input: $input) {
+		id
+	}
 }
 
 mutation TestUserNotificationPlatforms {
-  testUserNotificationPlatforms
+	testUserNotificationPlatforms
 }
 
 mutation UpdateUser($input: UpdateUserInput!) {
-  updateUser(input: $input) {
-    id
-  }
+	updateUser(input: $input) {
+		id
+	}
 }
 
 mutation UpdateUserPreference($input: UserPreferencesInput!) {
-  updateUserPreference(input: $input)
+	updateUserPreference(input: $input)
 }
 
 mutation CreateAccessLink($input: CreateAccessLinkInput!) {
-  createAccessLink(input: $input) {
-    id
-  }
+	createAccessLink(input: $input) {
+		id
+	}
 }
 
 mutation ProcessAccessLink($input: ProcessAccessLinkInput!) {
-  processAccessLink(input: $input) {
-    __typename
-    ... on ProcessAccessLinkError {
-      error
-    }
-    ... on ProcessAccessLinkResponse {
-      apiKey
-      redirectTo
-      tokenValidForDays
-    }
-  }
+	processAccessLink(input: $input) {
+		__typename
+		... on ProcessAccessLinkError {
+			error
+		}
+		... on ProcessAccessLinkResponse {
+			apiKey
+			redirectTo
+			tokenValidForDays
+		}
+	}
 }
 
 mutation RevokeAccessLink($accessLinkId: String!) {
-  revokeAccessLink(accessLinkId: $accessLinkId)
+	revokeAccessLink(accessLinkId: $accessLinkId)
 }
 
 mutation UpdateUserExerciseSettings($input: UpdateUserExerciseSettings!) {
-  updateUserExerciseSettings(input: $input)
+	updateUserExerciseSettings(input: $input)
 }
 
 mutation MergeExercise($mergeFrom: String!, $mergeInto: String!) {
-  mergeExercise(mergeFrom: $mergeFrom, mergeInto: $mergeInto)
+	mergeExercise(mergeFrom: $mergeFrom, mergeInto: $mergeInto)
 }
 
 mutation MarkEntityAsPartial($input: MarkEntityAsPartialInput!) {
-  markEntityAsPartial(input: $input)
+	markEntityAsPartial(input: $input)
 }
 
 mutation MarkNotificationsAsAddressed($notificationIds: [String!]!) {
-  markNotificationsAsAddressed(notificationIds: $notificationIds)
+	markNotificationsAsAddressed(notificationIds: $notificationIds)
 }
 
 mutation ExpireCacheKey($cacheId: UUID!) {
-  expireCacheKey(cacheId: $cacheId)
+	expireCacheKey(cacheId: $cacheId)
 }
diff --git a/libs/graphql/src/backend/queries/MetadataDetails.gql b/libs/graphql/src/backend/queries/MetadataDetails.gql
index 14aedef50b..4a25f98d65 100644
--- a/libs/graphql/src/backend/queries/MetadataDetails.gql
+++ b/libs/graphql/src/backend/queries/MetadataDetails.gql
@@ -1,113 +1,113 @@
 query MetadataDetails($metadataId: String!) {
-  metadataDetails(metadataId: $metadataId) {
-    id
-    lot
-    title
-    source
-    isNsfw
-    isPartial
-    sourceUrl
-    identifier
-    description
-    suggestions
-    publishYear
-    publishDate
-    providerRating
-    createdByUserId
-    productionStatus
-    originalLanguage
-    animeSpecifics {
-      episodes
-    }
-    audioBookSpecifics {
-      runtime
-    }
-    movieSpecifics {
-      runtime
-    }
-    genres {
-      id
-      name
-    }
-    group {
-      id
-      name
-      part
-    }
-    watchProviders {
-      name
-      image
-      languages
-    }
-    bookSpecifics {
-      pages
-      isCompilation
-    }
-    mangaSpecifics {
-      volumes
-      chapters
-    }
-    assets {
-      images
-      videos {
-        videoId
-        source
-      }
-    }
-    creators {
-      name
-      items {
-        id
-        name
-        image
-        character
-      }
-    }
-    podcastSpecifics {
-      episodes {
-        id
-        title
-        overview
-        thumbnail
-        number
-        runtime
-        publishDate
-      }
-      totalEpisodes
-    }
-    showSpecifics {
-      totalSeasons
-      totalEpisodes
-      runtime
-      seasons {
-        id
-        seasonNumber
-        name
-        overview
-        backdropImages
-        posterImages
-        episodes {
-          id
-          name
-          posterImages
-          episodeNumber
-          publishDate
-          name
-          overview
-          runtime
-        }
-      }
-    }
-    visualNovelSpecifics {
-      length
-    }
-    videoGameSpecifics {
-      platforms
-    }
-    musicSpecifics {
-      duration
-      viewCount
-      byVariousArtists
-    }
-  }
+	metadataDetails(metadataId: $metadataId) {
+		id
+		lot
+		title
+		source
+		isNsfw
+		isPartial
+		sourceUrl
+		identifier
+		description
+		suggestions
+		publishYear
+		publishDate
+		providerRating
+		createdByUserId
+		productionStatus
+		originalLanguage
+		animeSpecifics {
+			episodes
+		}
+		audioBookSpecifics {
+			runtime
+		}
+		movieSpecifics {
+			runtime
+		}
+		genres {
+			id
+			name
+		}
+		group {
+			id
+			name
+			part
+		}
+		watchProviders {
+			name
+			image
+			languages
+		}
+		bookSpecifics {
+			pages
+			isCompilation
+		}
+		mangaSpecifics {
+			volumes
+			chapters
+		}
+		assets {
+			images
+			videos {
+				videoId
+				source
+			}
+		}
+		creators {
+			name
+			items {
+				id
+				name
+				image
+				character
+			}
+		}
+		podcastSpecifics {
+			episodes {
+				id
+				title
+				overview
+				thumbnail
+				number
+				runtime
+				publishDate
+			}
+			totalEpisodes
+		}
+		showSpecifics {
+			totalSeasons
+			totalEpisodes
+			runtime
+			seasons {
+				id
+				seasonNumber
+				name
+				overview
+				backdropImages
+				posterImages
+				episodes {
+					id
+					name
+					posterImages
+					episodeNumber
+					publishDate
+					name
+					overview
+					runtime
+				}
+			}
+		}
+		visualNovelSpecifics {
+			length
+		}
+		videoGameSpecifics {
+			platforms
+		}
+		musicSpecifics {
+			duration
+			viewCount
+			byVariousArtists
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/PersonDetails.gql b/libs/graphql/src/backend/queries/PersonDetails.gql
index 99b153901b..9472c2523c 100644
--- a/libs/graphql/src/backend/queries/PersonDetails.gql
+++ b/libs/graphql/src/backend/queries/PersonDetails.gql
@@ -1,29 +1,29 @@
 query PersonDetails($personId: String!) {
-  personDetails(personId: $personId) {
-    associatedMetadata {
-      ...PersonDetailsGroupedByRolePart
-    }
-    associatedMetadataGroups {
-      ...PersonDetailsGroupedByRolePart
-    }
-    details {
-      id
-      name
-      place
-      source
-      gender
-      website
-      deathDate
-      birthDate
-      isPartial
-      sourceUrl
-      identifier
-      description
-      displayImages
-      alternateNames
-      associatedEntityCount
-      associatedMetadataCount
-      associatedMetadataGroupsCount
-    }
-  }
+	personDetails(personId: $personId) {
+		associatedMetadata {
+			...PersonDetailsGroupedByRolePart
+		}
+		associatedMetadataGroups {
+			...PersonDetailsGroupedByRolePart
+		}
+		details {
+			id
+			name
+			place
+			source
+			gender
+			website
+			deathDate
+			birthDate
+			isPartial
+			sourceUrl
+			identifier
+			description
+			displayImages
+			alternateNames
+			associatedEntityCount
+			associatedMetadataCount
+			associatedMetadataGroupsCount
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/UserAnalytics.gql b/libs/graphql/src/backend/queries/UserAnalytics.gql
index 8b3806b98d..bafa1bfd86 100644
--- a/libs/graphql/src/backend/queries/UserAnalytics.gql
+++ b/libs/graphql/src/backend/queries/UserAnalytics.gql
@@ -1,77 +1,77 @@
 query UserAnalytics($input: UserAnalyticsInput!) {
-  userAnalytics(input: $input) {
-    hours {
-      hour
-      entities {
-        entityId
-        entityLot
-        metadataLot
-      }
-    }
-    activities {
-      groupedBy
-      totalCount
-      totalDuration
-      items {
-        day
-        bookCount
-        showCount
-        totalCount
-        movieCount
-        musicCount
-        animeCount
-        mangaCount
-        workoutCount
-        podcastCount
-        totalDuration
-        totalBookPages
-        audioBookCount
-        videoGameCount
-        totalReviewCount
-        visualNovelCount
-        totalWorkoutReps
-        totalShowDuration
-        totalMovieDuration
-        totalMusicDuration
-        totalMetadataCount
-        totalWorkoutWeight
-        totalPodcastDuration
-        totalWorkoutDistance
-        totalWorkoutRestTime
-        totalWorkoutDuration
-        userMeasurementCount
-        totalVideoGameDuration
-        totalAudioBookDuration
-        totalPersonReviewCount
-        totalVisualNovelDuration
-        totalMetadataReviewCount
-        totalWorkoutPersonalBests
-        totalCollectionReviewCount
-        totalMetadataGroupReviewCount
-      }
-    }
-    fitness {
-      workoutReps
-      workoutCount
-      workoutWeight
-      workoutDistance
-      workoutDuration
-      workoutRestTime
-      measurementCount
-      workoutPersonalBests
-      workoutCaloriesBurnt
-      workoutExercises {
-        count
-        exercise
-      }
-      workoutMuscles {
-        count
-        muscle
-      }
-      workoutEquipments {
-        count
-        equipment
-      }
-    }
-  }
+	userAnalytics(input: $input) {
+		hours {
+			hour
+			entities {
+				entityId
+				entityLot
+				metadataLot
+			}
+		}
+		activities {
+			groupedBy
+			totalCount
+			totalDuration
+			items {
+				day
+				bookCount
+				showCount
+				totalCount
+				movieCount
+				musicCount
+				animeCount
+				mangaCount
+				workoutCount
+				podcastCount
+				totalDuration
+				totalBookPages
+				audioBookCount
+				videoGameCount
+				totalReviewCount
+				visualNovelCount
+				totalWorkoutReps
+				totalShowDuration
+				totalMovieDuration
+				totalMusicDuration
+				totalMetadataCount
+				totalWorkoutWeight
+				totalPodcastDuration
+				totalWorkoutDistance
+				totalWorkoutRestTime
+				totalWorkoutDuration
+				userMeasurementCount
+				totalVideoGameDuration
+				totalAudioBookDuration
+				totalPersonReviewCount
+				totalVisualNovelDuration
+				totalMetadataReviewCount
+				totalWorkoutPersonalBests
+				totalCollectionReviewCount
+				totalMetadataGroupReviewCount
+			}
+		}
+		fitness {
+			workoutReps
+			workoutCount
+			workoutWeight
+			workoutDistance
+			workoutDuration
+			workoutRestTime
+			measurementCount
+			workoutPersonalBests
+			workoutCaloriesBurnt
+			workoutExercises {
+				count
+				exercise
+			}
+			workoutMuscles {
+				count
+				muscle
+			}
+			workoutEquipments {
+				count
+				equipment
+			}
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/UserDetails.gql b/libs/graphql/src/backend/queries/UserDetails.gql
index 59fda1b3f8..1da823edd0 100644
--- a/libs/graphql/src/backend/queries/UserDetails.gql
+++ b/libs/graphql/src/backend/queries/UserDetails.gql
@@ -1,107 +1,107 @@
 query UserDetails {
-  userDetails {
-    __typename
-    ... on User {
-      id
-      lot
-      name
-      isDisabled
-      oidcIssuerId
-      preferences {
-        general {
-          reviewScale
-          gridPacking
-          displayNsfw
-          disableVideos
-          persistQueries
-          disableReviews
-          disableIntegrations
-          disableWatchProviders
-          showSpoilersInCalendar
-          disableNavigationAnimation
-          dashboard {
-            hidden
-            section
-            numElements
-            deduplicateMedia
-          }
-          watchProviders {
-            lot
-            values
-          }
-        }
-        fitness {
-          exercises {
-            unitSystem
-            setRestTimers {
-              ...SetRestTimersPart
-            }
-          }
-          logging {
-            muteSounds
-            caloriesBurntUnit
-            promptForRestTimer
-            showDetailsWhileEditing
-          }
-          measurements {
-            custom {
-              name
-              dataType
-            }
-            inbuilt {
-              weight
-              bodyMassIndex
-              totalBodyWater
-              muscle
-              leanBodyMass
-              bodyFat
-              boneMass
-              visceralFat
-              waistCircumference
-              waistToHeightRatio
-              hipCircumference
-              waistToHipRatio
-              chestCircumference
-              thighCircumference
-              bicepsCircumference
-              neckCircumference
-              bodyFatCaliper
-              chestSkinfold
-              abdominalSkinfold
-              thighSkinfold
-              basalMetabolicRate
-              totalDailyEnergyExpenditure
-              calories
-            }
-          }
-        }
-        notifications {
-          toSend
-          enabled
-        }
-        featuresEnabled {
-          analytics {
-            enabled
-          }
-          others {
-            calendar
-            collections
-          }
-          fitness {
-            enabled
-            workouts
-            templates
-            measurements
-          }
-          media {
-            enabled
-            groups
-            people
-            genres
-            specific
-          }
-        }
-      }
-    }
-  }
+	userDetails {
+		__typename
+		... on User {
+			id
+			lot
+			name
+			isDisabled
+			oidcIssuerId
+			preferences {
+				general {
+					reviewScale
+					gridPacking
+					displayNsfw
+					disableVideos
+					persistQueries
+					disableReviews
+					disableIntegrations
+					disableWatchProviders
+					showSpoilersInCalendar
+					disableNavigationAnimation
+					dashboard {
+						hidden
+						section
+						numElements
+						deduplicateMedia
+					}
+					watchProviders {
+						lot
+						values
+					}
+				}
+				fitness {
+					exercises {
+						unitSystem
+						setRestTimers {
+							...SetRestTimersPart
+						}
+					}
+					logging {
+						muteSounds
+						caloriesBurntUnit
+						promptForRestTimer
+						showDetailsWhileEditing
+					}
+					measurements {
+						custom {
+							name
+							dataType
+						}
+						inbuilt {
+							weight
+							bodyMassIndex
+							totalBodyWater
+							muscle
+							leanBodyMass
+							bodyFat
+							boneMass
+							visceralFat
+							waistCircumference
+							waistToHeightRatio
+							hipCircumference
+							waistToHipRatio
+							chestCircumference
+							thighCircumference
+							bicepsCircumference
+							neckCircumference
+							bodyFatCaliper
+							chestSkinfold
+							abdominalSkinfold
+							thighSkinfold
+							basalMetabolicRate
+							totalDailyEnergyExpenditure
+							calories
+						}
+					}
+				}
+				notifications {
+					toSend
+					enabled
+				}
+				featuresEnabled {
+					analytics {
+						enabled
+					}
+					others {
+						calendar
+						collections
+					}
+					fitness {
+						enabled
+						workouts
+						templates
+						measurements
+					}
+					media {
+						enabled
+						groups
+						people
+						genres
+						specific
+					}
+				}
+			}
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/UserExerciseDetails.gql b/libs/graphql/src/backend/queries/UserExerciseDetails.gql
index fc2c07732e..1ef9fa24aa 100644
--- a/libs/graphql/src/backend/queries/UserExerciseDetails.gql
+++ b/libs/graphql/src/backend/queries/UserExerciseDetails.gql
@@ -1,47 +1,47 @@
 query UserExerciseDetails($exerciseId: String!) {
-  userExerciseDetails(exerciseId: $exerciseId) {
-    collections {
-      ...CollectionPart
-    }
-    reviews {
-      ...ReviewItemPart
-    }
-    history {
-      idx
-      workoutId
-      workoutEndOn
-      bestSet {
-        ...WorkoutSetRecordPart
-      }
-    }
-    details {
-      exerciseId
-      createdOn
-      lastUpdatedOn
-      exerciseNumTimesInteracted
-      exerciseExtraInformation {
-        settings {
-          excludeFromAnalytics
-          setRestTimers {
-            ...SetRestTimersPart
-          }
-        }
-        lifetimeStats {
-          weight
-          reps
-          distance
-          duration
-          personalBestsAchieved
-        }
-        personalBests {
-          lot
-          sets {
-            setIdx
-            workoutId
-            exerciseIdx
-          }
-        }
-      }
-    }
-  }
+	userExerciseDetails(exerciseId: $exerciseId) {
+		collections {
+			...CollectionPart
+		}
+		reviews {
+			...ReviewItemPart
+		}
+		history {
+			idx
+			workoutId
+			workoutEndOn
+			bestSet {
+				...WorkoutSetRecordPart
+			}
+		}
+		details {
+			exerciseId
+			createdOn
+			lastUpdatedOn
+			exerciseNumTimesInteracted
+			exerciseExtraInformation {
+				settings {
+					excludeFromAnalytics
+					setRestTimers {
+						...SetRestTimersPart
+					}
+				}
+				lifetimeStats {
+					weight
+					reps
+					distance
+					duration
+					personalBestsAchieved
+				}
+				personalBests {
+					lot
+					sets {
+						setIdx
+						workoutId
+						exerciseIdx
+					}
+				}
+			}
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/UserMeasurementsList.gql b/libs/graphql/src/backend/queries/UserMeasurementsList.gql
index f4752491cb..7b189c308b 100644
--- a/libs/graphql/src/backend/queries/UserMeasurementsList.gql
+++ b/libs/graphql/src/backend/queries/UserMeasurementsList.gql
@@ -1,33 +1,33 @@
 query UserMeasurementsList($input: UserMeasurementsListInput!) {
-  userMeasurementsList(input: $input) {
-    timestamp
-    name
-    comment
-    stats {
-      weight
-      bodyMassIndex
-      totalBodyWater
-      muscle
-      leanBodyMass
-      bodyFat
-      boneMass
-      visceralFat
-      waistCircumference
-      waistToHeightRatio
-      hipCircumference
-      waistToHipRatio
-      chestCircumference
-      thighCircumference
-      bicepsCircumference
-      neckCircumference
-      bodyFatCaliper
-      chestSkinfold
-      abdominalSkinfold
-      thighSkinfold
-      basalMetabolicRate
-      totalDailyEnergyExpenditure
-      calories
-      custom
-    }
-  }
+	userMeasurementsList(input: $input) {
+		timestamp
+		name
+		comment
+		stats {
+			weight
+			bodyMassIndex
+			totalBodyWater
+			muscle
+			leanBodyMass
+			bodyFat
+			boneMass
+			visceralFat
+			waistCircumference
+			waistToHeightRatio
+			hipCircumference
+			waistToHipRatio
+			chestCircumference
+			thighCircumference
+			bicepsCircumference
+			neckCircumference
+			bodyFatCaliper
+			chestSkinfold
+			abdominalSkinfold
+			thighSkinfold
+			basalMetabolicRate
+			totalDailyEnergyExpenditure
+			calories
+			custom
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/UserMetadataDetails.gql b/libs/graphql/src/backend/queries/UserMetadataDetails.gql
index 4628cc110f..54f50d4542 100644
--- a/libs/graphql/src/backend/queries/UserMetadataDetails.gql
+++ b/libs/graphql/src/backend/queries/UserMetadataDetails.gql
@@ -1,40 +1,40 @@
 query UserMetadataDetails($metadataId: String!) {
-  userMetadataDetails(metadataId: $metadataId) {
-    mediaReason
-    hasInteracted
-    averageRating
-    seenByAllCount
-    seenByUserCount
-    isRecentlyConsumed
-    reviews {
-      ...ReviewItemPart
-    }
-    history {
-      ...SeenPart
-    }
-    nextEntry {
-      season
-      volume
-      episode
-      chapter
-    }
-    inProgress {
-      ...SeenPart
-    }
-    collections {
-      ...CollectionPart
-    }
-    showProgress {
-      timesSeen
-      seasonNumber
-      episodes {
-        episodeNumber
-        timesSeen
-      }
-    }
-    podcastProgress {
-      episodeNumber
-      timesSeen
-    }
-  }
+	userMetadataDetails(metadataId: $metadataId) {
+		mediaReason
+		hasInteracted
+		averageRating
+		seenByAllCount
+		seenByUserCount
+		isRecentlyConsumed
+		reviews {
+			...ReviewItemPart
+		}
+		history {
+			...SeenPart
+		}
+		nextEntry {
+			season
+			volume
+			episode
+			chapter
+		}
+		inProgress {
+			...SeenPart
+		}
+		collections {
+			...CollectionPart
+		}
+		showProgress {
+			timesSeen
+			seasonNumber
+			episodes {
+				episodeNumber
+				timesSeen
+			}
+		}
+		podcastProgress {
+			episodeNumber
+			timesSeen
+		}
+	}
 }
diff --git a/libs/graphql/src/backend/queries/combined.gql b/libs/graphql/src/backend/queries/combined.gql
index c943c28d48..ae7a95c6c2 100644
--- a/libs/graphql/src/backend/queries/combined.gql
+++ b/libs/graphql/src/backend/queries/combined.gql
@@ -1,526 +1,526 @@
 query GetOidcRedirectUrl {
-  getOidcRedirectUrl
+	getOidcRedirectUrl
 }
 
 query UserByOidcIssuerId($oidcIssuerId: String!) {
-  userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)
+	userByOidcIssuerId(oidcIssuerId: $oidcIssuerId)
 }
 
 query GetOidcToken($code: String!) {
-  getOidcToken(code: $code) {
-    subject
-    email
-  }
+	getOidcToken(code: $code) {
+		email
+		subject
+	}
 }
 
 query GetPresignedS3Url($key: String!) {
-  getPresignedS3Url(key: $key)
+	getPresignedS3Url(key: $key)
 }
 
 query UserExports {
-  userExports {
-    url
-    key
-    size
-    endedAt
-    startedAt
-  }
+	userExports {
+		url
+		key
+		size
+		endedAt
+		startedAt
+	}
 }
 
 query UserCollectionsList {
-  userCollectionsList {
-    cacheId
-    response {
-      id
-      name
-      count
-      isDefault
-      description
-      creator {
-        id
-        name
-      }
-      collaborators {
-        extraInformation {
-          isHidden
-        }
-        collaborator {
-          id
-          name
-        }
-      }
-      informationTemplate {
-        lot
-        name
-        required
-        description
-        defaultValue
-      }
-    }
-  }
+	userCollectionsList {
+		cacheId
+		response {
+			id
+			name
+			count
+			isDefault
+			description
+			creator {
+				id
+				name
+			}
+			collaborators {
+				extraInformation {
+					isHidden
+				}
+				collaborator {
+					id
+					name
+				}
+			}
+			informationTemplate {
+				lot
+				name
+				required
+				description
+				defaultValue
+			}
+		}
+	}
 }
 
 query UserIntegrations {
-  userIntegrations {
-    id
-    lot
-    name
-    provider
-    createdOn
-    isDisabled
-    lastFinishedAt
-    maximumProgress
-    minimumProgress
-    syncToOwnedCollection
-    triggerResult {
-      error
-      finishedAt
-    }
-  }
+	userIntegrations {
+		id
+		lot
+		name
+		provider
+		createdOn
+		isDisabled
+		lastFinishedAt
+		maximumProgress
+		minimumProgress
+		syncToOwnedCollection
+		triggerResult {
+			error
+			finishedAt
+		}
+	}
 }
 
 query UserNotificationPlatforms {
-  userNotificationPlatforms {
-    id
-    lot
-    createdOn
-    isDisabled
-    description
-  }
+	userNotificationPlatforms {
+		id
+		lot
+		createdOn
+		isDisabled
+		description
+	}
 }
 
 query UsersList($query: String) {
-  usersList(query: $query) {
-    id
-    lot
-    name
-    isDisabled
-  }
+	usersList(query: $query) {
+		id
+		lot
+		name
+		isDisabled
+	}
 }
 
 query UserMetadataRecommendations {
-  userMetadataRecommendations {
-    cacheId
-    response
-  }
+	userMetadataRecommendations {
+		cacheId
+		response
+	}
 }
 
 query UserUpcomingCalendarEvents($input: UserUpcomingCalendarEventInput!) {
-  userUpcomingCalendarEvents(input: $input) {
-    ...CalendarEventPart
-  }
+	userUpcomingCalendarEvents(input: $input) {
+		...CalendarEventPart
+	}
 }
 
 query UserCalendarEvents($input: UserCalendarEventInput!) {
-  userCalendarEvents(input: $input) {
-    date
-    events {
-      ...CalendarEventPart
-    }
-  }
+	userCalendarEvents(input: $input) {
+		date
+		events {
+			...CalendarEventPart
+		}
+	}
 }
 
 query MetadataPartialDetails($metadataId: String!) {
-  metadataPartialDetails(metadataId: $metadataId) {
-    id
-    lot
-    title
-    image
-    publishYear
-  }
+	metadataPartialDetails(metadataId: $metadataId) {
+		id
+		lot
+		title
+		image
+		publishYear
+	}
 }
 
 query UserMetadataGroupsList($input: UserMetadataGroupsListInput!) {
-  userMetadataGroupsList(input: $input) {
-    cacheId
-    response {
-      items
-      details {
-        total
-        nextPage
-      }
-    }
-  }
+	userMetadataGroupsList(input: $input) {
+		cacheId
+		response {
+			items
+			details {
+				total
+				nextPage
+			}
+		}
+	}
 }
 
 query UserPeopleList($input: UserPeopleListInput!) {
-  userPeopleList(input: $input) {
-    cacheId
-    response {
-      items
-      details {
-        total
-        nextPage
-      }
-    }
-  }
+	userPeopleList(input: $input) {
+		cacheId
+		response {
+			items
+			details {
+				total
+				nextPage
+			}
+		}
+	}
 }
 
 query UserAccessLinks {
-  userAccessLinks {
-    id
-    name
-    createdOn
-    expiresOn
-    timesUsed
-    isRevoked
-    maximumUses
-    isAccountDefault
-    isMutationAllowed
-  }
+	userAccessLinks {
+		id
+		name
+		createdOn
+		expiresOn
+		timesUsed
+		isRevoked
+		maximumUses
+		isAccountDefault
+		isMutationAllowed
+	}
 }
 
 query ExerciseDetails($exerciseId: String!) {
-  exerciseDetails(exerciseId: $exerciseId) {
-    id
-    lot
-    name
-    level
-    force
-    source
-    muscles
-    mechanic
-    equipment
-    createdByUserId
-    attributes {
-      instructions
-      images
-    }
-  }
+	exerciseDetails(exerciseId: $exerciseId) {
+		id
+		lot
+		name
+		level
+		force
+		source
+		muscles
+		mechanic
+		equipment
+		createdByUserId
+		attributes {
+			instructions
+			images
+		}
+	}
 }
 
 query UserExercisesList($input: UserExercisesListInput!) {
-  userExercisesList(input: $input) {
-    cacheId
-    response {
-      items
-      details {
-        total
-        nextPage
-      }
-    }
-  }
-}
-
-query ImportReports {
-  importReports {
-    id
-    source
-    progress
-    startedOn
-    finishedOn
-    wasSuccess
-    estimatedFinishTime
-    details {
-      import {
-        total
-      }
-      failedItems {
-        lot
-        step
-        error
-        identifier
-      }
-    }
-  }
+	userExercisesList(input: $input) {
+		cacheId
+		response {
+			items
+			details {
+				total
+				nextPage
+			}
+		}
+	}
+}
+
+query UserImportReports {
+	userImportReports {
+		id
+		source
+		progress
+		startedOn
+		finishedOn
+		wasSuccess
+		estimatedFinishTime
+		details {
+			import {
+				total
+			}
+			failedItems {
+				lot
+				step
+				error
+				identifier
+			}
+		}
+	}
 }
 
 query GenresList($input: SearchInput!) {
-  genresList(input: $input) {
-    items
-    details {
-      total
-      nextPage
-    }
-  }
+	genresList(input: $input) {
+		items
+		details {
+			total
+			nextPage
+		}
+	}
 }
 
 query GenreDetails($input: GenreDetailsInput!) {
-  genreDetails(input: $input) {
-    details {
-      id
-      name
-      numItems
-    }
-    contents {
-      details {
-        total
-        nextPage
-      }
-      items
-    }
-  }
+	genreDetails(input: $input) {
+		details {
+			id
+			name
+			numItems
+		}
+		contents {
+			details {
+				total
+				nextPage
+			}
+			items
+		}
+	}
 }
 
 query CollectionContents($input: CollectionContentsInput!) {
-  collectionContents(input: $input) {
-    cacheId
-    response {
-      totalItems
-      user {
-        id
-        name
-      }
-      reviews {
-        ...ReviewItemPart
-      }
-      details {
-        name
-        createdOn
-        description
-      }
-      results {
-        details {
-          total
-          nextPage
-        }
-        items {
-          entityId
-          entityLot
-        }
-      }
-    }
-  }
+	collectionContents(input: $input) {
+		cacheId
+		response {
+			totalItems
+			user {
+				id
+				name
+			}
+			reviews {
+				...ReviewItemPart
+			}
+			details {
+				name
+				createdOn
+				description
+			}
+			results {
+				details {
+					total
+					nextPage
+				}
+				items {
+					entityId
+					entityLot
+				}
+			}
+		}
+	}
 }
 
 query CoreDetails {
-  coreDetails {
-    version
-    docsLink
-    pageSize
-    websiteUrl
-    smtpEnabled
-    oidcEnabled
-    signupAllowed
-    repositoryLink
-    isDemoInstance
-    disableTelemetry
-    tokenValidForDays
-    localAuthDisabled
-    fileStorageEnabled
-    peopleSearchSources
-    isServerKeyValidated
-    metadataGroupSourceLotMappings {
-      lot
-      source
-    }
-    metadataLotSourceMappings {
-      lot
-      sources
-    }
-    metadataProviderLanguages {
-      source
-      default
-      supported
-    }
-    frontend {
-      url
-      oidcButtonLabel
-      dashboardMessage
-      umami {
-        domains
-        scriptUrl
-        websiteId
-      }
-    }
-    exerciseParameters {
-      lotMapping {
-        lot
-        bests
-      }
-      filters {
-        type
-        level
-        force
-        muscle
-        mechanic
-        equipment
-      }
-    }
-  }
+	coreDetails {
+		version
+		docsLink
+		pageSize
+		websiteUrl
+		smtpEnabled
+		oidcEnabled
+		signupAllowed
+		repositoryLink
+		isDemoInstance
+		disableTelemetry
+		tokenValidForDays
+		localAuthDisabled
+		fileStorageEnabled
+		peopleSearchSources
+		isServerKeyValidated
+		metadataGroupSourceLotMappings {
+			lot
+			source
+		}
+		metadataLotSourceMappings {
+			lot
+			sources
+		}
+		metadataProviderLanguages {
+			source
+			default
+			supported
+		}
+		frontend {
+			url
+			oidcButtonLabel
+			dashboardMessage
+			umami {
+				domains
+				scriptUrl
+				websiteId
+			}
+		}
+		exerciseParameters {
+			lotMapping {
+				lot
+				bests
+			}
+			filters {
+				type
+				level
+				force
+				muscle
+				mechanic
+				equipment
+			}
+		}
+	}
 }
 
 query MetadataGroupDetails($metadataGroupId: String!) {
-  metadataGroupDetails(metadataGroupId: $metadataGroupId) {
-    contents
-    details {
-      id
-      lot
-      title
-      parts
-      source
-      isPartial
-      sourceUrl
-      identifier
-      description
-      displayImages
-    }
-  }
+	metadataGroupDetails(metadataGroupId: $metadataGroupId) {
+		contents
+		details {
+			id
+			lot
+			title
+			parts
+			source
+			isPartial
+			sourceUrl
+			identifier
+			description
+			displayImages
+		}
+	}
 }
 
 query MetadataGroupSearch($input: MetadataGroupSearchInput!) {
-  metadataGroupSearch(input: $input) {
-    details {
-      total
-      nextPage
-    }
-    items {
-      identifier
-      name
-      image
-      parts
-    }
-  }
+	metadataGroupSearch(input: $input) {
+		details {
+			total
+			nextPage
+		}
+		items {
+			name
+			image
+			parts
+			identifier
+		}
+	}
 }
 
 query UserMetadataList($input: UserMetadataListInput!) {
-  userMetadataList(input: $input) {
-    cacheId
-    response {
-      items
-      details {
-        total
-        nextPage
-      }
-    }
-  }
+	userMetadataList(input: $input) {
+		cacheId
+		response {
+			items
+			details {
+				total
+				nextPage
+			}
+		}
+	}
 }
 
 query MetadataSearch($input: MetadataSearchInput!) {
-  metadataSearch(input: $input) {
-    details {
-      total
-      nextPage
-    }
-    items {
-      identifier
-      title
-      image
-      publishYear
-    }
-  }
+	metadataSearch(input: $input) {
+		details {
+			total
+			nextPage
+		}
+		items {
+			title
+			image
+			identifier
+			publishYear
+		}
+	}
 }
 
 query PeopleSearch($input: PeopleSearchInput!) {
-  peopleSearch(input: $input) {
-    details {
-      total
-      nextPage
-    }
-    items {
-      identifier
-      name
-      image
-      birthYear
-    }
-  }
+	peopleSearch(input: $input) {
+		details {
+			total
+			nextPage
+		}
+		items {
+			name
+			image
+			birthYear
+			identifier
+		}
+	}
 }
 
 query UserMetadataGroupDetails($metadataGroupId: String!) {
-  userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {
-    isRecentlyConsumed
-    reviews {
-      ...ReviewItemPart
-    }
-    collections {
-      ...CollectionPart
-    }
-  }
+	userMetadataGroupDetails(metadataGroupId: $metadataGroupId) {
+		isRecentlyConsumed
+		reviews {
+			...ReviewItemPart
+		}
+		collections {
+			...CollectionPart
+		}
+	}
 }
 
 query UserPersonDetails($personId: String!) {
-  userPersonDetails(personId: $personId) {
-    isRecentlyConsumed
-    collections {
-      ...CollectionPart
-    }
-    reviews {
-      ...ReviewItemPart
-    }
-  }
+	userPersonDetails(personId: $personId) {
+		isRecentlyConsumed
+		collections {
+			...CollectionPart
+		}
+		reviews {
+			...ReviewItemPart
+		}
+	}
 }
 
 query UserWorkoutDetails($workoutId: String!) {
-  userWorkoutDetails(workoutId: $workoutId) {
-    metadataConsumed
-    collections {
-      ...CollectionPart
-    }
-    details {
-      id
-      name
-      endTime
-      duration
-      startTime
-      templateId
-      repeatedFrom
-      caloriesBurnt
-      summary {
-        ...WorkoutSummaryPart
-      }
-      information {
-        ...WorkoutInformationPart
-      }
-    }
-  }
+	userWorkoutDetails(workoutId: $workoutId) {
+		metadataConsumed
+		collections {
+			...CollectionPart
+		}
+		details {
+			id
+			name
+			endTime
+			duration
+			startTime
+			templateId
+			repeatedFrom
+			caloriesBurnt
+			summary {
+				...WorkoutSummaryPart
+			}
+			information {
+				...WorkoutInformationPart
+			}
+		}
+	}
 }
 
 query UserWorkoutsList($input: UserTemplatesOrWorkoutsListInput!) {
-  userWorkoutsList(input: $input) {
-    cacheId
-    response {
-      items
-      details {
-        total
-        nextPage
-      }
-    }
-  }
+	userWorkoutsList(input: $input) {
+		cacheId
+		response {
+			items
+			details {
+				total
+				nextPage
+			}
+		}
+	}
 }
 
 query UserWorkoutTemplateDetails($workoutTemplateId: String!) {
-  userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {
-    collections {
-      ...CollectionPart
-    }
-    details {
-      id
-      name
-      createdOn
-      summary {
-        ...WorkoutSummaryPart
-      }
-      information {
-        ...WorkoutInformationPart
-      }
-    }
-  }
+	userWorkoutTemplateDetails(workoutTemplateId: $workoutTemplateId) {
+		collections {
+			...CollectionPart
+		}
+		details {
+			id
+			name
+			createdOn
+			summary {
+				...WorkoutSummaryPart
+			}
+			information {
+				...WorkoutInformationPart
+			}
+		}
+	}
 }
 
 query UserWorkoutTemplatesList($input: UserTemplatesOrWorkoutsListInput!) {
-  userWorkoutTemplatesList(input: $input) {
-    cacheId
-    response {
-      items
-      details {
-        total
-        nextPage
-      }
-    }
-  }
+	userWorkoutTemplatesList(input: $input) {
+		cacheId
+		response {
+			items
+			details {
+				total
+				nextPage
+			}
+		}
+	}
 }
 
 query UserAnalyticsParameters {
-  userAnalyticsParameters {
-    endDate
-    startDate
-  }
+	userAnalyticsParameters {
+		endDate
+		startDate
+	}
 }
 
 query UserPendingNotifications {
-  userPendingNotifications {
-    id
-    message
-    createdOn
-  }
+	userPendingNotifications {
+		id
+		message
+		createdOn
+	}
 }
diff --git a/libs/graphql/src/backend/queries/fragments.gql b/libs/graphql/src/backend/queries/fragments.gql
index e67d059c91..a1b29b0eac 100644
--- a/libs/graphql/src/backend/queries/fragments.gql
+++ b/libs/graphql/src/backend/queries/fragments.gql
@@ -1,228 +1,228 @@
 fragment SeenPodcastExtraInformationPart on SeenPodcastExtraInformation {
-  episode
+	episode
 }
 
 fragment SeenShowExtraInformationPart on SeenShowExtraInformation {
-  episode
-  season
+	episode
+	season
 }
 
 fragment SeenAnimeExtraInformationPart on SeenAnimeExtraInformation {
-  episode
+	episode
 }
 
 fragment SeenMangaExtraInformationPart on SeenMangaExtraInformation {
-  volume
-  chapter
+	volume
+	chapter
 }
 
 fragment CalendarEventPart on GraphqlCalendarEvent {
-  date
-  metadataId
-  metadataLot
-  metadataText
-  metadataImage
-  calendarEventId
-  showExtraInformation {
-    ...SeenShowExtraInformationPart
-  }
-  podcastExtraInformation {
-    ...SeenPodcastExtraInformationPart
-  }
-  animeExtraInformation {
-    ...SeenAnimeExtraInformationPart
-  }
+	date
+	metadataId
+	metadataLot
+	metadataText
+	metadataImage
+	calendarEventId
+	showExtraInformation {
+		...SeenShowExtraInformationPart
+	}
+	podcastExtraInformation {
+		...SeenPodcastExtraInformationPart
+	}
+	animeExtraInformation {
+		...SeenAnimeExtraInformationPart
+	}
 }
 
 fragment SeenPart on Seen {
-  id
-  state
-  progress
-  reviewId
-  startedOn
-  finishedOn
-  lastUpdatedOn
-  manualTimeSpent
-  numTimesUpdated
-  providerWatchedOn
-  showExtraInformation {
-    ...SeenShowExtraInformationPart
-  }
-  podcastExtraInformation {
-    ...SeenPodcastExtraInformationPart
-  }
-  animeExtraInformation {
-    ...SeenAnimeExtraInformationPart
-  }
-  mangaExtraInformation {
-    ...SeenMangaExtraInformationPart
-  }
+	id
+	state
+	progress
+	reviewId
+	startedOn
+	finishedOn
+	lastUpdatedOn
+	manualTimeSpent
+	numTimesUpdated
+	providerWatchedOn
+	showExtraInformation {
+		...SeenShowExtraInformationPart
+	}
+	podcastExtraInformation {
+		...SeenPodcastExtraInformationPart
+	}
+	animeExtraInformation {
+		...SeenAnimeExtraInformationPart
+	}
+	mangaExtraInformation {
+		...SeenMangaExtraInformationPart
+	}
 }
 
 fragment MetadataSearchItemPart on MetadataSearchItem {
-  title
-  image
-  identifier
-  publishYear
+	title
+	image
+	identifier
+	publishYear
 }
 
 fragment WorkoutOrExerciseTotalsPart on WorkoutOrExerciseTotals {
-  reps
-  weight
-  distance
-  duration
-  restTime
-  personalBestsAchieved
+	reps
+	weight
+	distance
+	duration
+	restTime
+	personalBestsAchieved
 }
 
 fragment EntityAssetsPart on EntityAssets {
-  images
-  videos
+	images
+	videos
 }
 
 fragment WorkoutSetStatisticPart on WorkoutSetStatistic {
-  reps
-  pace
-  oneRm
-  weight
-  volume
-  duration
-  distance
+	reps
+	pace
+	oneRm
+	weight
+	volume
+	duration
+	distance
 }
 
 fragment WorkoutSetRecordPart on WorkoutSetRecord {
-  lot
-  personalBests
-  statistic {
-    ...WorkoutSetStatisticPart
-  }
+	lot
+	personalBests
+	statistic {
+		...WorkoutSetStatisticPart
+	}
 }
 
 fragment WorkoutSummaryPart on WorkoutSummary {
-  total {
-    ...WorkoutOrExerciseTotalsPart
-  }
-  exercises {
-    id
-    lot
-    numSets
-    bestSet {
-      ...WorkoutSetRecordPart
-    }
-  }
-  focused {
-    lots {
-      lot
-      exercises
-    }
-    levels {
-      level
-      exercises
-    }
-    forces {
-      force
-      exercises
-    }
-    muscles {
-      muscle
-      exercises
-    }
-    equipments {
-      equipment
-      exercises
-    }
-  }
+	total {
+		...WorkoutOrExerciseTotalsPart
+	}
+	exercises {
+		id
+		lot
+		numSets
+		bestSet {
+			...WorkoutSetRecordPart
+		}
+	}
+	focused {
+		lots {
+			lot
+			exercises
+		}
+		levels {
+			level
+			exercises
+		}
+		forces {
+			force
+			exercises
+		}
+		muscles {
+			muscle
+			exercises
+		}
+		equipments {
+			equipment
+			exercises
+		}
+	}
 }
 
 fragment CollectionPart on Collection {
-  id
-  name
-  userId
+	id
+	name
+	userId
 }
 
 fragment ReviewItemPart on ReviewItem {
-  id
-  rating
-  postedOn
-  isSpoiler
-  visibility
-  textOriginal
-  textRendered
-  seenItemsAssociatedWith
-  postedBy {
-    id
-    name
-  }
-  comments {
-    id
-    text
-    likedBy
-    createdOn
-    user {
-      id
-      name
-    }
-  }
-  showExtraInformation {
-    season
-    episode
-  }
-  podcastExtraInformation {
-    episode
-  }
-  animeExtraInformation {
-    ...SeenAnimeExtraInformationPart
-  }
-  mangaExtraInformation {
-    ...SeenMangaExtraInformationPart
-  }
+	id
+	rating
+	postedOn
+	isSpoiler
+	visibility
+	textOriginal
+	textRendered
+	seenItemsAssociatedWith
+	postedBy {
+		id
+		name
+	}
+	comments {
+		id
+		text
+		likedBy
+		createdOn
+		user {
+			id
+			name
+		}
+	}
+	showExtraInformation {
+		season
+		episode
+	}
+	podcastExtraInformation {
+		episode
+	}
+	animeExtraInformation {
+		...SeenAnimeExtraInformationPart
+	}
+	mangaExtraInformation {
+		...SeenMangaExtraInformationPart
+	}
 }
 
 fragment WorkoutInformationPart on WorkoutInformation {
-  comment
-  assets {
-    ...EntityAssetsPart
-  }
-  supersets {
-    color
-    exercises
-  }
-  exercises {
-    id
-    lot
-    notes
-    total {
-      ...WorkoutOrExerciseTotalsPart
-    }
-    assets {
-      ...EntityAssetsPart
-    }
-    sets {
-      lot
-      rpe
-      note
-      restTime
-      confirmedAt
-      personalBests
-      statistic {
-        ...WorkoutSetStatisticPart
-      }
-    }
-  }
+	comment
+	assets {
+		...EntityAssetsPart
+	}
+	supersets {
+		color
+		exercises
+	}
+	exercises {
+		id
+		lot
+		notes
+		total {
+			...WorkoutOrExerciseTotalsPart
+		}
+		assets {
+			...EntityAssetsPart
+		}
+		sets {
+			lot
+			rpe
+			note
+			restTime
+			confirmedAt
+			personalBests
+			statistic {
+				...WorkoutSetStatisticPart
+			}
+		}
+	}
 }
 
 fragment SetRestTimersPart on SetRestTimersSettings {
-  drop
-  warmup
-  normal
-  failure
+	drop
+	warmup
+	normal
+	failure
 }
 
 fragment PersonDetailsGroupedByRolePart on PersonDetailsGroupedByRole {
-  name
-  count
-  items {
-    entityId
-    character
-  }
+	name
+	count
+	items {
+		entityId
+		character
+	}
 }
diff --git a/libs/ts-utils/src/index.ts b/libs/ts-utils/src/index.ts
index 40b2b1d8ad..9b9860117c 100644
--- a/libs/ts-utils/src/index.ts
+++ b/libs/ts-utils/src/index.ts
@@ -1,5 +1,4 @@
 import { parseWithZod } from "@conform-to/zod";
-import type { Params } from "react-router";
 import { type ClassValue, clsx } from "clsx";
 import dayjs, { type Dayjs } from "dayjs";
 import {
@@ -28,9 +27,10 @@ import sortBy from "lodash/sortBy";
 import startCase from "lodash/startCase";
 import sum from "lodash/sum";
 import truncate from "lodash/truncate";
+import type { Params } from "react-router";
 import { twMerge } from "tailwind-merge";
 import invariant from "tiny-invariant";
-import { z, type ZodTypeAny, type output } from "zod";
+import { type ZodTypeAny, type output, z } from "zod";
 
 export const zodBoolAsString = z
 	.string()


Test patch: