Skip to content

Commit

Permalink
Fix type errors
Browse files Browse the repository at this point in the history
  • Loading branch information
johnnyomair committed Feb 4, 2025
1 parent 33c7f04 commit a553281
Show file tree
Hide file tree
Showing 17 changed files with 73 additions and 166 deletions.
2 changes: 1 addition & 1 deletion demo/admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"start": "run-s intl:compile && run-p gql:types generate-block-types && dotenv -e .env.secrets -e .env.local -e .env -e .env.site-configs -- chokidar --initial -s \"../../packages/admin/*/src/**\" -c \"kill-port $ADMIN_PORT && vite --force\""
},
"dependencies": {
"@apollo/client": "^3.12.8",
"@apollo/client": "^3.12.9",
"@comet/admin": "workspace:*",
"@comet/admin-date-time": "workspace:*",
"@comet/admin-icons": "workspace:*",
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
},
"dependencies": {
"@algolia/client-search": "^4.24.0",
"@apollo/client": "^3.12.8",
"@apollo/client": "^3.12.9",
"@comet/admin": "workspace:*",
"@comet/admin-color-picker": "workspace:*",
"@comet/admin-date-time": "workspace:*",
Expand Down
2 changes: 1 addition & 1 deletion packages/admin/admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"uuid": "^11.0.5"
},
"devDependencies": {
"@apollo/client": "^3.12.8",
"@apollo/client": "^3.12.9",
"@babel/cli": "^7.26.4",
"@babel/core": "^7.26.7",
"@comet/admin-babel-preset": "workspace:^7.13.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const createErrorDialogApolloLink = (config?: { signInUrl?: string }) =>
if (graphQLErrors) {
if (graphQLErrors.some((e) => e.message === "UNAUTHENTICATED")) {
errorType = "unauthenticated"; // Error is triggered by Comet Guard
} else if (graphQLErrors.some((e) => e.extensions.response?.statusCode === StatusCodes.UNAUTHORIZED)) {
} else if (graphQLErrors.some((e) => e.extensions?.response?.statusCode === StatusCodes.UNAUTHORIZED)) {
errorType = "unauthorized"; // Error is triggered by UnauthorizedException
} else {
errorType = "graphql";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useApolloClient } from "@apollo/client";
import { OperationVariables, useApolloClient } from "@apollo/client";
import { useState } from "react";

import { Table } from "../Table";
Expand All @@ -15,7 +15,7 @@ interface IOptions<IVariables> {
/**
* @deprecated Use MUI X Data Grid in combination with `useDataGridRemote` instead.
*/
export function useExportPagedTableQuery<IVariables>(
export function useExportPagedTableQuery<IVariables extends OperationVariables>(
api: ITableQueryApi,
options: IOptions<IVariables>,
excelOptions?: IExcelExportOptions,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useApolloClient } from "@apollo/client";
import { OperationVariables, useApolloClient } from "@apollo/client";
import { useState } from "react";

import { Table } from "../Table";
Expand All @@ -9,7 +9,11 @@ import { IExportApi } from "./IExportApi";
/**
* @deprecated Use MUI X Data Grid in combination with `useDataGridRemote` instead.
*/
export function useExportTableQuery<IVariables>(api: ITableQueryApi, variables: IVariables, options?: IExcelExportOptions): IExportApi<any> {
export function useExportTableQuery<IVariables extends OperationVariables>(
api: ITableQueryApi,
variables: IVariables,
options?: IExcelExportOptions,
): IExportApi<any> {
let tableRef: Table<any> | undefined;
const [loading, setLoading] = useState(false);
function attachTable(ref: Table<any>) {
Expand Down
10 changes: 6 additions & 4 deletions packages/admin/admin/src/table/useTableQuery.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { QueryHookOptions, QueryResult, useQuery } from "@apollo/client";
import { OperationVariables, QueryHookOptions, QueryResult, useQuery } from "@apollo/client";
import { DocumentNode } from "graphql";
import { useEffect } from "react";

Expand All @@ -15,7 +15,8 @@ export interface ITableData<TRow extends { id: string | number } = { id: string
totalCount?: number;
pagingInfo?: IPagingInfo;
}
interface ITableQueryHookOptions<TData, TVariables, TTableData extends ITableData> extends QueryHookOptions<TData, TVariables> {
interface ITableQueryHookOptions<TData, TVariables extends OperationVariables, TTableData extends ITableData>
extends QueryHookOptions<TData, TVariables> {
resolveTableData: (data: TData) => TTableData;
selectionApi?: ISelectionApi;
globalErrorHandling?: boolean;
Expand All @@ -24,15 +25,16 @@ interface ITableQueryHookOptions<TData, TVariables, TTableData extends ITableDat
/**
* @deprecated Use MUI X Data Grid in combination with `useDataGridRemote` instead.
*/
export interface ITableQueryHookResult<TData, TVariables, TTableData extends ITableData> extends QueryResult<TData, TVariables> {
export interface ITableQueryHookResult<TData, TVariables extends OperationVariables, TTableData extends ITableData>
extends QueryResult<TData, TVariables> {
tableData?: TTableData;
api: ITableQueryApi;
}

/**
* @deprecated Use MUI X Data Grid in combination with `useDataGridRemote` instead.
*/
export function useTableQuery<TInnerData, TInnerVariables>() {
export function useTableQuery<TInnerData, TInnerVariables extends OperationVariables>() {
function useTableQueryInner<TTableData extends ITableData>(
q: DocumentNode,
options: ITableQueryHookOptions<TInnerData, TInnerVariables, TTableData>,
Expand Down
2 changes: 1 addition & 1 deletion packages/admin/cms-admin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
"uuid": "^11.0.5"
},
"devDependencies": {
"@apollo/client": "^3.12.8",
"@apollo/client": "^3.12.9",
"@babel/cli": "^7.26.4",
"@babel/core": "^7.26.7",
"@comet/admin-babel-preset": "workspace:^7.13.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/admin/cms-admin/src/builds/PublisherPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const DataGridContainer = styled("div")`
export function PublisherPage() {
const intl = useIntl();

const { data, loading, error } = useQuery<GQLBuildsQuery, undefined>(buildsQuery);
const { data, loading, error } = useQuery<GQLBuildsQuery>(buildsQuery);

if (error) {
throw error;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { setContext } from "@apollo/client/link/context";
/**
* adds http header "x-include-invisible-content" flag with Unpublished and Archive values, so we can fetch Unpublished and Archived Content from API
*/
export const includeInvisibleContentContext = setContext((request, prevContext: { headers: Record<string, unknown> | undefined }) => {
export const includeInvisibleContentContext = setContext((request, prevContext) => {
const headers: Record<string, unknown> = {
"x-include-invisible-content": ["Pages:Unpublished", "Pages:Archived", "Blocks:Invisible"],
"x-preview-dam-urls": "1",
Expand Down
2 changes: 1 addition & 1 deletion packages/admin/cms-admin/src/common/useEditState.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ interface EditStateReturn<TData, TVariables, TState, TOutput> {
}

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function useEditState<TData = any, TVariables = OperationVariables, TState = any, TOutput = any>(
export function useEditState<TData = any, TVariables extends OperationVariables = OperationVariables, TState = any, TOutput = any>(
options: EditStateOptions<TData, TVariables, TState, TOutput>,
): EditStateReturn<TData, TVariables, TState, TOutput> {
const [referenceContent, setReferenceContent] = useState<TOutput | undefined>(
Expand Down
5 changes: 3 additions & 2 deletions packages/admin/cms-admin/src/common/useOptimisticQuery.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@ import { ApolloCache } from "@apollo/client/cache";
import { DocumentNode, OperationVariables, TypedDocumentNode } from "@apollo/client/core";
import { QueryHookOptions, QueryResult } from "@apollo/client/react/types/types";

interface UseQueryWithFragmentCacheOptions<TData = unknown, TVariables = OperationVariables> extends QueryHookOptions<TData, TVariables> {
interface UseQueryWithFragmentCacheOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables>
extends QueryHookOptions<TData, TVariables> {
// Apollo uses ApolloCache<object> internally, therefore I must use object too
optimisticResponse: (cache: ApolloCache<object>) => TData | undefined;
}

export const useOptimisticQuery = <TData, TVariables>(
export const useOptimisticQuery = <TData, TVariables extends OperationVariables>(
query: DocumentNode | TypedDocumentNode<TData, TVariables>,
options?: UseQueryWithFragmentCacheOptions<TData, TVariables>,
): QueryResult<TData, TVariables> => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { gql, useApolloClient } from "@apollo/client";
import { saveAs } from "file-saver";
import { GraphQLError } from "graphql";
import { createContext, Dispatch, ReactNode, SetStateAction, useCallback, useContext, useState } from "react";

import { ConfirmDeleteDialog } from "../../FileActions/ConfirmDeleteDialog";
Expand Down Expand Up @@ -125,7 +124,7 @@ export const DamSelectionProvider = ({ children }: { children?: ReactNode }) =>
return { id: item[0], type: item[1] };
});

let errors: readonly GraphQLError[] | undefined;
let errors;
for (const selectedItem of selectedItems) {
if (selectedItem.type === "file") {
const result = await apolloClient.mutate<GQLDeleteDamFileMutation, GQLDeleteDamFileMutationVariables>({
Expand Down
4 changes: 2 additions & 2 deletions packages/admin/cms-admin/src/pages/useSaveConflictQuery.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DocumentNode, QueryOptions, TypedDocumentNode, useApolloClient } from "@apollo/client";
import { DocumentNode, OperationVariables, QueryOptions, TypedDocumentNode, useApolloClient } from "@apollo/client";
import { LocalErrorScopeApolloContext } from "@comet/admin";

import { SaveConflictHookReturn, useSaveConflict } from "./useSaveConflict";
Expand All @@ -12,7 +12,7 @@ interface SaveConflictDialogOptions {
loadLatestVersion: () => Promise<void>;
onDiscardButtonPressed: () => Promise<void>;
}
export function useSaveConflictQuery<TData, TVariables>(
export function useSaveConflictQuery<TData, TVariables extends OperationVariables>(
query: DocumentNode | TypedDocumentNode<TData, TVariables>,
options: SaveConflictQueryHookOptions<TData, TVariables>,
dialogOptions: SaveConflictDialogOptions,
Expand Down
Loading

0 comments on commit a553281

Please sign in to comment.