({
resource: resourceFromProp,
ids,
queryOptions,
successNotification,
errorNotification,
meta,
metaData,
liveMode,
onLiveEvent,
liveParams,
dataProviderName,
overtimeOptions,
}: UseManyProps<TQueryFnData, TError, TData>)
| 88 | */ |
| 89 | |
| 90 | export const useMany = < |
| 91 | TQueryFnData extends BaseRecord = BaseRecord, |
| 92 | TError extends HttpError = HttpError, |
| 93 | TData extends BaseRecord = TQueryFnData, |
| 94 | >({ |
| 95 | resource: resourceFromProp, |
| 96 | ids, |
| 97 | queryOptions, |
| 98 | successNotification, |
| 99 | errorNotification, |
| 100 | meta, |
| 101 | metaData, |
| 102 | liveMode, |
| 103 | onLiveEvent, |
| 104 | liveParams, |
| 105 | dataProviderName, |
| 106 | overtimeOptions, |
| 107 | }: UseManyProps<TQueryFnData, TError, TData>): QueryObserverResult< |
| 108 | GetManyResponse<TData>, |
| 109 | TError |
| 110 | > & |
| 111 | UseLoadingOvertimeReturnType => { |
| 112 | const { resources, resource, identifier } = useResource(resourceFromProp); |
| 113 | const dataProvider = useDataProvider(); |
| 114 | const translate = useTranslate(); |
| 115 | const authProvider = useActiveAuthProvider(); |
| 116 | const { mutate: checkError } = useOnError({ |
| 117 | v3LegacyAuthProviderCompatible: Boolean(authProvider?.isLegacy), |
| 118 | }); |
| 119 | const handleNotification = useHandleNotification(); |
| 120 | const getMeta = useMeta(); |
| 121 | const { keys, preferLegacyKeys } = useKeys(); |
| 122 | |
| 123 | const preferredMeta = pickNotDeprecated(meta, metaData); |
| 124 | const pickedDataProvider = pickDataProvider( |
| 125 | identifier, |
| 126 | dataProviderName, |
| 127 | resources, |
| 128 | ); |
| 129 | const isEnabled = |
| 130 | queryOptions?.enabled === undefined || queryOptions?.enabled === true; |
| 131 | |
| 132 | const { getMany, getOne } = dataProvider(pickedDataProvider); |
| 133 | |
| 134 | const combinedMeta = getMeta({ resource, meta: preferredMeta }); |
| 135 | |
| 136 | useResourceSubscription({ |
| 137 | resource: identifier, |
| 138 | types: ["*"], |
| 139 | params: { |
| 140 | ids: ids, |
| 141 | meta: combinedMeta, |
| 142 | metaData: combinedMeta, |
| 143 | subscriptionType: "useMany", |
| 144 | ...liveParams, |
| 145 | }, |
| 146 | channel: `resources/${resource.name}`, |
| 147 | enabled: isEnabled, |
no test coverage detected