New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nclabs/nestjs-rpc-module

Package Overview
Dependencies
Maintainers
0
Versions
138
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nclabs/nestjs-rpc-module - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

2

package.json
{
"name": "@nclabs/nestjs-rpc-module",
"version": "0.1.1",
"version": "0.1.2",
"description": "Utilitário NestJS para configuração de rotas e cache em microsserviços. Utilizado especificamente para projetos nclabs",

@@ -5,0 +5,0 @@ "main": "./lib/index.js",

@@ -23,4 +23,3 @@ # nestjs-nclabs-rpc-module

Carrega o arquivo de configuração (ex.: docker-compose.env) compartilhado entre todos os serviços e disponibiliza
uma biblioteca de configuração com os valores de ambientes do serviço.
Carregar o arquivo de configuração (ex.: docker-compose.env) compartilhado entre todos os serviços.

@@ -37,3 +36,3 @@ - As váriáveis descritas no arquivo de configuração são carregadas e tratadas pela biblioteca de configuração.

Variável de ambiente setada no docker-compose.yml:
Variável de ambiente que deve ser setada no docker-compose.yml:

@@ -83,3 +82,4 @@ ```bash

| [**NclabsConfig**](#nclabsconfig) | Lib | * | Disponibiliza todas as váriaveis de ambiente |
| [**NclabsAction**](#controller---method-configuration) | Decorator | Controller | Configura requisições RPC e HTTP (opcional) |
| [**NclabsHttp**](#controller---method-configuration) | Decorator | Controller | Configura requisições HTTP |
| [**NclabsAction**](#controller---method-configuration) | Decorator | Controller | Configura requisições RPC |
| [**NclabsEvent**](#controller---method-configuration) | Decorator | Controller | Configura envio de eventos RPC |

@@ -128,8 +128,8 @@ | [**NclabsCtx**](#contexto) | Decorator | Controller | Acessa informações do contexto do microserviço |

/**
* HTTP REQUEST
*/
@NclabsAction({
name: 'your-action-name',
rest: {
methods: ['GET', 'POST'],
path: '/your-path',
},
path: 'your-path/:id',
methods: ['GET', 'POST'],
cache: {

@@ -140,3 +140,3 @@ keys: ['#headers.authorization', '#data.id', 'some-key'],

})
youMethodName(@NclabsCtx() context: NclabsContext) {
youRpcMethodName(@NclabsCtx() context: NclabsContext) {
// Do something

@@ -146,56 +146,82 @@ return;

/**
* RPC CALL
*/
@NclabsAction({
name: 'your-action-name',
cache: {
keys: ['#headers.authorization', '#params.id', 'some-key'],
ttl: 1200, // seconds
},
})
youRpcMethodName(@NclabsCtx() context: NclabsContext) {
// Do something
return;
}
...
```
- RPC: O método poderá ser requisitado pelo padrão `service.name`
Onde:
#### HTTP REQUEST:
- service = SERVICE_NAME (definido no environment do docker compose)
- name = your-action-name (configurado no decorator do método)
Registra a rota definida em `path` para os métodos indicados em `methods`. Quando o parâmetro `methods` não for informado, todos os métodos são permitidos.
No Exemplo acima:
- GET /your-path/:id
- POST /your-path/:id
<br />
- HTTP: A configuração `rest` do decorator irá disponibilizar 1 rotas de acesso HTTP para cada _method_:
#### RPC:
- GET /your-path
- POST /your-path
O método poderá ser requisitado pelo padrão `service.name`
Onde:
- service = SERVICE_NAME (definido no environment do docker compose)
- name = your-action-name (configurado no decorator do método)
<br />
- CACHE: A configuração `cache` irá disponibilizar um cache para o retorno da requisição com as chaves especificadas no `keys` e com o TTL especificado no `ttl`.
#### CACHE:
O cacher gera a chave do cache com base no serviço, o nome da ação e as chaves especificadas no `keys`. Que aceita valores estaticos, variáveis
previamente carregadas (lembrando que o NestJs carrega os decorator antes de instanciar os módulos) e variáveis do contexto que poderão ser acessadas
através do prefixo `#` sendo possível utilizar qualquer atributo de retorno do [contexto](#contexto).
O atributo `cache` disponibiliza párâmetros de configuração do cache para o retorno da requisição com as chaves especificadas no `keys` e com o TTL especificado no `ttl`.
A sintaxe da chave é:
O cacher gera a chave do cache com base no serviço, protocolo (HTTP/RCP), nome do método e as chaves especificadas no `keys`. Que aceita valores estaticos, variáveis previamente carregadas (lembrando que o NestJs carrega os decorator antes de instanciar os módulos) e variáveis do contexto que poderão ser acessadas
através do prefixo `#` sendo possível utilizar qualquer atributo de retorno do [contexto](#contexto).
<SERVICE_NAME>.<action_name>.<key 1>.<key 2>.<key 3>
A sintaxe da chave é:
```javascript
// Exemplo:
<SERVICE_NAME>:<protocolo>-<method>.<key 1>.<key 2>.<key 3>
// SERVICE_NAME = senior-auth
```javascript
// Exemplo:
@NclabsAction({
name: 'user-credential',
cache: {
keys: [
'#headers.authorization', // value from context.headers
'#data.id', // value from context.data
'some-key' // static value
],
ttl: 1200, // seconds
},
})
// SERVICE_NAME = senior-auth
...
@NclabsHttp({
path: '/user-credential:id',
methods: ['GET'],
cache: {
keys: [
'#headers.authorization', // value from context.headers
'#params.id', // value from context.params
'some-key' // static value
],
ttl: 1200, // seconds
},
})
getUserCredential(...) {
}
```
...
No código exemplo, chave do cache será algo assim:
```
senior-auth.user-credential.Bearer A8DA9S8Asc8ca9sud0c0sgh.123.some-key
A chave gerada para o cache será algo assim:
senior-auth:http-get-getUserCredential.Bearer A8DA9S8Asc8ca9sud0c0sgh.123.some-key
<br />

@@ -202,0 +228,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc