Fix chrome extension user fetcher

This commit is contained in:
Ajay
2024-02-09 13:47:59 -05:00
parent bf644d6899
commit 09997d82ed
3 changed files with 22 additions and 51 deletions

View File

@@ -2,6 +2,7 @@ import axios from "axios";
import { Logger } from "../utils/logger";
export const getCWSUsers = (extID: string): Promise<number | undefined> =>
axios.post(`https://chrome.google.com/webstore/ajax/detail?pv=20210820&id=${extID}`)
.then(res => res.data.split("\n")[2])
.then(data => JSON.parse(data))
@@ -10,4 +11,22 @@ export const getCWSUsers = (extID: string): Promise<number | undefined> =>
.catch((err) => {
Logger.error(`Error getting chrome users - ${err}`);
return 0;
});
});
/* istanbul ignore next */
export function getChromeUsers(chromeExtensionUrl: string): Promise<number> {
return axios.get(chromeExtensionUrl)
.then(res => {
const body = res.data;
// 2024-02-09
// >20,000 users<
const match = body.match(/>([\d,]+) users</)?.[1];
if (match) {
return parseInt(match.replace(/,/g, ""));
}
})
.catch(/* istanbul ignore next */ () => {
Logger.debug(`Failing to connect to ${chromeExtensionUrl}`);
return 0;
});
}