make savedAt a required field in page

This commit is contained in:
Hongbo Wu 2022-05-04 17:54:59 +08:00
parent 0bff046733
commit afe8b6e948
11 changed files with 17 additions and 9 deletions

View file

@ -196,7 +196,7 @@ export interface Page {
createdAt: Date
updatedAt?: Date
publishedAt?: Date
savedAt?: Date
savedAt: Date
sharedAt?: Date
archivedAt?: Date | null
siteName?: string

View file

@ -434,7 +434,6 @@ export const getArticleResolver: ResolverFn<
if (
page.state === ArticleSavingRequestStatus.Processing &&
page.savedAt &&
new Date(page.savedAt).getTime() < new Date().getTime() - 1000 * 30
) {
page.content = `<p>${UNPARSEABLE_CONTENT}</p>`

View file

@ -155,6 +155,7 @@ export function pdfAttachmentsRouter() {
slug: generateSlug(title),
id: '',
createdAt: new Date(),
savedAt: new Date(),
readingProgressPercent: 0,
readingProgressAnchorIndex: 0,
state: ArticleSavingRequestStatus.Succeeded,

View file

@ -14,7 +14,7 @@ import { ArticleSavingRequestStatus, Page, PageType } from '../elastic/types'
import { createPubSubClient, PubsubClient } from '../datalayer/pubsub'
import normalizeUrl from 'normalize-url'
const SAVING_DESCRIPTION = 'Your link is being saved...'
const SAVING_CONTENT = 'Your link is being saved...'
const isPrivateIP = privateIpLib.default
@ -107,8 +107,7 @@ export const createPageSaveRequest = async (
const page: Page = {
id: articleSavingRequestId,
userId,
content: SAVING_DESCRIPTION,
createdAt: new Date(),
content: SAVING_CONTENT,
hash: '',
pageType: PageType.Unknown,
readingProgressAnchorIndex: 0,
@ -118,7 +117,8 @@ export const createPageSaveRequest = async (
url,
taskName: createdTaskName,
state: ArticleSavingRequestStatus.Processing,
description: SAVING_DESCRIPTION,
createdAt: new Date(),
savedAt: new Date(),
}
const pageId = await createPage(page, { pubsub, uid: userId })

View file

@ -66,6 +66,7 @@ export const saveEmail = async (
publishedAt: validatedDate(parseResult.parsedContent?.publishedDate),
slug: slug,
createdAt: new Date(),
savedAt: new Date(),
readingProgressAnchorIndex: 0,
readingProgressPercent: 0,
subscription: input.author,

View file

@ -94,6 +94,7 @@ export const saveFile = async (
userId: saver.id,
id: input.clientRequestId,
createdAt: new Date(),
savedAt: new Date(),
readingProgressPercent: 0,
readingProgressAnchorIndex: 0,
state: ArticleSavingRequestStatus.Succeeded,

View file

@ -91,10 +91,11 @@ export const savePage = async (
hash: stringToHash(parseResult.parsedContent?.content || input.url),
image: parseResult.parsedContent?.previewImage,
publishedAt: validatedDate(parseResult.parsedContent?.publishedDate),
createdAt: new Date(),
readingProgressPercent: 0,
readingProgressAnchorIndex: 0,
state: ArticleSavingRequestStatus.Succeeded,
createdAt: new Date(),
savedAt: new Date(),
}
const existingPage = await getPageByParam({

View file

@ -46,6 +46,7 @@ describe('elastic api', () => {
slug: 'test slug',
createdAt: new Date(),
updatedAt: new Date(),
savedAt: new Date(),
readingProgressPercent: 100,
readingProgressAnchorIndex: 0,
url: 'https://blog.omnivore.app/p/getting-started-with-omnivore',
@ -98,6 +99,7 @@ describe('elastic api', () => {
slug: 'test',
createdAt: new Date(),
updatedAt: new Date(),
savedAt: new Date(),
readingProgressPercent: 0,
readingProgressAnchorIndex: 0,
url: 'https://blog.omnivore.app/testUrl',
@ -202,6 +204,7 @@ describe('elastic api', () => {
content: 'test',
slug: 'test',
createdAt: new Date(createdAt),
savedAt: new Date(),
readingProgressPercent: 0,
readingProgressAnchorIndex: 0,
url: 'https://blog.omnivore.app/testCount',

View file

@ -434,7 +434,7 @@ describe('Article API', () => {
pageId,
{
state: ArticleSavingRequestStatus.Processing,
createdAt: new Date(Date.now() - 1000 * 60),
savedAt: new Date(Date.now() - 1000 * 60),
},
ctx
)
@ -731,6 +731,7 @@ describe('Article API', () => {
title: 'test title',
content: '<p>test</p>',
createdAt: new Date(),
savedAt: new Date(),
url: 'https://blog.omnivore.app/setBookmarkArticle',
slug: 'test-with-omnivore',
readingProgressPercent: 0,

View file

@ -96,7 +96,7 @@ describe('ArticleSavingRequest API', () => {
const page = await getPageById(
res.body.data.createArticleSavingRequest.articleSavingRequest.id
)
expect(page?.description).to.eq('Your link is being saved...')
expect(page?.content).to.eq('Your link is being saved...')
})
it('returns an error if the url is invalid', async () => {

View file

@ -51,6 +51,7 @@ export const createTestElasticPage = async (
title: 'test title',
content: '<p>test content</p>',
createdAt: new Date(),
savedAt: new Date(),
url: 'https://example.com/test-url',
slug: 'test-with-omnivore',
labels: labels,