Files
optima/src/modules/cw-utils/fetchAllCompanies.ts
T

28 lines
803 B
TypeScript

import { Collection } from "@discordjs/collection";
import { connectWiseApi } from "../../constants";
import { Company } from "../../types/ConnectWiseTypes";
export const fetchAllCwCompanies = async (): Promise<
Collection<string, Company>
> => {
let allCompanies = new Collection<string, Company>();
const pageCount = 1000;
const count = (await connectWiseApi.get("/company/companies/count")).data
.count;
const totalPages = Math.ceil(count / pageCount);
for (let page = 0; page < totalPages; page++) {
const response = await connectWiseApi.get(
`/company/companies?page=${page + 1}&pageSize=${pageCount}`,
);
const companies = response.data;
for (const company of companies) {
allCompanies.set(company.id, company);
}
}
return allCompanies;
};