import { createAction, createAsyncThunk } from '@reduxjs/toolkit'; import { getCustomersApi, deleteCustomerApi } from '@api'; import { CustomerItem, DeleteCustomerResponse } from '@interfaces'; export const resetCustomersState = createAction('customers/resetState'); export const getCustomers = createAsyncThunk( 'customers/getCustomers', async (_, { rejectWithValue }) => { try { return await getCustomersApi(); } catch (error: any) { return rejectWithValue(error.message || 'Failed to load customers'); } }, ); export const deleteCustomer = createAsyncThunk< DeleteCustomerResponse, { userid: string } >('customers/deleteCustomer', async (payload, { rejectWithValue }) => { try { return await deleteCustomerApi(payload.userid); } catch (error: any) { return rejectWithValue(error.message || 'Failed to delete customer'); } });