Skip to content
Snippets Groups Projects

feat: Add publications list modal download csv (MIN-242)

Merged Adrian Orłów requested to merge MIN-242-publications-list-modal-download-csv into development
5 files
+ 149
5
Compare changes
  • Side-by-side
  • Inline
Files
5
import { publicationsResponseSchema } from '@/models/publicationsResponseSchema';
import { apiPath } from '@/redux/apiPath';
import { PUBLICATIONS_FETCHING_ERROR_PREFIX } from '@/redux/publications/publications.constatns';
import { axiosInstance } from '@/services/api/utils/axiosInstance';
import { Publication, PublicationsResponse } from '@/types/models';
import { getErrorMessage } from '@/utils/getErrorMessage';
import { showToast } from '@/utils/showToast';
import { validateDataUsingZodSchema } from '@/utils/validateDataUsingZodSchema';
interface Args {
length: number;
}
export const getBasePublications = async ({ length }: Args): Promise<Publication[]> => {
try {
const response = await axiosInstance.get<PublicationsResponse>(
apiPath.getPublications({ params: { length } }),
);
const isDataValid = validateDataUsingZodSchema(response.data, publicationsResponseSchema);
return isDataValid ? response.data.data : [];
} catch (error) {
const errorMessage = getErrorMessage({ error, prefix: PUBLICATIONS_FETCHING_ERROR_PREFIX });
showToast({
type: 'error',
message: errorMessage,
});
return [];
}
};
Loading