Commit Graph

78 Commits

Author SHA1 Message Date
fa9c5b3efe Add test for list api keys 2022-05-27 18:36:18 +08:00
b7206457b4 Add test for revoke api key 2022-05-27 18:36:17 +08:00
333b0259ba Fix tests 2022-05-27 18:33:49 +08:00
a09588d3a7 Update generateApiKey resolver 2022-05-27 18:33:49 +08:00
9981e506e4 mock webhook request 2022-05-26 15:12:11 +08:00
49de17bea5 Fix tests 2022-05-26 14:52:01 +08:00
26681e5ecd Add get/list/delete webhook resolver tests 2022-05-26 14:52:01 +08:00
a75ce3c44d Add get/list/delete webhook resolver 2022-05-26 14:52:00 +08:00
cc07c00a83 Add get/list/delete webhook gql schema 2022-05-26 14:51:11 +08:00
c9c6f83e65 Add tests for trigger endpoint 2022-05-26 14:51:11 +08:00
c84668e6b0 Remove debug log 2022-05-26 14:51:11 +08:00
7157f38738 Add test 2022-05-26 14:51:11 +08:00
d704fad2ff Merge pull request #701 from omnivore-app/feature/add-popular-reads
API to add recommended (popular) reads to a users library
2022-05-24 21:09:24 -07:00
f4c65d7fe1 Merge pull request #698 from omnivore-app/sort-by-publish-time
Support sort or filter by publish time
2022-05-25 10:41:49 +08:00
2b14d51ec6 API to add recommended (popular) reads to a users library
This API is used in onboarding
2022-05-24 12:05:39 -07:00
aad8539b43 Fix tests 2022-05-24 18:39:21 +08:00
75728cc144 fixing diff 2022-05-24 07:04:54 +00:00
dfd6d3b602 Fix save newsletter email test 2022-05-19 18:12:58 +08:00
444c21ad09 Fix labels test 2022-05-19 18:12:14 +08:00
34349e925c Add unit test 2022-05-19 16:36:35 +08:00
1b8850ed33 Fix tests 2022-05-12 17:41:11 +08:00
93ed1936f0 Remove jsdom in packages/api 2022-05-10 17:12:52 +08:00
21ff9a5ae7 Add test for state=failed or processing 2022-05-04 21:42:59 +08:00
afe8b6e948 make savedAt a required field in page 2022-05-04 17:54:59 +08:00
2b70d480d2 Remove article saving request (#493)
* Add state and taskName in elastic page mappings

* Add state and taskName in elastic page interface

* Create page with PROCESSING state before scrapping

* Update createArticleRequest API

* Fix tests

* Add default state for pages

* Update createArticle API

* Update save page

* Update save file

* Update saving item description

* Show unable to parse content for failed page

* Fix date parsing

* Search for not failed pages

* Fix tests

* Add test for saveUrl

* Update get article saving request api

* Update get article test

* Add test for articleSavingRequest API

* Add test for failure

* Return new page id if clientRequestId empty

* Update clientRequestId in savePage

* Update clientRequestId in saveFile

* Replace article with slug in articleSavingRequest

* Add slug in articleSavingRequest response

* Depreciate article

* Use slug in web

* Remove article and highlight fragments

* Query article.slug on Prod

* Show unable to parse description for failed page

* Fix a bug having duplicate pages when saving the same url multiple times

* Add state in response

* Rename variables in removeArticle API

* Rename state

* Add state in response in web

* Make state an enum

* Open temporary page by link id

* Use an empty reader view as the background for loading pages

* Progressively load the article page as content is loaded

* Add includePending flag in getArticles API

* Set includePending = true in web

* Add elastic update mappings in migration script

* Add elastic mappings in docker image

* Move index_settings.json to migrate package

* Remove elastic index creation in api

* Move elastic migrations to a separate directory

* Remove index_settings from api docker image

Co-authored-by: Jackson Harper <jacksonh@gmail.com>
2022-04-29 13:41:06 +08:00
d1c2721b95 Add expiration date to api key generation (#495)
* Add exp to jwt token

* Add expiredAt in generate api key input

* Check exp in claim

* Add tests
2022-04-28 09:09:40 +08:00
1117a0c575 Feature/subscription list resolver (#432)
* add subscriptions table

* add listSubscriptions schema

* add listSubscriptions resolver
2022-04-19 11:08:43 +08:00
3befff61af fix tests 2022-04-14 13:22:21 +08:00
0b0b521fab use generic method for uploading 2022-04-13 22:21:20 +08:00
782781639d Update API in test 2022-04-12 12:53:08 -07:00
ae0d1dd2ee Feature/search highlights backend (#395)
* add highlight mappings

* return highlight in resolvers

* temporarily skip highlight tests

* add test for getting highlights

* update merge highlight

* separate elastic methods

* roll back merge highlight test

* add highlight to elastic script

* update delete highlight in elastic

* migrate highlight data from postgres to elastic

* rescue not found exception when page is not found in the migration script

* exclude highlights in searching pages results

* search pages with highlights only with has:highlight query

* add search endpoint to search pages or highlights

* reduce code smell in search api

* fix rebase error

* fix tests

* add test for search highlight

* add test for new search endpoint

* add labels to search results

* update schema

* update search query

* fix update/share highlights

* fix rebase error

* fix tests

* add highlight model in elastic

* add savedAt and publishedAt date range in search query

* add sort by updated and recently read

* fix tests

* close db connection when tests are done

* test github action

* revert github action test

* fix rebase error

* add docker-compose for api-test

* remove unused env

* remove highlights with no page attached to

* allow get_articles resolver to search for query so we can merge it without web changes
2022-04-12 12:31:08 +08:00
2ebdaba780 add generate api key api and test (#392)
* add generate api key api and test

* test if user can make api call with the api key
2022-04-12 12:11:45 +08:00
a68a5fb066 Labels are ordered by creation time in API now 2022-04-06 11:00:14 -07:00
7569e988bf upgrade typeorm to 3.0 (#359)
* upgrade typeorm to 3.0

* use new datasource object in typeorm 3

* fix tests

* fix tests

* migrate before creating connection

* fail the test if migration failed
2022-04-06 10:32:41 +08:00
ccedec7703 Make sure we refresh the elastic index when running tests 2022-04-04 21:21:57 -07:00
f6cfa2f9d2 Revert test files that dont need to be changed 2022-04-02 17:00:45 -07:00
da28998130 Pull ul list out of newsletter blurb
next/react doesnt want child elements of the paragraphs

Improve formatting

Improve wording

Use buttons in the subscribe directly blocks

Simplify docs on setting up forwarding rules

Add extra padding on bottom of help docs

Remove unused style

Add emails help page

Improve formatting

Prefetch page content on iOS

Reduce the reader overly length now that items are precached

Add invalidation when highlights are added to items

fix missing index_settings.json file in api dockerfile for creating elastic index (#363)

Handle full email address objects in the to param from sendgrid

These come in a format like:

"jacksonh-dfdf@inbox.omnivore.app" <jacksonh-dfdf@inbox-demo.omnivore.app>

New IDs for short highlights because they dont cascade delete now

Testing CI issues

Simplify test

CI test

Use promises for async tests

Temporarily remove test to debug CI

Re-enable

re-enable test, return error

Specify a userId when looking up saved email pages

create a unique url for newsletters without a URL

Use 500ms on page test timeouts

Increase timeout

Dont use deep equal to match newsletter label

Run just the labels API

Run against just the newsletter emails

Run without the page tests

Fix

Set the allow uncaught flag

Remove highlight tests

Remove newsletters tests

more resolver tests

Remove newsetter tests

Comment out resolver tests

Use nock for external requests in tests

Specify puppeteer url for tests

Comment out more tests

uncomment tests

re-enable

re-enable email test

Re-disable

Re-enable one pdf attachment test

Re-disable pdf attachment test

Use promises on setTimeout tests

rm label tests

mv label tests into a context

Comment out pdf tests

Comment out pdf tests

Async test

Async wrappers

Delay when creating test pages

More debugging

Unique short ids

Remove potentially problematic test

Fetch page before returning for test

handler in before block

more debugging

More debugging

Move errors checks into contexts

Use a context when saving newsletters to force index refresh

Prettier fix

Fix newsletter label check, remove setTimeout

Re-enable test

timeout on pdf router handler

Fix method call

comment out PDF test

Unique fake username

Comment out PDF test

Debugging signed urls

Re-enable

New email

pdf test

PDF tests

Comment out pdf test

Add nock stubs for email URLs

Use full address for PDF test

Remove debug

Use full email addresses
2022-04-02 16:56:24 -07:00
2bada0b9df Merge pull request #293 from omnivore-app/feature/priority-by-rate-limit
Use lower priority queue for large imports
2022-03-28 13:19:35 -07:00
b6c04f3508 fix saving report item by linking to elastic page 2022-03-28 20:38:54 +08:00
1cdbfaca26 Merge pull request #294 from omnivore-app/feature/add-created-or-updated_at-to-newsletter_email
add created_at and updated_at to newsletter emails and sort by create…
2022-03-25 09:10:54 -07:00
e7203bebb5 add a function_resolver to return originalArticleUrl from article.url (#317)
* add a function_resolver to return originalArticleUrl from article.url

* add a test
2022-03-25 11:25:30 +08:00
6597cc37b6 add created_at and updated_at to newsletter emails and sort by created_at desc 2022-03-22 18:43:47 +08:00
acec3b1acb Use lower priority queue for large imports
* add a count query in elastic
  * if priority is not set, check the rate limit of user's libary
    - if 5 articles added in the last minute: use low queue
    - default: use normal queue
2022-03-22 18:08:08 +08:00
1893e36375 Fix uploading endpoint returns 504 (#289)
* add timeout = 60s for uploading to private bucket

* add debug logs

* send response to client to close connection

* add tests for upload

* add PUBSUB_VERIFICATION_TOKEN in .env.test
2022-03-22 14:20:40 +08:00
bee3b3c6fa fix article_id type mismatch (uuid => varchar) when saving highlights in postgres by setting article_id to be undefined (#285) 2022-03-22 11:48:01 +08:00
7910565dbf Merge pull request #251 from omnivore-app/fix/jsonld-encoding
Use html decoding when getting values from fetched oembed
2022-03-17 16:53:21 -07:00
563131ea23 Fix/newsletter label not add (#256)
* default sort by savedAt to avoid recent read page to appear on top of the list

* revert lint on generated code

* fix elastic update script syntax error
2022-03-17 13:22:38 +08:00
af037a2837 make readingProgress required in the elastic page data (#253)
* make readingProgress required in the elastic page data

* delete readingProgress from function_resolvers because we have stored them in elastic
2022-03-17 10:06:21 +08:00
ff1200f3a1 Use html decoding when getting values from fetched oembed
If we fetch oembed data from an external source, instead of
handling it in readabilityjs we need to html decode it.
2022-03-16 15:29:42 -07:00
1c4dcd7b00 automatically update updatedAt when page is updated in elastic 2022-03-16 22:28:39 +08:00