Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add origin restriction to session token #46

Merged
merged 38 commits into from
Apr 26, 2023

Conversation

KirillDogadin-std
Copy link
Contributor

@KirillDogadin-std KirillDogadin-std commented Apr 13, 2023

close #41
image

@@ -28,11 +28,12 @@ export function createContext(params: CreateContextParams): Context {
const { req } = params;
const authorizationHeader = req.get('Authorization');
const token = authorizationHeader?.replace('Bearer ', '');
const origin = req.get('Origin');
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@valiafetisov don't have prior xp on this one, googling did not yield me a definite answer.

Is relying on the origin header safe? can't it be forged? e.g. in tests i manage to put any origin i want and hence i imagine that this approach is not safe.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The header can not be changed by the JavaScript running in the browser, but can be set in many other environments (like curl). It is sufficient for the issue

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related question to @DeusAvalon. Is it enough to just req.get('Origin') on the application level to get the actual origin (not frontend:3000) or should ingress be additionally configured to pass proper header to the application? Or does it come via something like x-origin?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Im pretty sure req.get('Origin') on Application level should give the correct Origin (actual Ingress URL) as the Ingress does not strip/replace any headers in our current configuration.

Copy link
Contributor

@valiafetisov valiafetisov Apr 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, then what header contains internal frontend:3000? And what is proxy-add-original-uri-header for? (related issue discussing the subject)

If possible, I would ask kirill to enable staging deployments on this branch to validate that it indeed works, but as the repo wasn't transferred yet, we would need to test (and potentially fix) it after this PR is merged, via our fork

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm i see, yeah im not 100% sure either i would need to actually deploy a service and check which headers are being parsed to the service.

But the staging deployment could actually be done by me manually deploying it based on this branch. This way we can pre-validate if its actually working. If this would work for you i would organize this tmrw with @KirillDogadin-std together

@KirillDogadin-std KirillDogadin-std marked this pull request as ready for review April 13, 2023 15:50
api/src/helpers/origin.ts Outdated Show resolved Hide resolved
api/src/helpers/origin.ts Outdated Show resolved Hide resolved
api/src/helpers/origin.ts Outdated Show resolved Hide resolved
api/src/helpers/origin.ts Outdated Show resolved Hide resolved
api/src/modules/Session/model.ts Outdated Show resolved Hide resolved
@@ -28,11 +28,12 @@ export function createContext(params: CreateContextParams): Context {
const { req } = params;
const authorizationHeader = req.get('Authorization');
const token = authorizationHeader?.replace('Bearer ', '');
const origin = req.get('Origin');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related question to @DeusAvalon. Is it enough to just req.get('Origin') on the application level to get the actual origin (not frontend:3000) or should ingress be additionally configured to pass proper header to the application? Or does it come via something like x-origin?

api/prisma/schema.prisma Outdated Show resolved Hide resolved
api/src/modules/Session/model.ts Outdated Show resolved Hide resolved
api/src/modules/Session/model.ts Outdated Show resolved Hide resolved
api/src/modules/Session/model.ts Outdated Show resolved Hide resolved
frontend/components/auth/SessionTable.vue Outdated Show resolved Hide resolved
valiafetisov
valiafetisov previously approved these changes Apr 17, 2023
@valiafetisov valiafetisov dismissed their stale review April 17, 2023 13:37

Please address or react to #46 (comment)

@valiafetisov
Copy link
Contributor

valiafetisov commented Apr 17, 2023

Last question: any specific reason why wildcard-match package was used over matcher. They are both wasn't updated for 2 years, but matcher is way more popular (although I don't have a reason to believe that one is better than the other). I also wonder if there are even better alternatives (or if those packages small enough to require no updates)?

@KirillDogadin-std
Copy link
Contributor Author

KirillDogadin-std commented Apr 17, 2023

why wildcard-match package was used over matcher.

wildcard matcher:

  • updated on 7th jan vs oct 3 '21 of matcher
  • has a features listing (= "why me" sector) in the npm readme
  • api seemed like more simple, no additional flags/options needed for the function call.

I also wonder if there are even better alternatives (or if those packages small enough to require no updates)?

i havent seen such

@LukSteib
Copy link

@KirillDogadin-std
Can you please give me some pointers on proper testing flow.
My approach:

  • Started frontend twice on 2 different ports
  • Created tokens with origin restriction to port 3000
  • Expected one request to fail and other one to pass - however received "message": "Access denied due to origin restriction" for both
  • Assume flaw in my testing scenario

@KirillDogadin-std
Copy link
Contributor Author

likely this is the reason:

  • we serve the playground through iframe
  • actual location of the playground is the api
  • therefore request's origin is that of api
  • in my case i run the api on port 4001
  • and the origin header sent via the playground is
    image

does not matter how many frontends you start

i suggest creating the following functional test:

  • run 1 frontend
  • run 1 api
  • create 2 tokens. 1st being http://localhost:* 2nd being https://google.com*
  • use both tokens for me request, 1st success , 2nd failure

@KirillDogadin-std
Copy link
Contributor Author

KirillDogadin-std commented Apr 18, 2023

Dockerized run yielded:

  1. Run dockercompose up
  2. add the token with origin restriction to http://localhost
  3. add the token with origin restricion to google
  4. run me query in the playground with both tokens.
  5. (2) runs, (3) does not run with appropriate error.

@KirillDogadin-std KirillDogadin-std merged commit 100a018 into main Apr 26, 2023
@froid1911 froid1911 deleted the origin-restriction-session branch March 20, 2024 11:51
github-actions bot pushed a commit that referenced this pull request Jun 11, 2024
# 1.0.0-dev.1 (2024-06-11)

### Bug Fixes

* added document drive table ([57cbc31](57cbc31))
* added drive not found to sentry ignore list ([2ac81d3](2ac81d3))
* added sales proceeds ([ed8a594](ed8a594))
* api build ([8a93ed6](8a93ed6))
* api gql endpoint ([5d52a91](5d52a91))
* **apollo:** document operations ([cbc4666](cbc4666))
* build args ([16b70bc](16b70bc))
* build args ([7e8b4bc](7e8b4bc))
* closed redis connection ([3679cda](3679cda))
* cors issue ([7ec1111](7ec1111))
* database and schema issues ([a2578e4](a2578e4))
* deep links ([7ac2c94](7ac2c94))
* definitions error ([dd0653b](dd0653b))
* docker build and disabled imported modules ([59324eb](59324eb))
* docker build arg ([01b5599](01b5599))
* docker build arg ([4db0336](4db0336))
* document operations type ([da9729b](da9729b))
* documentType not resolved ([38c893b](38c893b))
* drive explorer endpoint ([0e31173](0e31173))
* driveId param ([b27925e](b27925e))
* envvars for nginx ([b283688](b283688))
* frontend docker build ([5fd44eb](5fd44eb))
* frontend graphql endpoint ([f4860c4](f4860c4))
* frontend graphql queries ([167eb83](167eb83))
* graphql endpoint ([609f7e8](609f7e8))
* graphql endpoint ([e61892e](e61892e))
* heroku deployment ([9af4188](9af4188))
* heroku deployment ([447b429](447b429))
* import error ([f97bf52](f97bf52))
* logger module filter ([145fc8b](145fc8b))
* name in assets not found ([e30a177](e30a177))
* nginx deployment ([1c50d20](1c50d20))
* nginx deployment ([795b39e](795b39e))
* prisma schema ([56554d3](56554d3))
* prisma schema ([8b865bf](8b865bf))
* redis queue ([9ab2c5c](9ab2c5c))
* request entity too large ([0782ba9](0782ba9))
* review comments ([75aead7](75aead7))
* rwa portfolio query ([2dba2cf](2dba2cf))
* rwa state name ([afa461b](afa461b))
* rwaPortfolios query ([079e8d7](079e8d7))
* set drive id from context ([d45d452](d45d452))
* set environments in github actions ([94f14e7](94f14e7))
* set environments in github actions ([d1a5204](d1a5204))
* set proper port on wundergraph ([5adebdb](5adebdb))
* set proper rwa type ([625cfd8](625cfd8))
* staging ([#179](#179)) ([76716ad](76716ad))
* updated gen files ([779f395](779f395))
* updated yarn.lock ([4261d1b](4261d1b))
* use redis cache if redis env var is set ([ad539ed](ad539ed))
* wundergraph deployment ([4f31d37](4f31d37))
* wundergraph port ([d3bf08c](d3bf08c))

### Features

* activate queue ([70da227](70da227))
* activate queue ([#178](#178)) ([7b3accf](7b3accf))
* activated cicd for staging ([aa959a6](aa959a6))
* activated cicd for staging ([23c36ba](23c36ba))
* activated prisma storage adapter ([f588ae2](f588ae2))
* activated redis queue manager ([05b7dc2](05b7dc2))
* add basic badges to clearly indicate license and CI status ([f4247c6](f4247c6))
* add basic ci and bare package.json ([7e7c712](7e7c712))
* add editorconfig ([377a2a6](377a2a6))
* add eslint, document it, add it to ci ([b7c741d](b7c741d))
* add gitignore ([9d5d1c4](9d5d1c4))
* Add healthz endpoints to api and frontend ([#34](#34)) ([25baa4e](25baa4e))
* add hello world index.ts, make it runnable, add first types ([951be8b](951be8b))
* add logging ([#21](#21)) ([17fc322](17fc322))
* add nvmrc and some basic documentation for easier starting points ([0799489](0799489))
* Add origin restriction to session token ([#46](#46)) ([100a018](100a018))
* Add prisma, prisma docs, Core Unit database model ([#12](#12)) ([969bbd7](969bbd7))
* add pushUpdates mutation ([340c475](340c475))
* add pushUpdates strands to queue at the same time ([b334196](b334196))
* add some basic recommendations for vscode users to make the start of this project easier ([e1735b6](e1735b6))
* add spv and fixedincometypes to portfolio assets ([1a14939](1a14939))
* Add testing setup, document it, add it to CI ([#13](#13)) ([97e25d4](97e25d4))
* add typescript, typechecking, document it in readme, add it to ci-pipeline ([6bdd1d9](6bdd1d9))
* Add user + auth ([#16](#16)) ([125d8b1](125d8b1))
* Add wundergraph to compose graphql APIs ([#64](#64)) ([5eb82a6](5eb82a6))
* added a child logger for the document drive ([e5f25f3](e5f25f3))
* added account snapshot document ([1c83ad4](1c83ad4))
* added assetProceeds to internal listener ([8f438d2](8f438d2))
* added budget statement document ([4e6695f](4e6695f))
* added cash and fixedincome tx to grouptx entity ([28405fd](28405fd))
* added crud queries and mutations for document drives ([8c12f7c](8c12f7c))
* added db schema for transactions ([9b06e48](9b06e48))
* added delete operations for spvs, service provider and accounts ([ea95229](ea95229))
* added develop environment ([74adb08](74adb08))
* added document and rwa modules and interfaces ([bfaede2](bfaede2))
* added driveId as param to new graphql route ([8bb3255](8bb3255))
* added driveId exists middleware ([71b568b](71b568b))
* added driveid to graphql context ([675994f](675994f))
* added dropdown for graphql explorer ([102ca4a](102ca4a))
* added dynamic internal listener loader ([152c5f4](152c5f4))
* added experimental deps ([4772cb8](4772cb8))
* added experimental deps ([#175](#175)) ([e1eaa1b](e1eaa1b))
* added explorer endpoint with optional driveId param ([9400243](9400243))
* added fees to rwa portfolio ([1fbf4d5](1fbf4d5))
* added frontend and wundergraph deployment ([db73dba](db73dba))
* added github hook ([9ae1cfe](9ae1cfe))
* added graphql endpoints ([9335e8d](9335e8d))
* added healthcheck to dockerfile ([8edd478](8edd478))
* added hook endpoint to nginx router ([f5f0758](f5f0758))
* added internal listener for operational data ([d63987e](d63987e))
* added internal listener manager ([983e5dd](983e5dd))
* added makerdao and updated powerhouse deployments pipeline ([6dfcaa3](6dfcaa3))
* added missing transaction operations ([9427c6f](9427c6f))
* added more operations to rwa surgical update ([d657b68](d657b68))
* added mutations and queries for document drive push and pull transmitter ([1b05ed8](1b05ed8))
* added nginx deployment ([68f3b7c](68f3b7c))
* added operation mutations and drive queries ([eaf4692](eaf4692))
* added query to fetch all documents at once from a drive ([93e35bf](93e35bf))
* added real world assets portfolio query ([34c638f](34c638f))
* added registerListener ([ce7a7ee](ce7a7ee))
* added rwa graphql objects definitions ([687b447](687b447))
* added rwa operational data prisma schema ([f5f210f](f5f210f))
* added rwa portfolio query ([40a8442](40a8442))
* added scalar attachment ([61c55d6](61c55d6))
* added scope framework ([3ec7874](3ec7874))
* added scope of work internal listner ([37cf2c7](37cf2c7))
* added semantic release ([019bb76](019bb76))
* added sentry env ([43fba88](43fba88))
* added sentry node ([9074d21](9074d21))
* added staging ([4891139](4891139))
* added staging ([f218895](f218895))
* added support for building with esbuild ([5c7e2cd](5c7e2cd))
* added support for operation context on graphql api ([847f0a3](847f0a3))
* added versions endpoint ([327609a](327609a))
* basic frontend ([#29](#29)) ([c621f86](c621f86))
* bump document drive ([25938c0](25938c0))
* bump document drive ([88b9395](88b9395))
* bump document drive ([8103716](8103716))
* bump libs ([7d49709](7d49709))
* bump libs ([#180](#180)) ([b52f236](b52f236))
* catch and log error while initializing drive ([6e5462a](6e5462a))
* document drive ([#69](#69)) ([6cbdcc9](6cbdcc9))
* Documentation integration ([#42](#42)) ([52a1e29](52a1e29))
* Documentation page improvements ([#50](#50)) ([0ffdb6c](0ffdb6c))
* documents query ([cd4b308](cd4b308))
* don't store queue job result ([cbc0251](cbc0251))
* dont use pretty-pino on production ([7ee7a6c](7ee7a6c))
* **drive:** use prisma storage adapter ([cdebd25](cdebd25))
* enable operation id prop ([cb693b9](cb693b9))
* error logging ([b6fd264](b6fd264))
* finished rwa portfolio rebuild ([014fb7d](014fb7d))
* fix get strands since ([45aa3a6](45aa3a6))
* fixed dev support ([8ea3e51](8ea3e51))
* fixed import error ([37d634c](37d634c))
* Frontend auth ([#38](#38)) ([09d1940](09d1940))
* Frontend layout ([#32](#32)) ([23668a8](23668a8))
* graphql endpoints, queries and mutations ([#71](#71)) ([efdf27d](efdf27d))
* Graphql server and playground ([#15](#15)) ([38c5a60](38c5a60))
* handle drive strands first when multiple strands are pushed ([d754c1f](d754c1f))
* Implement sessions and revoking possibility ([#28](#28)) ([ca0a7da](ca0a7da))
* Improve documentation integration ([#58](#58)) ([3dffead](3dffead))
* improve heroku setup ([d6fdd6e](d6fdd6e))
* Improve test coverage ([#25](#25)) ([7cedbca](7cedbca))
* improved operational data schema for rwa ([0f93381](0f93381))
* in memory cache for drives and transmitters ([1e1211b](1e1211b))
* increase max body size ([6509c22](6509c22))
* init redis before creating queue manager ([ace01dd](ace01dd))
* log listener operation error ([70e7855](70e7855))
* Make API extensible via npm packages ([#67](#67)) ([fba28b4](fba28b4))
* moved esbuild to dependencies ([c5d7271](c5d7271))
* moved gql-query-builder to dependencies ([f5efd42](f5efd42))
* moved prisma to dependencies ([c0a689a](c0a689a))
* Preserve auth header for playground ([#49](#49)) ([54d2014](54d2014))
* pushUpdates revision fix ([ad717c4](ad717c4))
* readded rwa document ([1295fb6](1295fb6))
* remove yarn lockfile ([227664b](227664b))
* replace landing page ([0f458f9](0f458f9))
* replaced vue frontend with nextjs ([c162d55](c162d55))
* return error message on pushUpdates resolver ([4275428](4275428))
* rwa listener core logic ([62eb5d9](62eb5d9))
* sentry error handler improvements ([a1dbd76](a1dbd76))
* serve switchboard from subdirectories ([#108](#108)) ([fbd6baa](fbd6baa))
* silence transmitter not found errors ([8c86d77](8c86d77))
* update deps ([bed3b3d](bed3b3d))
* update document drive ([bf3aef0](bf3aef0))
* update document drive lib ([a81786e](a81786e))
* update document-drive ([7c8caac](7c8caac))
* update document-drive dep ([e4f222e](e4f222e))
* update document-model and document-drive libs ([2bb6151](2bb6151))
* update document-model and document-drive ver ([5b33aa3](5b33aa3))
* update document-model and document-drive versions ([a7038ee](a7038ee))
* update document-model and document-drive versions ([#138](#138)) ([324fce7](324fce7))
* update document-model and document-model-libs deps ([f475fae](f475fae))
* update document-model dep ([5df23b4](5df23b4))
* updated database model ([1db2b78](1db2b78))
* updated deps and small ts improvements ([23332f0](23332f0))
* updated dockerfile ([f6db1db](f6db1db))
* updated document drive dep ([e80a779](e80a779))
* updated document-drive ([680714f](680714f))
* updated document-drive dep ([#70](#70)) ([2ce57e2](2ce57e2))
* updated document-drive ver ([9f0eed4](9f0eed4))
* updated [email protected] ([a805aab](a805aab))
* updated document-model dep ([39e6166](39e6166))
* updated read model listener for rwa ([b1f9dc0](b1f9dc0))
* use corepack ([6297e12](6297e12))
* use pnpm ([4b96e42](4b96e42))
* use pnpm ([#82](#82)) ([658c590](658c590))
* user mutative instead of immer for reducers ([a9cfd97](a9cfd97))
* Wallet auth ([#55](#55)) ([89d40a1](89d40a1))
acaldas pushed a commit that referenced this pull request Jun 12, 2024
# 1.0.0-dev.1 (2024-06-11)

### Bug Fixes

* added document drive table ([57cbc31](57cbc31))
* added drive not found to sentry ignore list ([2ac81d3](2ac81d3))
* added sales proceeds ([ed8a594](ed8a594))
* api build ([8a93ed6](8a93ed6))
* api gql endpoint ([5d52a91](5d52a91))
* **apollo:** document operations ([cbc4666](cbc4666))
* build args ([16b70bc](16b70bc))
* build args ([7e8b4bc](7e8b4bc))
* closed redis connection ([3679cda](3679cda))
* cors issue ([7ec1111](7ec1111))
* database and schema issues ([a2578e4](a2578e4))
* deep links ([7ac2c94](7ac2c94))
* definitions error ([dd0653b](dd0653b))
* docker build and disabled imported modules ([59324eb](59324eb))
* docker build arg ([01b5599](01b5599))
* docker build arg ([4db0336](4db0336))
* document operations type ([da9729b](da9729b))
* documentType not resolved ([38c893b](38c893b))
* drive explorer endpoint ([0e31173](0e31173))
* driveId param ([b27925e](b27925e))
* envvars for nginx ([b283688](b283688))
* frontend docker build ([5fd44eb](5fd44eb))
* frontend graphql endpoint ([f4860c4](f4860c4))
* frontend graphql queries ([167eb83](167eb83))
* graphql endpoint ([609f7e8](609f7e8))
* graphql endpoint ([e61892e](e61892e))
* heroku deployment ([9af4188](9af4188))
* heroku deployment ([447b429](447b429))
* import error ([f97bf52](f97bf52))
* logger module filter ([145fc8b](145fc8b))
* name in assets not found ([e30a177](e30a177))
* nginx deployment ([1c50d20](1c50d20))
* nginx deployment ([795b39e](795b39e))
* prisma schema ([56554d3](56554d3))
* prisma schema ([8b865bf](8b865bf))
* redis queue ([9ab2c5c](9ab2c5c))
* request entity too large ([0782ba9](0782ba9))
* review comments ([75aead7](75aead7))
* rwa portfolio query ([2dba2cf](2dba2cf))
* rwa state name ([afa461b](afa461b))
* rwaPortfolios query ([079e8d7](079e8d7))
* set drive id from context ([d45d452](d45d452))
* set environments in github actions ([94f14e7](94f14e7))
* set environments in github actions ([d1a5204](d1a5204))
* set proper port on wundergraph ([5adebdb](5adebdb))
* set proper rwa type ([625cfd8](625cfd8))
* staging ([#179](#179)) ([76716ad](76716ad))
* updated gen files ([779f395](779f395))
* updated yarn.lock ([4261d1b](4261d1b))
* use redis cache if redis env var is set ([ad539ed](ad539ed))
* wundergraph deployment ([4f31d37](4f31d37))
* wundergraph port ([d3bf08c](d3bf08c))

### Features

* activate queue ([70da227](70da227))
* activate queue ([#178](#178)) ([7b3accf](7b3accf))
* activated cicd for staging ([aa959a6](aa959a6))
* activated cicd for staging ([23c36ba](23c36ba))
* activated prisma storage adapter ([f588ae2](f588ae2))
* activated redis queue manager ([05b7dc2](05b7dc2))
* add basic badges to clearly indicate license and CI status ([f4247c6](f4247c6))
* add basic ci and bare package.json ([7e7c712](7e7c712))
* add editorconfig ([377a2a6](377a2a6))
* add eslint, document it, add it to ci ([b7c741d](b7c741d))
* add gitignore ([9d5d1c4](9d5d1c4))
* Add healthz endpoints to api and frontend ([#34](#34)) ([25baa4e](25baa4e))
* add hello world index.ts, make it runnable, add first types ([951be8b](951be8b))
* add logging ([#21](#21)) ([17fc322](17fc322))
* add nvmrc and some basic documentation for easier starting points ([0799489](0799489))
* Add origin restriction to session token ([#46](#46)) ([100a018](100a018))
* Add prisma, prisma docs, Core Unit database model ([#12](#12)) ([969bbd7](969bbd7))
* add pushUpdates mutation ([340c475](340c475))
* add pushUpdates strands to queue at the same time ([b334196](b334196))
* add some basic recommendations for vscode users to make the start of this project easier ([e1735b6](e1735b6))
* add spv and fixedincometypes to portfolio assets ([1a14939](1a14939))
* Add testing setup, document it, add it to CI ([#13](#13)) ([97e25d4](97e25d4))
* add typescript, typechecking, document it in readme, add it to ci-pipeline ([6bdd1d9](6bdd1d9))
* Add user + auth ([#16](#16)) ([125d8b1](125d8b1))
* Add wundergraph to compose graphql APIs ([#64](#64)) ([5eb82a6](5eb82a6))
* added a child logger for the document drive ([e5f25f3](e5f25f3))
* added account snapshot document ([1c83ad4](1c83ad4))
* added assetProceeds to internal listener ([8f438d2](8f438d2))
* added budget statement document ([4e6695f](4e6695f))
* added cash and fixedincome tx to grouptx entity ([28405fd](28405fd))
* added crud queries and mutations for document drives ([8c12f7c](8c12f7c))
* added db schema for transactions ([9b06e48](9b06e48))
* added delete operations for spvs, service provider and accounts ([ea95229](ea95229))
* added develop environment ([74adb08](74adb08))
* added document and rwa modules and interfaces ([bfaede2](bfaede2))
* added driveId as param to new graphql route ([8bb3255](8bb3255))
* added driveId exists middleware ([71b568b](71b568b))
* added driveid to graphql context ([675994f](675994f))
* added dropdown for graphql explorer ([102ca4a](102ca4a))
* added dynamic internal listener loader ([152c5f4](152c5f4))
* added experimental deps ([4772cb8](4772cb8))
* added experimental deps ([#175](#175)) ([e1eaa1b](e1eaa1b))
* added explorer endpoint with optional driveId param ([9400243](9400243))
* added fees to rwa portfolio ([1fbf4d5](1fbf4d5))
* added frontend and wundergraph deployment ([db73dba](db73dba))
* added github hook ([9ae1cfe](9ae1cfe))
* added graphql endpoints ([9335e8d](9335e8d))
* added healthcheck to dockerfile ([8edd478](8edd478))
* added hook endpoint to nginx router ([f5f0758](f5f0758))
* added internal listener for operational data ([d63987e](d63987e))
* added internal listener manager ([983e5dd](983e5dd))
* added makerdao and updated powerhouse deployments pipeline ([6dfcaa3](6dfcaa3))
* added missing transaction operations ([9427c6f](9427c6f))
* added more operations to rwa surgical update ([d657b68](d657b68))
* added mutations and queries for document drive push and pull transmitter ([1b05ed8](1b05ed8))
* added nginx deployment ([68f3b7c](68f3b7c))
* added operation mutations and drive queries ([eaf4692](eaf4692))
* added query to fetch all documents at once from a drive ([93e35bf](93e35bf))
* added real world assets portfolio query ([34c638f](34c638f))
* added registerListener ([ce7a7ee](ce7a7ee))
* added rwa graphql objects definitions ([687b447](687b447))
* added rwa operational data prisma schema ([f5f210f](f5f210f))
* added rwa portfolio query ([40a8442](40a8442))
* added scalar attachment ([61c55d6](61c55d6))
* added scope framework ([3ec7874](3ec7874))
* added scope of work internal listner ([37cf2c7](37cf2c7))
* added semantic release ([019bb76](019bb76))
* added sentry env ([43fba88](43fba88))
* added sentry node ([9074d21](9074d21))
* added staging ([4891139](4891139))
* added staging ([f218895](f218895))
* added support for building with esbuild ([5c7e2cd](5c7e2cd))
* added support for operation context on graphql api ([847f0a3](847f0a3))
* added versions endpoint ([327609a](327609a))
* basic frontend ([#29](#29)) ([c621f86](c621f86))
* bump document drive ([25938c0](25938c0))
* bump document drive ([88b9395](88b9395))
* bump document drive ([8103716](8103716))
* bump libs ([7d49709](7d49709))
* bump libs ([#180](#180)) ([b52f236](b52f236))
* catch and log error while initializing drive ([6e5462a](6e5462a))
* document drive ([#69](#69)) ([6cbdcc9](6cbdcc9))
* Documentation integration ([#42](#42)) ([52a1e29](52a1e29))
* Documentation page improvements ([#50](#50)) ([0ffdb6c](0ffdb6c))
* documents query ([cd4b308](cd4b308))
* don't store queue job result ([cbc0251](cbc0251))
* dont use pretty-pino on production ([7ee7a6c](7ee7a6c))
* **drive:** use prisma storage adapter ([cdebd25](cdebd25))
* enable operation id prop ([cb693b9](cb693b9))
* error logging ([b6fd264](b6fd264))
* finished rwa portfolio rebuild ([014fb7d](014fb7d))
* fix get strands since ([45aa3a6](45aa3a6))
* fixed dev support ([8ea3e51](8ea3e51))
* fixed import error ([37d634c](37d634c))
* Frontend auth ([#38](#38)) ([09d1940](09d1940))
* Frontend layout ([#32](#32)) ([23668a8](23668a8))
* graphql endpoints, queries and mutations ([#71](#71)) ([efdf27d](efdf27d))
* Graphql server and playground ([#15](#15)) ([38c5a60](38c5a60))
* handle drive strands first when multiple strands are pushed ([d754c1f](d754c1f))
* Implement sessions and revoking possibility ([#28](#28)) ([ca0a7da](ca0a7da))
* Improve documentation integration ([#58](#58)) ([3dffead](3dffead))
* improve heroku setup ([d6fdd6e](d6fdd6e))
* Improve test coverage ([#25](#25)) ([7cedbca](7cedbca))
* improved operational data schema for rwa ([0f93381](0f93381))
* in memory cache for drives and transmitters ([1e1211b](1e1211b))
* increase max body size ([6509c22](6509c22))
* init redis before creating queue manager ([ace01dd](ace01dd))
* log listener operation error ([70e7855](70e7855))
* Make API extensible via npm packages ([#67](#67)) ([fba28b4](fba28b4))
* moved esbuild to dependencies ([c5d7271](c5d7271))
* moved gql-query-builder to dependencies ([f5efd42](f5efd42))
* moved prisma to dependencies ([c0a689a](c0a689a))
* Preserve auth header for playground ([#49](#49)) ([54d2014](54d2014))
* pushUpdates revision fix ([ad717c4](ad717c4))
* readded rwa document ([1295fb6](1295fb6))
* remove yarn lockfile ([227664b](227664b))
* replace landing page ([0f458f9](0f458f9))
* replaced vue frontend with nextjs ([c162d55](c162d55))
* return error message on pushUpdates resolver ([4275428](4275428))
* rwa listener core logic ([62eb5d9](62eb5d9))
* sentry error handler improvements ([a1dbd76](a1dbd76))
* serve switchboard from subdirectories ([#108](#108)) ([fbd6baa](fbd6baa))
* silence transmitter not found errors ([8c86d77](8c86d77))
* update deps ([bed3b3d](bed3b3d))
* update document drive ([bf3aef0](bf3aef0))
* update document drive lib ([a81786e](a81786e))
* update document-drive ([7c8caac](7c8caac))
* update document-drive dep ([e4f222e](e4f222e))
* update document-model and document-drive libs ([2bb6151](2bb6151))
* update document-model and document-drive ver ([5b33aa3](5b33aa3))
* update document-model and document-drive versions ([a7038ee](a7038ee))
* update document-model and document-drive versions ([#138](#138)) ([324fce7](324fce7))
* update document-model and document-model-libs deps ([f475fae](f475fae))
* update document-model dep ([5df23b4](5df23b4))
* updated database model ([1db2b78](1db2b78))
* updated deps and small ts improvements ([23332f0](23332f0))
* updated dockerfile ([f6db1db](f6db1db))
* updated document drive dep ([e80a779](e80a779))
* updated document-drive ([680714f](680714f))
* updated document-drive dep ([#70](#70)) ([2ce57e2](2ce57e2))
* updated document-drive ver ([9f0eed4](9f0eed4))
* updated [email protected] ([a805aab](a805aab))
* updated document-model dep ([39e6166](39e6166))
* updated read model listener for rwa ([b1f9dc0](b1f9dc0))
* use corepack ([6297e12](6297e12))
* use pnpm ([4b96e42](4b96e42))
* use pnpm ([#82](#82)) ([658c590](658c590))
* user mutative instead of immer for reducers ([a9cfd97](a9cfd97))
* Wallet auth ([#55](#55)) ([89d40a1](89d40a1))
github-actions bot pushed a commit that referenced this pull request Jun 12, 2024
# 1.0.0-next.1 (2024-06-12)

### Bug Fixes

* added document drive table ([57cbc31](57cbc31))
* added drive not found to sentry ignore list ([2ac81d3](2ac81d3))
* added sales proceeds ([ed8a594](ed8a594))
* api build ([8a93ed6](8a93ed6))
* api gql endpoint ([5d52a91](5d52a91))
* **apollo:** document operations ([cbc4666](cbc4666))
* build args ([16b70bc](16b70bc))
* build args ([7e8b4bc](7e8b4bc))
* closed redis connection ([3679cda](3679cda))
* cors issue ([7ec1111](7ec1111))
* database and schema issues ([a2578e4](a2578e4))
* deep links ([7ac2c94](7ac2c94))
* definitions error ([dd0653b](dd0653b))
* docker build and disabled imported modules ([59324eb](59324eb))
* docker build arg ([01b5599](01b5599))
* docker build arg ([4db0336](4db0336))
* document operations type ([da9729b](da9729b))
* documentType not resolved ([38c893b](38c893b))
* drive explorer endpoint ([0e31173](0e31173))
* driveId param ([b27925e](b27925e))
* envvars for nginx ([b283688](b283688))
* frontend docker build ([5fd44eb](5fd44eb))
* frontend graphql endpoint ([f4860c4](f4860c4))
* frontend graphql queries ([167eb83](167eb83))
* graphql endpoint ([609f7e8](609f7e8))
* graphql endpoint ([e61892e](e61892e))
* heroku deployment ([9af4188](9af4188))
* heroku deployment ([447b429](447b429))
* import error ([f97bf52](f97bf52))
* logger module filter ([145fc8b](145fc8b))
* name in assets not found ([e30a177](e30a177))
* nginx deployment ([1c50d20](1c50d20))
* nginx deployment ([795b39e](795b39e))
* prisma schema ([56554d3](56554d3))
* prisma schema ([8b865bf](8b865bf))
* redis queue ([9ab2c5c](9ab2c5c))
* request entity too large ([0782ba9](0782ba9))
* review comments ([75aead7](75aead7))
* rwa portfolio query ([2dba2cf](2dba2cf))
* rwa state name ([afa461b](afa461b))
* rwaPortfolios query ([079e8d7](079e8d7))
* set drive id from context ([d45d452](d45d452))
* set environments in github actions ([94f14e7](94f14e7))
* set environments in github actions ([d1a5204](d1a5204))
* set proper port on wundergraph ([5adebdb](5adebdb))
* set proper rwa type ([625cfd8](625cfd8))
* staging ([#179](#179)) ([76716ad](76716ad))
* updated gen files ([779f395](779f395))
* updated yarn.lock ([4261d1b](4261d1b))
* use redis cache if redis env var is set ([ad539ed](ad539ed))
* wundergraph deployment ([4f31d37](4f31d37))
* wundergraph port ([d3bf08c](d3bf08c))

### Features

* activate queue ([70da227](70da227))
* activate queue ([#178](#178)) ([7b3accf](7b3accf))
* activated cicd for staging ([aa959a6](aa959a6))
* activated cicd for staging ([23c36ba](23c36ba))
* activated prisma storage adapter ([f588ae2](f588ae2))
* activated redis queue manager ([05b7dc2](05b7dc2))
* add basic badges to clearly indicate license and CI status ([f4247c6](f4247c6))
* add basic ci and bare package.json ([7e7c712](7e7c712))
* add editorconfig ([377a2a6](377a2a6))
* add eslint, document it, add it to ci ([b7c741d](b7c741d))
* add gitignore ([9d5d1c4](9d5d1c4))
* Add healthz endpoints to api and frontend ([#34](#34)) ([25baa4e](25baa4e))
* add hello world index.ts, make it runnable, add first types ([951be8b](951be8b))
* add logging ([#21](#21)) ([17fc322](17fc322))
* add nvmrc and some basic documentation for easier starting points ([0799489](0799489))
* Add origin restriction to session token ([#46](#46)) ([100a018](100a018))
* Add prisma, prisma docs, Core Unit database model ([#12](#12)) ([969bbd7](969bbd7))
* add pushUpdates mutation ([340c475](340c475))
* add pushUpdates strands to queue at the same time ([b334196](b334196))
* add some basic recommendations for vscode users to make the start of this project easier ([e1735b6](e1735b6))
* add spv and fixedincometypes to portfolio assets ([1a14939](1a14939))
* Add testing setup, document it, add it to CI ([#13](#13)) ([97e25d4](97e25d4))
* add typescript, typechecking, document it in readme, add it to ci-pipeline ([6bdd1d9](6bdd1d9))
* Add user + auth ([#16](#16)) ([125d8b1](125d8b1))
* Add wundergraph to compose graphql APIs ([#64](#64)) ([5eb82a6](5eb82a6))
* added a child logger for the document drive ([e5f25f3](e5f25f3))
* added account snapshot document ([1c83ad4](1c83ad4))
* added assetProceeds to internal listener ([8f438d2](8f438d2))
* added budget statement document ([4e6695f](4e6695f))
* added cash and fixedincome tx to grouptx entity ([28405fd](28405fd))
* added crud queries and mutations for document drives ([8c12f7c](8c12f7c))
* added db schema for transactions ([9b06e48](9b06e48))
* added delete operations for spvs, service provider and accounts ([ea95229](ea95229))
* added develop environment ([f5e30b9](f5e30b9))
* added develop environment ([74adb08](74adb08))
* added document and rwa modules and interfaces ([bfaede2](bfaede2))
* added driveId as param to new graphql route ([8bb3255](8bb3255))
* added driveId exists middleware ([71b568b](71b568b))
* added driveid to graphql context ([675994f](675994f))
* added dropdown for graphql explorer ([102ca4a](102ca4a))
* added dynamic internal listener loader ([152c5f4](152c5f4))
* added experimental deps ([4772cb8](4772cb8))
* added experimental deps ([#175](#175)) ([e1eaa1b](e1eaa1b))
* added explorer endpoint with optional driveId param ([9400243](9400243))
* added fees to rwa portfolio ([1fbf4d5](1fbf4d5))
* added frontend and wundergraph deployment ([db73dba](db73dba))
* added github hook ([9ae1cfe](9ae1cfe))
* added graphql endpoints ([9335e8d](9335e8d))
* added healthcheck to dockerfile ([8edd478](8edd478))
* added hook endpoint to nginx router ([f5f0758](f5f0758))
* added internal listener for operational data ([d63987e](d63987e))
* added internal listener manager ([983e5dd](983e5dd))
* added makerdao and updated powerhouse deployments pipeline ([6dfcaa3](6dfcaa3))
* added missing transaction operations ([9427c6f](9427c6f))
* added more operations to rwa surgical update ([d657b68](d657b68))
* added mutations and queries for document drive push and pull transmitter ([1b05ed8](1b05ed8))
* added nginx deployment ([68f3b7c](68f3b7c))
* added operation mutations and drive queries ([eaf4692](eaf4692))
* added query to fetch all documents at once from a drive ([93e35bf](93e35bf))
* added real world assets portfolio query ([34c638f](34c638f))
* added registerListener ([ce7a7ee](ce7a7ee))
* added rwa graphql objects definitions ([687b447](687b447))
* added rwa operational data prisma schema ([f5f210f](f5f210f))
* added rwa portfolio query ([40a8442](40a8442))
* added scalar attachment ([61c55d6](61c55d6))
* added scope framework ([3ec7874](3ec7874))
* added scope of work internal listner ([37cf2c7](37cf2c7))
* added semantic release ([95bd92d](95bd92d))
* added semantic release ([019bb76](019bb76))
* added sentry env ([43fba88](43fba88))
* added sentry node ([9074d21](9074d21))
* added staging ([4891139](4891139))
* added staging ([f218895](f218895))
* added support for building with esbuild ([5c7e2cd](5c7e2cd))
* added support for operation context on graphql api ([847f0a3](847f0a3))
* added versions endpoint ([327609a](327609a))
* basic frontend ([#29](#29)) ([c621f86](c621f86))
* bump document drive ([25938c0](25938c0))
* bump document drive ([88b9395](88b9395))
* bump document drive ([8103716](8103716))
* bump libs ([7d49709](7d49709))
* bump libs ([#180](#180)) ([b52f236](b52f236))
* catch and log error while initializing drive ([6e5462a](6e5462a))
* document drive ([#69](#69)) ([6cbdcc9](6cbdcc9))
* Documentation integration ([#42](#42)) ([52a1e29](52a1e29))
* Documentation page improvements ([#50](#50)) ([0ffdb6c](0ffdb6c))
* documents query ([cd4b308](cd4b308))
* don't store queue job result ([cbc0251](cbc0251))
* dont use pretty-pino on production ([7ee7a6c](7ee7a6c))
* **drive:** use prisma storage adapter ([cdebd25](cdebd25))
* enable operation id prop ([cb693b9](cb693b9))
* error logging ([b6fd264](b6fd264))
* finished rwa portfolio rebuild ([014fb7d](014fb7d))
* fix get strands since ([45aa3a6](45aa3a6))
* fixed dev support ([8ea3e51](8ea3e51))
* fixed import error ([37d634c](37d634c))
* Frontend auth ([#38](#38)) ([09d1940](09d1940))
* Frontend layout ([#32](#32)) ([23668a8](23668a8))
* graphql endpoints, queries and mutations ([#71](#71)) ([efdf27d](efdf27d))
* Graphql server and playground ([#15](#15)) ([38c5a60](38c5a60))
* handle drive strands first when multiple strands are pushed ([d754c1f](d754c1f))
* Implement sessions and revoking possibility ([#28](#28)) ([ca0a7da](ca0a7da))
* Improve documentation integration ([#58](#58)) ([3dffead](3dffead))
* improve heroku setup ([d6fdd6e](d6fdd6e))
* Improve test coverage ([#25](#25)) ([7cedbca](7cedbca))
* improved operational data schema for rwa ([0f93381](0f93381))
* in memory cache for drives and transmitters ([1e1211b](1e1211b))
* increase max body size ([6509c22](6509c22))
* init redis before creating queue manager ([ace01dd](ace01dd))
* log listener operation error ([70e7855](70e7855))
* Make API extensible via npm packages ([#67](#67)) ([fba28b4](fba28b4))
* merge branch 'develop' into staging ([c42b2be](c42b2be))
* moved esbuild to dependencies ([c5d7271](c5d7271))
* moved gql-query-builder to dependencies ([f5efd42](f5efd42))
* moved prisma to dependencies ([c0a689a](c0a689a))
* Preserve auth header for playground ([#49](#49)) ([54d2014](54d2014))
* pushUpdates revision fix ([ad717c4](ad717c4))
* queue add and remove listener operations ([5702eb8](5702eb8))
* queue add and remove listener operations ([3cf277f](3cf277f))
* readded rwa document ([1295fb6](1295fb6))
* remove yarn lockfile ([227664b](227664b))
* replace landing page ([0f458f9](0f458f9))
* replaced vue frontend with nextjs ([c162d55](c162d55))
* return error message on pushUpdates resolver ([4275428](4275428))
* rwa listener core logic ([62eb5d9](62eb5d9))
* sentry error handler improvements ([a1dbd76](a1dbd76))
* serve switchboard from subdirectories ([#108](#108)) ([fbd6baa](fbd6baa))
* silence transmitter not found errors ([8c86d77](8c86d77))
* update deps ([bed3b3d](bed3b3d))
* update document drive ([bf3aef0](bf3aef0))
* update document drive lib ([a81786e](a81786e))
* update document-drive ([7c8caac](7c8caac))
* update document-drive dep ([e4f222e](e4f222e))
* update document-model and document-drive libs ([2bb6151](2bb6151))
* update document-model and document-drive ver ([5b33aa3](5b33aa3))
* update document-model and document-drive versions ([a7038ee](a7038ee))
* update document-model and document-drive versions ([#138](#138)) ([324fce7](324fce7))
* update document-model and document-model-libs deps ([f475fae](f475fae))
* update document-model dep ([5df23b4](5df23b4))
* updated database model ([1db2b78](1db2b78))
* updated deps and small ts improvements ([23332f0](23332f0))
* updated dockerfile ([f6db1db](f6db1db))
* updated document drive dep ([e80a779](e80a779))
* updated document-drive ([319152e](319152e))
* updated document-drive ([680714f](680714f))
* updated document-drive dep ([#70](#70)) ([2ce57e2](2ce57e2))
* updated document-drive ver ([9f0eed4](9f0eed4))
* updated [email protected] ([a805aab](a805aab))
* updated document-model dep ([39e6166](39e6166))
* updated read model listener for rwa ([b1f9dc0](b1f9dc0))
* use corepack ([6297e12](6297e12))
* use pnpm ([4b96e42](4b96e42))
* use pnpm ([#82](#82)) ([658c590](658c590))
* user mutative instead of immer for reducers ([a9cfd97](a9cfd97))
* Wallet auth ([#55](#55)) ([89d40a1](89d40a1))
github-actions bot pushed a commit to skybase-int/switchboard that referenced this pull request Aug 19, 2024
# 1.0.0 (2024-08-19)

### Bug Fixes

* 404 status code when transmitter not found ([3fce2b8](3fce2b8))
* added document drive table ([57cbc31](57cbc31))
* added drive not found to sentry ignore list ([2ac81d3](2ac81d3))
* added sales proceeds ([ed8a594](ed8a594))
* api build ([8a93ed6](8a93ed6))
* api gql endpoint ([5d52a91](5d52a91))
* **apollo:** document operations ([cbc4666](cbc4666))
* build args ([16b70bc](16b70bc))
* build args ([7e8b4bc](7e8b4bc))
* closed redis connection ([3679cda](3679cda))
* cors issue ([7ec1111](7ec1111))
* database and schema issues ([a2578e4](a2578e4))
* deep links ([7ac2c94](7ac2c94))
* definitions error ([dd0653b](dd0653b))
* docker build and disabled imported modules ([59324eb](59324eb))
* docker build arg ([01b5599](01b5599))
* docker build arg ([4db0336](4db0336))
* document operations type ([da9729b](da9729b))
* documentType not resolved ([38c893b](38c893b))
* drive explorer endpoint ([0e31173](0e31173))
* driveId param ([b27925e](b27925e))
* envvars for nginx ([b283688](b283688))
* frontend docker build ([5fd44eb](5fd44eb))
* frontend graphql endpoint ([f4860c4](f4860c4))
* frontend graphql queries ([167eb83](167eb83))
* graphql endpoint ([609f7e8](609f7e8))
* graphql endpoint ([e61892e](e61892e))
* heroku deployment ([9af4188](9af4188))
* heroku deployment ([447b429](447b429))
* ignore drive not found error ([5131a1e](5131a1e))
* ignore drive not found error ([b7dcf31](b7dcf31))
* import error ([f97bf52](f97bf52))
* logger module filter ([145fc8b](145fc8b))
* name in assets not found ([e30a177](e30a177))
* nginx deployment ([1c50d20](1c50d20))
* nginx deployment ([795b39e](795b39e))
* prisma schema ([56554d3](56554d3))
* prisma schema ([8b865bf](8b865bf))
* redis queue ([9ab2c5c](9ab2c5c))
* request entity too large ([0782ba9](0782ba9))
* review comments ([75aead7](75aead7))
* rwa portfolio query ([2dba2cf](2dba2cf))
* rwa state name ([afa461b](afa461b))
* rwaPortfolios query ([079e8d7](079e8d7))
* set drive id from context ([d45d452](d45d452))
* set environments in github actions ([94f14e7](94f14e7))
* set environments in github actions ([d1a5204](d1a5204))
* set proper port on wundergraph ([5adebdb](5adebdb))
* set proper rwa type ([625cfd8](625cfd8))
* staging ([powerhouse-inc#179](https://github.com/NewMBrand/switchboard/issues/179)) ([76716ad](76716ad))
* updated gen files ([779f395](779f395))
* updated yarn.lock ([4261d1b](4261d1b))
* use redis cache if redis env var is set ([ad539ed](ad539ed))
* wundergraph deployment ([4f31d37](4f31d37))
* wundergraph port ([d3bf08c](d3bf08c))

### Features

* activate queue ([70da227](70da227))
* activate queue ([powerhouse-inc#178](https://github.com/NewMBrand/switchboard/issues/178)) ([7b3accf](7b3accf))
* activated cicd for staging ([aa959a6](aa959a6))
* activated cicd for staging ([23c36ba](23c36ba))
* activated prisma storage adapter ([f588ae2](f588ae2))
* activated redis queue manager ([05b7dc2](05b7dc2))
* add basic badges to clearly indicate license and CI status ([f4247c6](f4247c6))
* add basic ci and bare package.json ([7e7c712](7e7c712))
* add editorconfig ([377a2a6](377a2a6))
* add eslint, document it, add it to ci ([b7c741d](b7c741d))
* add gitignore ([9d5d1c4](9d5d1c4))
* Add healthz endpoints to api and frontend ([powerhouse-inc#34](https://github.com/NewMBrand/switchboard/issues/34)) ([25baa4e](25baa4e))
* add hello world index.ts, make it runnable, add first types ([951be8b](951be8b))
* add logging ([powerhouse-inc#21](https://github.com/NewMBrand/switchboard/issues/21)) ([17fc322](17fc322))
* add nvmrc and some basic documentation for easier starting points ([0799489](0799489))
* Add origin restriction to session token ([powerhouse-inc#46](https://github.com/NewMBrand/switchboard/issues/46)) ([100a018](100a018))
* Add prisma, prisma docs, Core Unit database model ([powerhouse-inc#12](https://github.com/NewMBrand/switchboard/issues/12)) ([969bbd7](969bbd7))
* add pushUpdates mutation ([340c475](340c475))
* add pushUpdates strands to queue at the same time ([b334196](b334196))
* add some basic recommendations for vscode users to make the start of this project easier ([e1735b6](e1735b6))
* add spv and fixedincometypes to portfolio assets ([1a14939](1a14939))
* Add testing setup, document it, add it to CI ([powerhouse-inc#13](https://github.com/NewMBrand/switchboard/issues/13)) ([97e25d4](97e25d4))
* add typescript, typechecking, document it in readme, add it to ci-pipeline ([6bdd1d9](6bdd1d9))
* Add user + auth ([powerhouse-inc#16](https://github.com/NewMBrand/switchboard/issues/16)) ([125d8b1](125d8b1))
* Add wundergraph to compose graphql APIs ([powerhouse-inc#64](https://github.com/NewMBrand/switchboard/issues/64)) ([5eb82a6](5eb82a6))
* added a child logger for the document drive ([e5f25f3](e5f25f3))
* added account snapshot document ([1c83ad4](1c83ad4))
* added assetProceeds to internal listener ([8f438d2](8f438d2))
* added budget statement document ([4e6695f](4e6695f))
* added cash and fixedincome tx to grouptx entity ([28405fd](28405fd))
* added crud queries and mutations for document drives ([8c12f7c](8c12f7c))
* added db schema for transactions ([9b06e48](9b06e48))
* added delete operations for spvs, service provider and accounts ([ea95229](ea95229))
* added develop environment ([f5e30b9](f5e30b9))
* added develop environment ([74adb08](74adb08))
* added document and rwa modules and interfaces ([bfaede2](bfaede2))
* added driveId as param to new graphql route ([8bb3255](8bb3255))
* added driveId exists middleware ([71b568b](71b568b))
* added driveid to graphql context ([675994f](675994f))
* added dropdown for graphql explorer ([102ca4a](102ca4a))
* added dynamic internal listener loader ([152c5f4](152c5f4))
* added experimental deps ([4772cb8](4772cb8))
* added experimental deps ([powerhouse-inc#175](https://github.com/NewMBrand/switchboard/issues/175)) ([e1eaa1b](e1eaa1b))
* added explorer endpoint with optional driveId param ([9400243](9400243))
* added fees to rwa portfolio ([1fbf4d5](1fbf4d5))
* added frontend and wundergraph deployment ([db73dba](db73dba))
* added github hook ([9ae1cfe](9ae1cfe))
* added graphql endpoints ([9335e8d](9335e8d))
* added healthcheck to dockerfile ([8edd478](8edd478))
* added hook endpoint to nginx router ([f5f0758](f5f0758))
* added internal listener for operational data ([d63987e](d63987e))
* added internal listener manager ([983e5dd](983e5dd))
* added makerdao and updated powerhouse deployments pipeline ([6dfcaa3](6dfcaa3))
* added missing transaction operations ([9427c6f](9427c6f))
* added more operations to rwa surgical update ([d657b68](d657b68))
* added mutations and queries for document drive push and pull transmitter ([1b05ed8](1b05ed8))
* added nginx deployment ([68f3b7c](68f3b7c))
* added operation mutations and drive queries ([eaf4692](eaf4692))
* added query to fetch all documents at once from a drive ([93e35bf](93e35bf))
* added real world assets portfolio query ([34c638f](34c638f))
* added redis to docker-compose ([14ebaad](14ebaad))
* added redis to docker-compose ([4915574](4915574))
* added registerListener ([ce7a7ee](ce7a7ee))
* added rwa graphql objects definitions ([687b447](687b447))
* added rwa operational data prisma schema ([f5f210f](f5f210f))
* added rwa portfolio query ([40a8442](40a8442))
* added scalar attachment ([61c55d6](61c55d6))
* added scope framework ([3ec7874](3ec7874))
* added scope of work internal listner ([37cf2c7](37cf2c7))
* added semantic release ([95bd92d](95bd92d))
* added semantic release ([019bb76](019bb76))
* added sentry env ([43fba88](43fba88))
* added sentry node ([9074d21](9074d21))
* added staging ([4891139](4891139))
* added staging ([f218895](f218895))
* added support for building with esbuild ([5c7e2cd](5c7e2cd))
* added support for operation context on graphql api ([847f0a3](847f0a3))
* added support for operation context on graphql api ([86a2f31](86a2f31))
* added versions endpoint ([327609a](327609a))
* basic frontend ([powerhouse-inc#29](https://github.com/NewMBrand/switchboard/issues/29)) ([c621f86](c621f86))
* bump document drive ([25938c0](25938c0))
* bump document drive ([88b9395](88b9395))
* bump document drive ([8103716](8103716))
* bump libs ([7d49709](7d49709))
* bump libs ([powerhouse-inc#180](https://github.com/NewMBrand/switchboard/issues/180)) ([b52f236](b52f236))
* catch and log error while initializing drive ([6e5462a](6e5462a))
* document drive ([powerhouse-inc#69](https://github.com/NewMBrand/switchboard/issues/69)) ([6cbdcc9](6cbdcc9))
* Documentation integration ([powerhouse-inc#42](https://github.com/NewMBrand/switchboard/issues/42)) ([52a1e29](52a1e29))
* Documentation page improvements ([powerhouse-inc#50](https://github.com/NewMBrand/switchboard/issues/50)) ([0ffdb6c](0ffdb6c))
* documents query ([cd4b308](cd4b308))
* don't store queue job result ([cbc0251](cbc0251))
* dont use pretty-pino on production ([7ee7a6c](7ee7a6c))
* **drive:** use prisma storage adapter ([cdebd25](cdebd25))
* enable operation id prop ([cb693b9](cb693b9))
* error logging ([b6fd264](b6fd264))
* finished rwa portfolio rebuild ([014fb7d](014fb7d))
* fix get strands since ([45aa3a6](45aa3a6))
* fixed dev support ([8ea3e51](8ea3e51))
* fixed import error ([37d634c](37d634c))
* Frontend auth ([powerhouse-inc#38](https://github.com/NewMBrand/switchboard/issues/38)) ([09d1940](09d1940))
* Frontend layout ([powerhouse-inc#32](https://github.com/NewMBrand/switchboard/issues/32)) ([23668a8](23668a8))
* graphql endpoints, queries and mutations ([powerhouse-inc#71](https://github.com/NewMBrand/switchboard/issues/71)) ([efdf27d](efdf27d))
* Graphql server and playground ([powerhouse-inc#15](https://github.com/NewMBrand/switchboard/issues/15)) ([38c5a60](38c5a60))
* handle drive strands first when multiple strands are pushed ([d754c1f](d754c1f))
* Implement sessions and revoking possibility ([powerhouse-inc#28](https://github.com/NewMBrand/switchboard/issues/28)) ([ca0a7da](ca0a7da))
* Improve documentation integration ([powerhouse-inc#58](https://github.com/NewMBrand/switchboard/issues/58)) ([3dffead](3dffead))
* improve heroku setup ([d6fdd6e](d6fdd6e))
* Improve test coverage ([powerhouse-inc#25](https://github.com/NewMBrand/switchboard/issues/25)) ([7cedbca](7cedbca))
* improved operational data schema for rwa ([0f93381](0f93381))
* in memory cache for drives and transmitters ([1e1211b](1e1211b))
* increase max body size ([6509c22](6509c22))
* init redis before creating queue manager ([ace01dd](ace01dd))
* log listener operation error ([70e7855](70e7855))
* Make API extensible via npm packages ([powerhouse-inc#67](https://github.com/NewMBrand/switchboard/issues/67)) ([fba28b4](fba28b4))
* merge branch 'develop' into staging ([c42b2be](c42b2be))
* moved esbuild to dependencies ([c5d7271](c5d7271))
* moved gql-query-builder to dependencies ([f5efd42](f5efd42))
* moved prisma to dependencies ([c0a689a](c0a689a))
* Preserve auth header for playground ([powerhouse-inc#49](https://github.com/NewMBrand/switchboard/issues/49)) ([54d2014](54d2014))
* pushUpdates revision fix ([ad717c4](ad717c4))
* queue add and remove listener operations ([5702eb8](5702eb8))
* queue add and remove listener operations ([3cf277f](3cf277f))
* readded rwa document ([1295fb6](1295fb6))
* remove yarn lockfile ([227664b](227664b))
* replace landing page ([0f458f9](0f458f9))
* replaced vue frontend with nextjs ([c162d55](c162d55))
* return error message on pushUpdates resolver ([4275428](4275428))
* rwa listener core logic ([62eb5d9](62eb5d9))
* sentry error handler improvements ([a1dbd76](a1dbd76))
* serve switchboard from subdirectories ([powerhouse-inc#108](https://github.com/NewMBrand/switchboard/issues/108)) ([fbd6baa](fbd6baa))
* silence transmitter not found errors ([8c86d77](8c86d77))
* update deps ([bed3b3d](bed3b3d))
* update document drive ([bf3aef0](bf3aef0))
* update document drive lib ([a81786e](a81786e))
* update document-drive ([7c8caac](7c8caac))
* update document-drive dep ([1da4f74](1da4f74))
* update document-drive dep ([e4f222e](e4f222e))
* update document-drive dep ([40f98cd](40f98cd))
* update document-model and document-drive libs ([2bb6151](2bb6151))
* update document-model and document-drive ver ([5b33aa3](5b33aa3))
* update document-model and document-drive versions ([a7038ee](a7038ee))
* update document-model and document-drive versions ([powerhouse-inc#138](https://github.com/NewMBrand/switchboard/issues/138)) ([324fce7](324fce7))
* update document-model and document-model-libs deps ([f475fae](f475fae))
* update document-model dep ([5df23b4](5df23b4))
* updated database model ([1db2b78](1db2b78))
* updated deps and small ts improvements ([23332f0](23332f0))
* updated dockerfile ([f6db1db](f6db1db))
* updated document drive dep ([e80a779](e80a779))
* updated document-drive ([319152e](319152e))
* updated document-drive ([680714f](680714f))
* updated document-drive dep ([powerhouse-inc#70](https://github.com/NewMBrand/switchboard/issues/70)) ([2ce57e2](2ce57e2))
* updated document-drive ver ([9f0eed4](9f0eed4))
* updated [email protected] ([a805aab](a805aab))
* updated document-model dep ([39e6166](39e6166))
* updated read model listener for rwa ([b1f9dc0](b1f9dc0))
* use corepack ([6297e12](6297e12))
* use pnpm ([4b96e42](4b96e42))
* use pnpm ([powerhouse-inc#82](https://github.com/NewMBrand/switchboard/issues/82)) ([658c590](658c590))
* user mutative instead of immer for reducers ([a9cfd97](a9cfd97))
* Wallet auth ([powerhouse-inc#55](https://github.com/NewMBrand/switchboard/issues/55)) ([89d40a1](89d40a1))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement optional token restriction by origin
4 participants