in tools/gsuite-scanner/src/data/sites.ts [18:46]
export default (getCreds: GetCredentialsDelegate) => async (config: IConfigSchema): Promise<ISite[]> => {
log("Loading all sites...");
const creds = await getCreds(["https://sites.google.com/feeds"]);
log("Creating sites feed reader...");
const sitesFeedReader = createFeedReader<ISite>(creds, (node: any) => ({
id: node.id[0],
links: (<any[]>node.link).map(n => ({ rel: n.$.rel, type: n.$.type, href: n.$.href })),
siteName: node["sites:siteName"][0],
theme: node["sites:theme"][0],
title: node.title[0],
updated: new Date(node.updated[0]),
}));
log("Created sites feed reader.");
const baseUrl = `https://sites.google.com/feeds/site/${config.domain}/`;
const params = [
"include-all-sites=true",
`max-results=${config.maxResultsPerPage}`,
];
log(`Reading sites from feed ${baseUrl}`);
return read(sitesFeedReader(`${baseUrl}?${params.join("&")}`));
};