34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import { createAsyncThunk } from '@reduxjs/toolkit';
|
|
import { getCatagories, onBoardComplete } from '../../../api/onboardApi';
|
|
import { onBoardPayload } from '@interfaces/onboard';
|
|
|
|
// ─── Fetch Categories ─────────────────────────────────────────────────────────
|
|
|
|
export const fetchCategories = createAsyncThunk(
|
|
'preferences/fetchCategories',
|
|
async (_, { rejectWithValue }) => {
|
|
try {
|
|
const response = await getCatagories();
|
|
return response;
|
|
} catch (error: unknown) {
|
|
const message =
|
|
error instanceof Error ? error.message : 'Failed to fetch categories';
|
|
return rejectWithValue(message);
|
|
}
|
|
},
|
|
);
|
|
|
|
export const completeOnboard = createAsyncThunk(
|
|
'preferences/completeOnboard',
|
|
async (payload: onBoardPayload, { rejectWithValue }) => {
|
|
try {
|
|
const response = await onBoardComplete(payload);
|
|
return response;
|
|
} catch (error: unknown) {
|
|
const message =
|
|
error instanceof Error ? error.message : 'Failed to complete onboard';
|
|
return rejectWithValue(message);
|
|
}
|
|
},
|
|
);
|