diff --git a/packages/api/src/jobs/export.ts b/packages/api/src/jobs/export.ts
index 0e87cdbe5..bbeeece56 100644
--- a/packages/api/src/jobs/export.ts
+++ b/packages/api/src/jobs/export.ts
@@ -5,6 +5,7 @@ import { TaskState } from '../generated/graphql'
import { findExportById, saveExport } from '../services/export'
import { findHighlightsByLibraryItemId } from '../services/highlights'
import {
+ countLibraryItems,
findLibraryItemById,
searchLibraryItems,
} from '../services/library_item'
@@ -12,17 +13,11 @@ import { sendExportJobEmail } from '../services/send_emails'
import { findActiveUser } from '../services/user'
import { logger } from '../utils/logger'
import { highlightToMarkdown } from '../utils/parser'
-import { contentFilePath } from '../utils/uploads'
import { env } from '../env'
import { storage } from '../repository/storage/storage'
import { File } from '../repository/storage/StorageClient'
import { Readable } from 'stream'
-import {
- contentFilePath,
- createGCSFile,
- generateUploadFilePathName,
-} from '../utils/uploads'
-import { batch } from 'googleapis/build/src/apis/batch'
+import { contentFilePath, generateUploadFilePathName } from '../utils/uploads'
import { getRepository } from '../repository'
import { UploadFile } from '../entity/upload_file'
@@ -67,7 +62,7 @@ const uploadContent = async (
const file = createGCSFile(filePath)
// check if file is already uploaded
- const [exists] = await file.exists()
+ const exists = await file.exists()
if (!exists) {
logger.info(`File not found: ${filePath}`)
@@ -107,17 +102,19 @@ const uploadPdfContent = async (
id: libraryItem.uploadFileId,
})
if (!upload || !upload.fileName) {
- console.log(`upload does not have a filename: ${upload}`)
+ console.log(
+ `upload does not have a filename: ${upload?.fileName ?? 'empty'}`
+ )
return
}
const filePath = generateUploadFilePathName(upload.id, upload.fileName)
const file = createGCSFile(filePath)
- const [exists] = await file.exists()
+ const exists = await file.exists()
if (exists) {
console.log(`adding PDF file: ${filePath}`)
// append the existing file to the archive
- archive.append(file.createReadStream(), {
+ archive.append(await file.download(), {
name: `content/${libraryItem.slug}.pdf`,
})
}
@@ -279,7 +276,7 @@ export const exportJob = async (jobData: ExportJobData) => {
// Pipe the archiver output to the write stream
archive.pipe(writeStream)
-
+ let cursor = 0
try {
// fetch data from the database
const batchSize = 20
@@ -326,7 +323,7 @@ export const exportJob = async (jobData: ExportJobData) => {
})
// generate a temporary signed url for the zip file
- const [signedUrl] = await file.getSignedUrl({
+ const signedUrl = await storage.signedUrl(bucketName, fullPath, {
action: 'read',
expires: Date.now() + 168 * 60 * 60 * 1000, // one week
})
diff --git a/packages/web/components/templates/AuthLayout.tsx b/packages/web/components/templates/AuthLayout.tsx
index b64d3cfb6..bc9388894 100644
--- a/packages/web/components/templates/AuthLayout.tsx
+++ b/packages/web/components/templates/AuthLayout.tsx
@@ -1,5 +1,4 @@
import { Box, VStack, HStack } from '../elements/LayoutPrimitives'
-import { ShutdownBanner } from '../elements/ShutdownBanner'
import { OmnivoreNameLogo } from '../elements/images/OmnivoreNameLogo'
import { theme } from '../tokens/stitches.config'
import { GoogleReCaptchaProvider } from '@google-recaptcha/react'
diff --git a/packages/web/components/templates/LoginLayout.tsx b/packages/web/components/templates/LoginLayout.tsx
index 7c27b390d..468de5777 100644
--- a/packages/web/components/templates/LoginLayout.tsx
+++ b/packages/web/components/templates/LoginLayout.tsx
@@ -10,12 +10,10 @@ import type { LoginFormProps } from './LoginForm'
import { OmnivoreNameLogo } from '../elements/images/OmnivoreNameLogo'
import featureFullWidthImage from '../../public/static/images/login/login-feature-image-full.png'
-import { ShutdownBanner } from '../elements/ShutdownBanner'
export function LoginLayout(props: LoginFormProps): JSX.Element {
return (
<>
-
}
largerLayoutNode={}
diff --git a/packages/web/components/templates/NavigationLayout.tsx b/packages/web/components/templates/NavigationLayout.tsx
index d5bbbf4a2..df5c1a4e4 100644
--- a/packages/web/components/templates/NavigationLayout.tsx
+++ b/packages/web/components/templates/NavigationLayout.tsx
@@ -21,9 +21,6 @@ import useWindowDimensions from '../../lib/hooks/useGetWindowDimensions'
import { useHandleAddUrl } from '../../lib/hooks/useHandleAddUrl'
import { useGetViewer } from '../../lib/networking/viewer/useGetViewer'
import { useQueryClient } from '@tanstack/react-query'
-import { usePersistedState } from '../../lib/hooks/usePersistedState'
-import { CloseButton } from '../elements/CloseButton'
-import { ShutdownBanner } from '../elements/ShutdownBanner'
export type NavigationSection =
| 'home'
@@ -207,7 +204,6 @@ const Header = (props: HeaderProps): JSX.Element => {
height: '58px',
}}
>
-