29 lines
1003 B
TypeScript
29 lines
1003 B
TypeScript
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<Collection<number, CWActivity>> => {
|
|
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,
|
|
});
|
|
}
|
|
};
|