diff --git a/packages/api/src/jobs/ai/create_digest.ts b/packages/api/src/jobs/ai/create_digest.ts index 41aa5b7ec..686efefd2 100644 --- a/packages/api/src/jobs/ai/create_digest.ts +++ b/packages/api/src/jobs/ai/create_digest.ts @@ -359,19 +359,24 @@ const generateSpeechFiles = ( return speechFiles } -// TODO: we should have a QA step here that does some +// we should have a QA step here that does some // basic checks to make sure the summaries are good. const filterSummaries = (summaries: RankedItem[]): RankedItem[] => { return summaries.filter((item) => item.summary.length > 100) } -// TODO: we can use something more sophisticated to generate titles +// we can use something more sophisticated to generate titles const generateTitle = (summaries: RankedItem[]): string => 'Omnivore digest: ' + - summaries.map((item) => item.libraryItem.title).join(',') + summaries.map((item) => item.libraryItem.title).join(', ') -// TODO: generate description based on the summaries -const generateDescription = (summaries: RankedItem[]): string => 'description' +// generate description based on the summaries +const generateDescription = (summaries: RankedItem[]): string => + `We selected ${ + summaries.length + } articles from your last 24 hours of saved items, covering ${summaries + .map((summary) => summary.topic) + .join(', ')}.` // generate content based on the summaries const generateContent = (summaries: RankedItem[]): string => @@ -383,7 +388,7 @@ const generateByline = (summaries: RankedItem[]): string => summaries .filter((summary) => !!summary.libraryItem.author) .map((item) => item.libraryItem.author) - .join(',') + .join(', ') export const createDigestJob = async (jobData: CreateDigestJobData) => { digestDefinition = await fetchDigestDefinition() diff --git a/packages/api/src/services/library_item.ts b/packages/api/src/services/library_item.ts index 647b248db..832aea3fa 100644 --- a/packages/api/src/services/library_item.ts +++ b/packages/api/src/services/library_item.ts @@ -21,7 +21,6 @@ import { redisDataSource } from '../redis_data_source' import { authTrx, getColumns, - getColumnsDbName, getRepository, queryBuilderToRawSql, } from '../repository' @@ -626,9 +625,9 @@ export const buildQuery = ( userId: string ) => { // select all columns except content - const selects: Select[] = getColumnsDbName(libraryItemRepository) + const selects: Select[] = getColumns(libraryItemRepository) .filter( - (select) => select !== 'readable_content' && select !== 'original_content' + (select) => select !== 'readableContent' && select !== 'originalContent' ) .map((column) => ({ column: `library_item.${column}` })) @@ -660,7 +659,7 @@ export const buildQuery = ( }) if (args.includeContent) { - queryBuilder.addSelect('library_item.readable_content') + queryBuilder.addSelect('library_item.readableContent') } if (!args.includePending) { @@ -761,8 +760,8 @@ export const findRecentLibraryItems = async ( } export const findLibraryItemsByIds = async (ids: string[], userId: string) => { - const selectColumns = getColumnsDbName(libraryItemRepository) - .filter((column) => column !== 'original_content') + const selectColumns = getColumns(libraryItemRepository) + .filter((column) => column !== 'originalContent') .map((column) => `library_item.${column}`) return authTrx( async (tx) =>