28 lines
803 B
TypeScript
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;
|
|
};
|