d6e464afad
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
26 lines
823 B
TypeScript
26 lines
823 B
TypeScript
import { getEvent } from "@/features/Events/EventApi";
|
|
import { CalendarEvent } from "@/features/Events/EventsTypes";
|
|
import { formatReduxError } from "@/utils/errorUtils";
|
|
import { createAsyncThunk } from "@reduxjs/toolkit";
|
|
import { RejectedError } from "../types/RejectedError";
|
|
|
|
export const getEventAsync = createAsyncThunk<
|
|
{ calId: string; event: CalendarEvent },
|
|
CalendarEvent,
|
|
{ rejectValue: RejectedError }
|
|
>("calendars/getEvent", async (event, { rejectWithValue }) => {
|
|
try {
|
|
const response: CalendarEvent = await getEvent(event);
|
|
return {
|
|
calId: event.calId,
|
|
event: response,
|
|
};
|
|
} catch (err) {
|
|
const error = err as { response?: { status?: number } };
|
|
return rejectWithValue({
|
|
message: formatReduxError(err),
|
|
status: error.response?.status,
|
|
});
|
|
}
|
|
});
|