import { Collection } from "@discordjs/collection"; import GenericError from "../../../Errors/GenericError"; import { activityCw } from "./activities"; import { CWActivity } from "./activity.types"; /** * Fetch all activities from ConnectWise with optional conditions. * * @param conditions - Optional CW conditions string for filtering * @returns A Collection of CW activities keyed by their ID * @throws GenericError if the fetch fails */ export const fetchAllActivities = async ( conditions?: string, ): Promise> => { try { return await activityCw.fetchAll(conditions); } catch (error) { const errBody = (error as any).response?.data || error; console.error("Error fetching all activities:", errBody); throw new GenericError({ name: "FetchAllActivitiesError", message: "Failed to fetch activities from ConnectWise", cause: typeof errBody === "string" ? errBody : JSON.stringify(errBody), status: 502, }); } };