Untitled

 avatar
unknown
plain_text
a month ago
869 B
2
Indexable
getUser: builder.query<Account | null, void>({
    async queryFn(_arg, _queryApi, _extraOptions, baseQuery) {
        const result = await baseQuery({ url: 'account/me', method: 'GET' });

        if (result.error) {
            // Możesz tu sprawdzić status (np. 401) jeśli chcesz bardziej szczegółową obsługę
            return { data: null };
        }

        return result as { data: Account };
    },
    providesTags: ["User"],
    async onQueryStarted(_, { dispatch, queryFulfilled }) {
        try {
            const { data } = await queryFulfilled;
            dispatch(
                accountApi.util.updateQueryData('getUser', undefined, () => data)
            );
        } catch {
            dispatch(
                accountApi.util.updateQueryData('getUser', undefined, () => null)
            );
        }
    },
}),
Editor is loading...
Leave a Comment