Files
zkitterd/.tool-versions
r1oga 4efacb2b40 refactor: extract routes from http service in separate controllers (#40)
* Move http service to separate folder

* Extract utils and constants

* Do not await sync calls

* Removed unused. Do not use unnecessary local var

* Fix ts warnings

* refactor: extract users route in own controller

* skip failing interep tests

* throw error instead of reject promise in `MainService.get`

* Extract posts routes in own controller

* Fix http test. Don't force EXIT

* Add further routes to Posts and Users controllers

* Extract tags route in own controller

* Extract zkchat routes in own controller

* Extract events route in own controller

* fix: use json parser middleware before add user route

* Extract Interep routes in own controller

* Extract Twitter routes in own controller

* refactor: add json parser as pre middleware to all controllers routes

* Remove unused imports

* Rename methods

* add missing `/post/:hash/retweets` route to posts controller

* Update test messages

* Remove unused import

* fixup! refactor: add json parser as pre middleware to all controllers routes

* fix: do not add `/v1` route prefix to twitter and interep controllers

* refactor: add log/json middleware directly at app rather than controllers level

* remove unnecessary `t.end()`

* fix: use last test to force exiting test process

* rename file

* update test script

* fix: use `epxress-async-errors` to catch async errors instead of `wrapHandler`

* add getGroups handler to Users controller

* extract merkle routes in own Controller

* extract static routes in own router/controller

* refactor `http.start`

* chore: order imports

* extract remaining routes in misc controller

* remove initControllers method

* Define SESSION_OPTIONS. Rename constants. Add `ms` dep

* remove console log

* rebase: add search posts endpoint to Posts Controller

* feat: use passport for github, reddit, twitter auth (#54)

* Define `Passport` service

* Define `GithubController`

* aggregate stars received by gh user

* rename `plan` to `proPlan`

* remove passport service

* get receivedStars/proPlan when authenticating

* remove console.logs

* calculate github interep reputation score in passport verify callback

* add types to passport verify cb

* gh auth callback redirects to `redirectUrl`

`redirectUrl` being the query param provided by the client

* remove import

* add types to github util

* fix redirect

* fix: do not reuse authenticate middleware on session endpoint

* fix include provider name in serialized user

* extract github session endpoint in Misc controller

* upsert GH accessToken in DB when authenticating

* can join a gh interep group

* ignore ts missing req.user.userId error

* fix test

* can logout

* chore: update .tool-versions, add pnpm-lock.yaml

* refactor use GitHub personal access token from config

* refactor: add token from db when deserializing

* refactor: extract /logout to Misc Controller

* add passport-witter-oauth2 dep

* add tw oauth config param

* refactor: define common Auth controller and DB

* update package-lock.json

* update config.test.json

* fix test

* uncomment twitter controller

* move session and logout endpoint to AuthController

* add reddit auth

* replace passport-reddit by @r1oga/passport-reddit

* can auth with reddit

* calculate reddit interep reputation on auth

* fix twitter auth scopes

* calculate twitter interep reputation

* refactor

* update config sample

* update package-lock.json

* cleanup: remove GitHub controller

* cleanup: remove githubAuth model

* refactor Auth controller

* catch and log error in passport verify callback

Co-authored-by: tsukino <87639218+0xtsukino@users.noreply.github.com>
2022-12-09 05:28:15 +08:00

3 lines
28 B
Plaintext