From 8df6fb3ae2c6909895d85fe3307b048461a212e5 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 30 Oct 2023 16:22:09 +0800 Subject: [PATCH] import unarchived items by default --- packages/api/src/resolvers/integrations/index.ts | 5 +++-- packages/api/src/utils/createTask.ts | 5 ++++- packages/integration-handler/src/index.ts | 4 +++- packages/integration-handler/src/integrations/integration.ts | 2 +- packages/integration-handler/src/integrations/pocket.ts | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/api/src/resolvers/integrations/index.ts b/packages/api/src/resolvers/integrations/index.ts index fe9b9c33d..dc2f861c1 100644 --- a/packages/api/src/resolvers/integrations/index.ts +++ b/packages/api/src/resolvers/integrations/index.ts @@ -53,7 +53,7 @@ export const setIntegrationResolver = authorized< syncedAt: input.syncedAt ? new Date(input.syncedAt) : undefined, importItemState: input.type === IntegrationType.Import - ? input.importItemState ?? ImportItemState.Unarchived // default to unarchived + ? input.importItemState || ImportItemState.Unarchived // default to unarchived : undefined, } if (input.id) { @@ -242,7 +242,8 @@ export const importFromIntegrationResolver = authorized< integration.id, integration.name, integration.syncedAt?.getTime() || 0, - authToken + authToken, + integration.importItemState || ImportItemState.Unarchived ) // update task name in integration await updateIntegration(integration.id, { taskName }, uid) diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index be71a64a3..643772116 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -6,6 +6,7 @@ import { google } from '@google-cloud/tasks/build/protos/protos' import axios from 'axios' import { nanoid } from 'nanoid' import { DeepPartial } from 'typeorm' +import { ImportItemState } from '../entity/integration' import { Recommendation } from '../entity/recommendation' import { env } from '../env' import { @@ -459,13 +460,15 @@ export const enqueueImportFromIntegration = async ( integrationId: string, integrationName: string, syncAt: number, // unix timestamp in milliseconds - authToken: string + authToken: string, + state: ImportItemState ): Promise => { const { GOOGLE_CLOUD_PROJECT } = process.env const payload = { integrationId, integrationName, syncAt, + state, } const headers = { diff --git a/packages/integration-handler/src/index.ts b/packages/integration-handler/src/index.ts index 4b594d1f3..dabccce5e 100644 --- a/packages/integration-handler/src/index.ts +++ b/packages/integration-handler/src/index.ts @@ -187,6 +187,7 @@ export const importer = Sentry.GCPFunction.wrapHttpFunction( let offset = 0 let syncedAt = req.body.syncAt const since = syncedAt + const state = req.body.state || State.UNARCHIVED // default to unarchived console.log('importing pages from integration...') // get pages from integration @@ -194,6 +195,7 @@ export const importer = Sentry.GCPFunction.wrapHttpFunction( token: claims.token, since, offset, + state, }) syncedAt = retrieved.since || Date.now() @@ -231,7 +233,7 @@ export const importer = Sentry.GCPFunction.wrapHttpFunction( token: claims.token, since, offset, - state: req.body.state, + state, }) syncedAt = retrieved.since || Date.now() retrievedData = retrieved.data diff --git a/packages/integration-handler/src/integrations/integration.ts b/packages/integration-handler/src/integrations/integration.ts index 83a50fe80..40fbd38f7 100644 --- a/packages/integration-handler/src/integrations/integration.ts +++ b/packages/integration-handler/src/integrations/integration.ts @@ -23,7 +23,7 @@ export interface RetrieveRequest { since?: number // unix timestamp in milliseconds count?: number offset?: number - state?: State + state: State } export abstract class IntegrationClient { diff --git a/packages/integration-handler/src/integrations/pocket.ts b/packages/integration-handler/src/integrations/pocket.ts index a8720cf1d..e2f911717 100644 --- a/packages/integration-handler/src/integrations/pocket.ts +++ b/packages/integration-handler/src/integrations/pocket.ts @@ -97,7 +97,7 @@ export class PocketClient extends IntegrationClient { since = 0, count = 100, offset = 0, - state = State.UNARCHIVED, + state, }: RetrieveRequest): Promise => { let pocketItemState = 'all'