diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/infiniteQueryOptions.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/infiniteQueryOptions.ts index 159aedfa6..046be8a68 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/infiniteQueryOptions.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/infiniteQueryOptions.ts @@ -5,6 +5,7 @@ import { tsNodeToString } from '../../../compiler/utils'; import { clientApi } from '../../../generate/client'; import { operationPagination } from '../../../ir/operation'; import type { IR } from '../../../ir/types'; +import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy'; import { createOperationComment, isOperationOptionsRequired, @@ -312,9 +313,15 @@ export const createInfiniteQueryOptions = ({ }); file.add(node); + const functionIdentifier = serviceFunctionIdentifier({ + config: plugin.context.config, + id: operation.id, + operation, + }); + const identifierInfiniteQueryKey = file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-infinite-query-key/${operation.id}`, + $ref: `#/tanstack-query-infinite-query-key/${functionIdentifier}`, case: plugin.config.infiniteQueryKeys.case, nameTransformer: plugin.config.infiniteQueryKeys.name, namespace: 'value', @@ -429,7 +436,7 @@ export const createInfiniteQueryOptions = ({ const identifierInfiniteQueryOptions = file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-infinite-query-options/${operation.id}`, + $ref: `#/tanstack-query-infinite-query-options/${functionIdentifier}`, case: plugin.config.infiniteQueryOptions.case, create: true, nameTransformer: plugin.config.infiniteQueryOptions.name, diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/mutationOptions.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/mutationOptions.ts index 6fdeca812..6a4ad522c 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/mutationOptions.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/mutationOptions.ts @@ -2,6 +2,7 @@ import type ts from 'typescript'; import { compiler } from '../../../compiler'; import type { IR } from '../../../ir/types'; +import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy'; import { createOperationComment } from '../../shared/utils/operation'; import type { PluginInstance, PluginState } from './types'; import { useTypeData, useTypeError, useTypeResponse } from './useType'; @@ -101,9 +102,15 @@ export const createMutationOptions = ({ ); } + const functionIdentifier = serviceFunctionIdentifier({ + config: plugin.context.config, + id: operation.id, + operation, + }); + const identifier = file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-mutation-options/${operation.id}`, + $ref: `#/tanstack-query-mutation-options/${functionIdentifier}`, case: plugin.config.mutationOptions.case, create: true, nameTransformer: plugin.config.mutationOptions.name, diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/queryKey.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/queryKey.ts index 015b8b2e7..ac48503dd 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/queryKey.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/queryKey.ts @@ -3,6 +3,7 @@ import { clientApi } from '../../../generate/client'; import { hasOperationDataRequired } from '../../../ir/operation'; import type { IR } from '../../../ir/types'; import { getClientBaseUrlKey } from '../../@hey-api/client-core/utils'; +import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy'; import type { PluginInstance } from './types'; import { useTypeData } from './useType'; @@ -306,10 +307,17 @@ export const queryKeyStatement = ({ }) => { const file = plugin.context.file({ id: plugin.name })!; const typeData = useTypeData({ operation, plugin }); + + const functionIdentifier = serviceFunctionIdentifier({ + config: plugin.context.config, + id: operation.id, + operation, + }); + const identifier = isInfinite ? file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-infinite-query-key/${operation.id}`, + $ref: `#/tanstack-query-infinite-query-key/${functionIdentifier}`, case: plugin.config.infiniteQueryKeys.case, create: true, nameTransformer: plugin.config.infiniteQueryKeys.name, @@ -317,7 +325,7 @@ export const queryKeyStatement = ({ }) : file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-query-key/${operation.id}`, + $ref: `#/tanstack-query-query-key/${functionIdentifier}`, case: plugin.config.queryKeys.case, create: true, nameTransformer: plugin.config.queryKeys.name, @@ -335,7 +343,7 @@ export const queryKeyStatement = ({ ], returnType: isInfinite ? typeQueryKey : undefined, statements: createQueryKeyLiteral({ - id: operation.id, + id: functionIdentifier, isInfinite, plugin, }), diff --git a/packages/openapi-ts/src/plugins/@tanstack/query-core/queryOptions.ts b/packages/openapi-ts/src/plugins/@tanstack/query-core/queryOptions.ts index 4e72a2065..e2e4ec440 100644 --- a/packages/openapi-ts/src/plugins/@tanstack/query-core/queryOptions.ts +++ b/packages/openapi-ts/src/plugins/@tanstack/query-core/queryOptions.ts @@ -2,6 +2,7 @@ import type ts from 'typescript'; import { compiler } from '../../../compiler'; import type { IR } from '../../../ir/types'; +import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy'; import { createOperationComment, isOperationOptionsRequired, @@ -68,9 +69,15 @@ export const createQueryOptions = ({ const typeData = useTypeData({ operation, plugin }); + const functionIdentifier = serviceFunctionIdentifier({ + config: plugin.context.config, + id: operation.id, + operation, + }); + const identifierQueryKey = file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-query-key/${operation.id}`, + $ref: `#/tanstack-query-query-key/${functionIdentifier}`, case: plugin.config.queryKeys.case, nameTransformer: plugin.config.queryKeys.name, namespace: 'value', @@ -129,7 +136,7 @@ export const createQueryOptions = ({ const identifierQueryOptions = file.identifier({ // TODO: refactor for better cross-plugin compatibility - $ref: `#/tanstack-query-query-options/${operation.id}`, + $ref: `#/tanstack-query-query-options/${functionIdentifier}`, case: plugin.config.queryOptions.case, create: true, nameTransformer: plugin.config.queryOptions.name,