# disco/1.4.10/backend/views/components/Main/features/imageUpload/imageUploadApi.js

Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO, version 1.4.10. 41 lines.

- Page: https://pluginprobe.com/plugins/disco/1.4.10/code/backend/views/components/Main/features/imageUpload/imageUploadApi.js
- Raw: https://pluginprobe.com/plugins/disco/1.4.10/raw/backend/views/components/Main/features/imageUpload/imageUploadApi.js
- Modified: 2026-03-02T04:35:26+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/disco/1.4.10/code/backend/views/components/Main/features/imageUpload/imageUploadApi.js#L10-L20`.

```javascript
import { apiSlice } from '../api/apiSlice';

export const imageUploadApi = apiSlice.injectEndpoints({
	endpoints: (builder) => ({
		uploadImage: builder.mutation({
			query: ({ file, type }) => {
				const formData = new FormData();
				formData.append('image', file);
				formData.append('type', type);
				return {
					url: 'image-upload',
					method: 'POST',
					body: formData,
				};
			},
			invalidatesTags: (result, error, { type }) => [
				{ type: 'UploadedImages', id: type },
			],
		}),
		deleteImage: builder.mutation({
			query: (id) => ({
				url: `image-upload/${id}`,
				method: 'DELETE',
			}),
			invalidatesTags: ['UploadedImages'],
		}),
		getUploadedImages: builder.query({
			query: (type) => `image-upload/${type}`,
			providesTags: (result, error, type) => [
				{ type: 'UploadedImages', id: type },
			],
		}),
	}),
});

export const {
	useUploadImageMutation,
	useDeleteImageMutation,
	useGetUploadedImagesQuery,
} = imageUploadApi;

```
