Files
Q-A_test/apps/web/src/entities/feedback/lib/use-feedback-search.ts
T
SDI 12e4f17b62
CI / lint (push) Failing after 49s
CI / format (push) Failing after 1m6s
CI / typecheck (push) Successful in 1m8s
CI / test (push) Failing after 1m8s
first commit
2026-07-15 18:05:12 +09:00

69 lines
1.8 KiB
TypeScript

/**
* Copyright 2025 LY Corporation
*
* LY Corporation licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
import type { UseQueryOptions } from '@tanstack/react-query';
import { useQuery } from '@tanstack/react-query';
import type {
IFetchError,
OAIMutationResponse,
OAIRequestBody,
SearchQuery,
} from '@/shared';
import { client } from '@/shared';
type TData = OAIMutationResponse<
'/api/admin/projects/{projectId}/channels/{channelId}/feedbacks/search',
'post'
>;
interface IBody
extends Omit<
OAIRequestBody<
'/api/admin/projects/{projectId}/channels/{channelId}/feedbacks/search',
'post'
>,
'queries'
> {
queries: SearchQuery[];
}
const useFeedbackSearch = (
projectId: number,
channelId: number,
body: IBody,
options?: Omit<UseQueryOptions<TData, IFetchError>, 'queryKey' | 'queryFn'>,
) => {
return useQuery<TData, IFetchError>({
queryKey: [
'/api/admin/projects/{projectId}/channels/{channelId}/feedbacks/search',
projectId,
channelId,
body,
],
queryFn: async () => {
const { data: result } = await client.post({
path: '/api/admin/projects/{projectId}/channels/{channelId}/feedbacks/search',
pathParams: { projectId, channelId },
body,
});
return result;
},
...options,
});
};
export default useFeedbackSearch;