diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index cd4b67b31..ee17f1843 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -3734,7 +3734,6 @@ export type User = { __typename?: 'User'; email?: Maybe; featureList?: Maybe>; - features?: Maybe>>; followersCount?: Maybe; friendsCount?: Maybe; id: Scalars['ID']; @@ -7203,7 +7202,6 @@ export type UploadImportFileSuccessResolvers = { email?: Resolver, ParentType, ContextType>; featureList?: Resolver>, ParentType, ContextType>; - features?: Resolver>>, ParentType, ContextType>; followersCount?: Resolver, ParentType, ContextType>; friendsCount?: Resolver, ParentType, ContextType>; id?: Resolver; diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index e48fe3cff..2e6be1a96 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -3014,7 +3014,6 @@ enum UploadImportFileType { type User { email: String featureList: [Feature!] - features: [String] followersCount: Int friendsCount: Int id: ID! diff --git a/packages/api/src/jobs/email/inbound_emails.ts b/packages/api/src/jobs/email/inbound_emails.ts index db8fc02eb..ab953e6af 100644 --- a/packages/api/src/jobs/email/inbound_emails.ts +++ b/packages/api/src/jobs/email/inbound_emails.ts @@ -94,7 +94,7 @@ export const forwardEmailJob = async (data: EmailJobData) => { ) ) { logger.info('handling as article') - const savedNewsletter = await saveNewsletter( + return saveNewsletter( { title: getTitleFromEmailSubject(subject), author: parsedFrom.name || from, @@ -105,15 +105,6 @@ export const forwardEmailJob = async (data: EmailJobData) => { }, newsletterEmail ) - if (!savedNewsletter) { - logger.error('Failed to save email', { from, to, subject }) - return false - } - - // update received email type - await updateReceivedEmail(receivedEmailId, 'article', user.id) - - return true } analytics.capture({ @@ -166,7 +157,7 @@ export const saveNewsletterJob = async (data: EmailJobData) => { text, html, user.id, - 'article', + 'non-article', // default to non-article replyTo ) @@ -178,6 +169,11 @@ export const saveNewsletterJob = async (data: EmailJobData) => { newsletterEmail.user.id ) + if (result) { + // update received email type + await updateReceivedEmail(receivedEmailId, 'article', user.id) + } + return result } @@ -205,7 +201,7 @@ export const saveNewsletterJob = async (data: EmailJobData) => { } // save newsletter instead - const result = await saveNewsletter( + return saveNewsletter( { email: newsletterEmail.address, content, @@ -219,8 +215,6 @@ export const saveNewsletterJob = async (data: EmailJobData) => { }, newsletterEmail ) - - return result } export const saveAttachmentJob = async (data: EmailJobData) => { @@ -235,14 +229,14 @@ export const saveAttachmentJob = async (data: EmailJobData) => { } const user = newsletterEmail.user - await saveReceivedEmail( + const receivedEmail = await saveReceivedEmail( from, to, subject, text, html, user.id, - 'article', + 'non-article', replyTo ) @@ -250,6 +244,7 @@ export const saveAttachmentJob = async (data: EmailJobData) => { (tx) => tx.getRepository(UploadFile).save({ ...uploadFile, + url: '', // no url for email attachments status: UploadFileStatus.Completed, user: { id: user.id }, }), @@ -292,6 +287,9 @@ export const saveAttachmentJob = async (data: EmailJobData) => { await createOrUpdateLibraryItem(itemToCreate, user.id) + // update received email type + await updateReceivedEmail(receivedEmail.id, 'article', user.id) + return true } diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index 95bd3e219..0756bf07e 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -384,17 +384,6 @@ export const functionResolvers = { return findUserFeatures(ctx.claims.uid) }, - async features( - user: User, - __: Record, - ctx: WithDataSourcesContext - ) { - if (!ctx.claims?.uid) { - return undefined - } - - return (await findUserFeatures(ctx.claims.uid)).map((f) => f.name) - }, }, Article: { async url(article: Article, _: unknown, ctx: WithDataSourcesContext) { diff --git a/packages/api/src/resolvers/recent_emails/index.ts b/packages/api/src/resolvers/recent_emails/index.ts index b8bbd275c..cbe6b3329 100644 --- a/packages/api/src/resolvers/recent_emails/index.ts +++ b/packages/api/src/resolvers/recent_emails/index.ts @@ -102,9 +102,6 @@ export const markEmailAsItemResolver = authorized< } } - // update received email type - await updateReceivedEmail(recentEmail.id, 'article', uid) - const text = `A recent email marked as a library item by: ${uid} from: ${recentEmail.from} diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index acae6f520..71192074b 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -88,7 +88,6 @@ const schema = gql` email: String source: String intercomHash: String - features: [String] featureList: [Feature!] }