in src/api/websites/db.ts [53:78]
export async function retrieveWebsiteList(
conn: DbConnectionType,
options: ListRequest,
): Promise<Website[]> {
let query = SQL`
SELECT
distinct url,
MAX(time_created) as time_last_created,
array(
SELECT to_json(n.*)::text
FROM lighthouse_audits n
WHERE n.url = o.url
ORDER BY time_created DESC
) as audits_json
FROM lighthouse_audits o
`;
if (options.where) {
query.append(`\n`);
query.append(options.where);
}
query = query.append(SQL`\nGROUP BY url`);
query = query.append(SQL`\nORDER BY time_last_created DESC`);
query = addListRequestToQuery(query, options);
const queryResult = await conn.query<WebsiteRow>(query);
return queryResult.rows.map(Website.buildForDbRow);
}