Files
Ivan Starkov 2f171e0f42 Add initial trpc interface package (#780)
## Description

ref #548

New `trpc-interface` package.

It's intended to implement various TRPC services we are going to use.
But it can act as a proxy for TRPC services implemented at SAAS and at
open source.

Exposes: `createTRPCProxyServiceClient` method, and `SharedRouter` type.

`createTRPCProxyServiceClient` creates
[createTRPCProxyClient](https://trpc.io/docs/vanilla#initialize-a-trpc-client)
for the local TRCP router, or for a remote TRPC server.
`SharedRouter` type information would be used at SAAS to check that SAAS
services have the same API interface as open-source TRPC.

The current implementation has just an example call `authorize.check`,
without any logic. And used just to check that everything works.


## Steps for reproduction


## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)


## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-16 21:31:58 +03:00

204 B

trpc-interface

  • trpc-interface can implement various TRPC server routers.

  • it can act as a proxy for TRPC services implemented in any other apps (those services must have the same API interface).