import type {NodesRequestParams} from '../../../types/api/nodes'; import type {GroupsRequestParams} from '../../../types/api/storage'; import {api} from '../api'; import {requestStorageData} from './requestStorageData'; import {prepareStorageNodesResponse} from './utils'; export const storageApi = api.injectEndpoints({ endpoints: (builder) => ({ getStorageNodesInfo: builder.query({ queryFn: async (params: Omit, {signal}) => { try { const result = await window.api.viewer.getNodes( {storage: true, type: 'static', ...params}, {signal}, ); return {data: prepareStorageNodesResponse(result)}; } catch (error) { return {error}; } }, providesTags: ['All', 'StorageData'], }), getStorageGroupsInfo: builder.query({ queryFn: async (params: GroupsRequestParams, {signal}) => { try { const result = await requestStorageData(params, {signal}); return {data: result}; } catch (error) { return {error}; } }, providesTags: ['All', 'StorageData'], }), }), overrideExisting: 'throw', });