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);
}
},
);