535 coderabbit linter pr comments (#611)
This commit is contained in:
@@ -221,7 +221,7 @@ function CalendarPopover({
|
|||||||
if (importedContent) {
|
if (importedContent) {
|
||||||
dispatch(
|
dispatch(
|
||||||
importEventFromFileAsync({
|
importEventFromFileAsync({
|
||||||
calLink: `/calendar/${userData.openpaasId}/${calId}.json`,
|
calLink: `/calendars/${userData.openpaasId}/${calId}.json`,
|
||||||
file: importedContent,
|
file: importedContent,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { RootState } from "@/app/store";
|
|||||||
import { OpenPaasUserData } from "@/features/User/type/OpenPaasUserData";
|
import { OpenPaasUserData } from "@/features/User/type/OpenPaasUserData";
|
||||||
import { getOpenPaasUser, getUserDetails } from "@/features/User/userAPI";
|
import { getOpenPaasUser, getUserDetails } from "@/features/User/userAPI";
|
||||||
import { defaultColors } from "@/utils/defaultColors";
|
import { defaultColors } from "@/utils/defaultColors";
|
||||||
import { formatReduxError } from "@/utils/errorUtils";
|
import { formatReduxError, toRejectedError } from "@/utils/errorUtils";
|
||||||
import { createAsyncThunk } from "@reduxjs/toolkit";
|
import { createAsyncThunk } from "@reduxjs/toolkit";
|
||||||
import { getCalendars } from "../CalendarApi";
|
import { getCalendars } from "../CalendarApi";
|
||||||
import { Calendar, CalendarInvite } from "../CalendarTypes";
|
import { Calendar, CalendarInvite } from "../CalendarTypes";
|
||||||
@@ -79,7 +79,7 @@ export const getCalendarsListAsync = createAsyncThunk<
|
|||||||
const color = cal["apple:color"]
|
const color = cal["apple:color"]
|
||||||
? {
|
? {
|
||||||
light: cal["apple:color"],
|
light: cal["apple:color"],
|
||||||
dark: "#FFF",
|
dark: defaultColors[0].dark,
|
||||||
}
|
}
|
||||||
: defaultColors[0];
|
: defaultColors[0];
|
||||||
|
|
||||||
@@ -145,10 +145,6 @@ export const getCalendarsListAsync = createAsyncThunk<
|
|||||||
errors: errors.join("\n"),
|
errors: errors.join("\n"),
|
||||||
};
|
};
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
const error = err as { response?: { status?: number } };
|
return rejectWithValue(toRejectedError(err));
|
||||||
return rejectWithValue({
|
|
||||||
message: formatReduxError(err),
|
|
||||||
status: error.response?.status,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ export function extractCalendarEvents(
|
|||||||
.filter(Boolean) as CalendarEvent[];
|
.filter(Boolean) as CalendarEvent[];
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractValarm(vevent: VCalComponent[]) {
|
function extractValarm(vevent: VCalComponent) {
|
||||||
const subComponents = vevent[2];
|
const subComponents = vevent[2];
|
||||||
if (!Array.isArray(subComponents)) {
|
if (!Array.isArray(subComponents)) {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|||||||
@@ -373,7 +373,7 @@ export async function searchEvent(
|
|||||||
organizers?: string[];
|
organizers?: string[];
|
||||||
attendees?: string[];
|
attendees?: string[];
|
||||||
} = {
|
} = {
|
||||||
query: keywords ? keywords : query,
|
query: keywords || query,
|
||||||
calendars: searchIn.map((calId) => {
|
calendars: searchIn.map((calId) => {
|
||||||
const [userId, calendarId] = calId.split("/");
|
const [userId, calendarId] = calId.split("/");
|
||||||
return { calendarId, userId };
|
return { calendarId, userId };
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
formatLocalDateTime,
|
formatLocalDateTime,
|
||||||
} from "@/components/Event/utils/dateTimeFormatters";
|
} from "@/components/Event/utils/dateTimeFormatters";
|
||||||
import { convertFormDateTimeToISO } from "@/components/Event/utils/dateTimeHelpers";
|
import { convertFormDateTimeToISO } from "@/components/Event/utils/dateTimeHelpers";
|
||||||
|
import { assertThunkSuccess } from "@/utils/assertThunkSuccess";
|
||||||
import {
|
import {
|
||||||
buildEventFormTempData,
|
buildEventFormTempData,
|
||||||
clearEventFormTempData,
|
clearEventFormTempData,
|
||||||
@@ -38,7 +39,6 @@ import React, {
|
|||||||
import { useI18n } from "twake-i18n";
|
import { useI18n } from "twake-i18n";
|
||||||
import { Calendar } from "../Calendars/CalendarTypes";
|
import { Calendar } from "../Calendars/CalendarTypes";
|
||||||
import { putEventAsync } from "../Calendars/services";
|
import { putEventAsync } from "../Calendars/services";
|
||||||
import { AsyncThunkResult } from "../Calendars/types/AsyncThunkResult";
|
|
||||||
import { userAttendee } from "../User/models/attendee";
|
import { userAttendee } from "../User/models/attendee";
|
||||||
import { CalendarEvent, RepetitionObject } from "./EventsTypes";
|
import { CalendarEvent, RepetitionObject } from "./EventsTypes";
|
||||||
import { buildDelegatedEventURL } from "./eventUtils";
|
import { buildDelegatedEventURL } from "./eventUtils";
|
||||||
@@ -847,22 +847,7 @@ function EventPopover({
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
// Handle result of putEventAsync - check if rejected first
|
await assertThunkSuccess(result);
|
||||||
const typedResult = result as AsyncThunkResult;
|
|
||||||
|
|
||||||
// Check if result is a rejected action
|
|
||||||
if (typedResult.type && typedResult.type.endsWith("/rejected")) {
|
|
||||||
throw new Error(
|
|
||||||
typedResult.error?.message ||
|
|
||||||
typedResult.payload?.message ||
|
|
||||||
"API call failed"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// If result has unwrap, call it (it will throw if rejected)
|
|
||||||
if (typedResult && typeof typedResult.unwrap === "function") {
|
|
||||||
await typedResult.unwrap();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear temp data on successful save
|
// Clear temp data on successful save
|
||||||
clearEventFormTempData("create");
|
clearEventFormTempData("create");
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import { useAppDispatch, useAppSelector } from "@/app/hooks";
|
import { useAppDispatch, useAppSelector } from "@/app/hooks";
|
||||||
import { updateAttendeesAfterTimeChange } from "@/features/Events/updateEventHelpers/updateAttendeesAfterTimeChange";
|
|
||||||
import { ResponsiveDialog } from "@/components/Dialog";
|
import { ResponsiveDialog } from "@/components/Dialog";
|
||||||
import EventFormFields from "@/components/Event/EventFormFields";
|
import EventFormFields from "@/components/Event/EventFormFields";
|
||||||
import { addDays } from "@/components/Event/utils/dateRules";
|
import { addDays } from "@/components/Event/utils/dateRules";
|
||||||
@@ -10,6 +9,7 @@ import {
|
|||||||
updateEventInstanceAsync,
|
updateEventInstanceAsync,
|
||||||
updateSeriesAsync,
|
updateSeriesAsync,
|
||||||
} from "@/features/Calendars/services";
|
} from "@/features/Calendars/services";
|
||||||
|
import { updateAttendeesAfterTimeChange } from "@/features/Events/updateEventHelpers/updateAttendeesAfterTimeChange";
|
||||||
import { assertThunkSuccess } from "@/utils/assertThunkSuccess";
|
import { assertThunkSuccess } from "@/utils/assertThunkSuccess";
|
||||||
import {
|
import {
|
||||||
buildEventFormTempData,
|
buildEventFormTempData,
|
||||||
@@ -39,7 +39,6 @@ import {
|
|||||||
updateEventLocal,
|
updateEventLocal,
|
||||||
} from "../Calendars/CalendarSlice";
|
} from "../Calendars/CalendarSlice";
|
||||||
import { Calendar } from "../Calendars/CalendarTypes";
|
import { Calendar } from "../Calendars/CalendarTypes";
|
||||||
import { AsyncThunkResult } from "../Calendars/types/AsyncThunkResult";
|
|
||||||
import { userAttendee } from "../User/models/attendee";
|
import { userAttendee } from "../User/models/attendee";
|
||||||
import { deleteEvent, getEvent, putEvent } from "./EventApi";
|
import { deleteEvent, getEvent, putEvent } from "./EventApi";
|
||||||
import { CalendarEvent, RepetitionObject } from "./EventsTypes";
|
import { CalendarEvent, RepetitionObject } from "./EventsTypes";
|
||||||
@@ -798,19 +797,7 @@ function EventUpdateModal({
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Handle result of updateEventInstanceAsync
|
// Handle result of updateEventInstanceAsync
|
||||||
const typedResult = result as AsyncThunkResult;
|
await assertThunkSuccess(result);
|
||||||
if (typedResult && typeof typedResult.unwrap === "function") {
|
|
||||||
await typedResult.unwrap();
|
|
||||||
} else {
|
|
||||||
// Check if result is rejected
|
|
||||||
if (typedResult.type && typedResult.type.endsWith("/rejected")) {
|
|
||||||
throw new Error(
|
|
||||||
typedResult.error?.message ||
|
|
||||||
typedResult.payload?.message ||
|
|
||||||
"API call failed"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear temp data on successful save
|
// Clear temp data on successful save
|
||||||
clearEventFormTempData("update");
|
clearEventFormTempData("update");
|
||||||
@@ -871,22 +858,7 @@ function EventUpdateModal({
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Handle result of updateSeriesAsync
|
// Handle result of updateSeriesAsync
|
||||||
const typedResult = result as AsyncThunkResult;
|
await assertThunkSuccess(result);
|
||||||
if (typedResult && typeof typedResult.unwrap === "function") {
|
|
||||||
await typedResult.unwrap();
|
|
||||||
} else {
|
|
||||||
// Check if result is rejected
|
|
||||||
if (
|
|
||||||
typedResult.type &&
|
|
||||||
typedResult.type.endsWith("/rejected")
|
|
||||||
) {
|
|
||||||
throw new Error(
|
|
||||||
typedResult.error?.message ||
|
|
||||||
typedResult.payload?.message ||
|
|
||||||
"API call failed"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear cache after successful update
|
// Clear cache after successful update
|
||||||
dispatch(clearFetchCache(calId));
|
dispatch(clearFetchCache(calId));
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import moment from "moment-timezone";
|
|||||||
import { Calendar } from "../Calendars/CalendarTypes";
|
import { Calendar } from "../Calendars/CalendarTypes";
|
||||||
import {
|
import {
|
||||||
RepetitionRule,
|
RepetitionRule,
|
||||||
|
VCalComponent,
|
||||||
VObjectProperty,
|
VObjectProperty,
|
||||||
} from "../Calendars/types/CalendarData";
|
} from "../Calendars/types/CalendarData";
|
||||||
import { userAttendee } from "../User/models/attendee";
|
import { userAttendee } from "../User/models/attendee";
|
||||||
@@ -37,7 +38,7 @@ export function parseCalendarEvent(
|
|||||||
color: Record<string, string>,
|
color: Record<string, string>,
|
||||||
calendar: Calendar,
|
calendar: Calendar,
|
||||||
eventURL: string,
|
eventURL: string,
|
||||||
valarm?: VObjectProperty[]
|
valarm?: VCalComponent
|
||||||
): CalendarEvent {
|
): CalendarEvent {
|
||||||
const event: Partial<CalendarEvent> = { color, attendee: [] };
|
const event: Partial<CalendarEvent> = { color, attendee: [] };
|
||||||
let recurrenceId;
|
let recurrenceId;
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import {
|
|||||||
moveEventAsync,
|
moveEventAsync,
|
||||||
putEventAsync,
|
putEventAsync,
|
||||||
} from "@/features/Calendars/services";
|
} from "@/features/Calendars/services";
|
||||||
import { AsyncThunkResult } from "@/features/Calendars/types/AsyncThunkResult";
|
|
||||||
import { userAttendee } from "@/features/User/models/attendee";
|
import { userAttendee } from "@/features/User/models/attendee";
|
||||||
import { userOrganiser } from "@/features/User/userDataTypes";
|
import { userOrganiser } from "@/features/User/userDataTypes";
|
||||||
import { assertThunkSuccess } from "@/utils/assertThunkSuccess";
|
import { assertThunkSuccess } from "@/utils/assertThunkSuccess";
|
||||||
@@ -186,12 +185,7 @@ async function moveDelegatedEvent({
|
|||||||
putEventAsync({ cal: targetCalendar, newEvent: eventForTargetCalendar })
|
putEventAsync({ cal: targetCalendar, newEvent: eventForTargetCalendar })
|
||||||
);
|
);
|
||||||
|
|
||||||
const typedPutResult = putResult as AsyncThunkResult;
|
await assertThunkSuccess(putResult);
|
||||||
if (typedPutResult && typeof typedPutResult.unwrap === "function") {
|
|
||||||
await typedPutResult.unwrap();
|
|
||||||
} else {
|
|
||||||
await assertThunkSuccess(putResult);
|
|
||||||
}
|
|
||||||
|
|
||||||
const deleteResult = await dispatch(
|
const deleteResult = await dispatch(
|
||||||
deleteEventAsync({
|
deleteEventAsync({
|
||||||
@@ -201,10 +195,5 @@ async function moveDelegatedEvent({
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
const typedDeleteResult = deleteResult as AsyncThunkResult;
|
await assertThunkSuccess(deleteResult);
|
||||||
if (typedDeleteResult && typeof typedDeleteResult.unwrap === "function") {
|
|
||||||
await typedDeleteResult.unwrap();
|
|
||||||
} else {
|
|
||||||
await assertThunkSuccess(deleteResult);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user