Files
zkitterd/config.sample.json
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

38 lines
1.8 KiB
JSON

{
"web3HttpProvider": "https://mainnet.infura.io/v3/<infura-api-key>",
"arbitrumHttpProvider": "https://arbitrum-rinkeby.infura.io/v3/<infura-api-key>",
"goerliHttpProvider": "https://goerli.infura.io/v3/<infura-api-key>",
"ensResolver": "0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41",
"interrepContract": "0x220fBdB6F996827b1Cf12f0C181E8d5e6de3a36F",
"arbitrumRegistrar": "0x4e3f9c0374816C80B1f1c8D2D49b3cD68460330b",
"arbitrumPrivateKey": "private key for arbitrum address",
"arbitrumAddress": "0x860C68abeEE0ecBd97729C7d1E09dA1e7EaD3C50",
"dbDialect": "postgres",
"dbStorage": "",
"dbName": "autism",
"dbUsername": "",
"dbPassword": "",
"dbHost": "localhost",
"dbPort": 5432,
"port": 3000,
"gunPort": 8765,
"gunPeers": [],
"ghPat": "obtain from https://github.com/settings/profile",
"ghCallbackUrl": "define in https://github.com/organizations/zkitter/settings/applications",
"ghClientId": "define in https://github.com/organizations/zkitter/settings/applications",
"ghClientSecret": "define in https://github.com/organizations/zkitter/settings/applications",
"rdCallbackUrl": "set in https://www.reddit.com/prefs/apps",
"rdClientId": "set in https://www.reddit.com/prefs/apps",
"rdClientSecret": "set in https://www.reddit.com/prefs/apps",
"twCallbackUrl": "obtain from twitter dev dashboard",
"twClientId": "obtain from twitter dev dashboard (oauth 2)",
"twClientSecret": "obtain from twitter dev dashboard (oauth 2)",
"twConsumerKey": "obtain from twitter dev dashboard",
"twConsumerSecret": "obtain from twitter dev dashboard",
"twBearerToken": "obtain from twitter dev dashboard",
"twAccessKey": "obtain from twitter dev dashboard",
"twAccessSecret": "obtain from twitter dev dashboard",
"rapidAPIKey": "obtain from rapid api dashboard",
"web3StorageAPIKey": "obtain from https://web3.storage/"
}