Logo Passei Direto
Buscar
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

🔟
Adequação para restify 10 no 
pd-api-filters
A partir do restify 9, os handlers de rota tiveram uma mudança em como eles são 
recebidos pelo restify.
Funções Async devem ter apenas 2 parâmetros ou menos. (request, response)
As funções async resolvem como promise e não utilizam mais a chamada do 
next, isso é feito pela api do restify. As regras para o retorno são:
Se a função resolver sem nenhum valor, ela chama a próxima função da 
rota. Isso é feito com o next() pelo próprio restify);
Se a função resolver com um string ela vai tentar trocar a rota para a 
string passada. Esse já era o comportamento anterior para funções 
síncronas)
Se a função resolver com algo que não seja um string, ela chama o next 
com esse valor;
Se a função for rejeitada com um Error, o next(err) é chamado;
Se a função for rejeitada com algo diferente de tudo acima ela é 
encapsulada em um AsyncError e chama o next(err);
Para a maioria dos nossos casos a alteração vai ser trocar o next() nas nossas 
funções para um return; e o next(err) para um throw;
Funções Sync devem ter 3 parâmetros. (request, response, next)
Adequação para restify 10 no pd-api-filters 1
https://github.com/restify/node-restify/blob/master/docs/guides/8to9guide.md#route-handler-api
As funções sync resolvem como funções de callback e seguem o mesmo 
padrão de antigamente, onde a chamada do next/callback com sucesso ou 
com erro fica a critério da função criada.
Essas verificações são feitas com um assert dentro do restify, utilizando o length 
da função para saber quantos parâmetros a função da rota tem.
Alguns dos nossos filtros utilizam o partial do lodash para fixar parâmetros, essa 
função do lodash faz com que o length da função retornada seja 0 e com isso 
não passa na validação feita pelo restify. 
⚙ Tabela de migração para restify 10 do pd-api-filters
A migração vai ter um impacto grande nas nossas apis, pois a maioria está abaixo 
da versão 18 do node Onde costumamos atualizar o restify para o 10
Adequação para restify 10 no pd-api-filters 2
https://lodash.com/docs/4.17.15#partial
https://www.notion.so/042be5f988eb4431aab76ab417b5d33b?pvs=21
https://www.notion.so/042be5f988eb4431aab76ab417b5d33b?pvs=21
https://www.notion.so/042be5f988eb4431aab76ab417b5d33b?pvs=21
Migração para a nova versão do pd-api-
filters
Para que uma api possa utilizar a nova versão da pd-api-filters é necessário que a 
versão do restify seja atualizada para 10.
Os filtros se comportam da mesma maneira, não sendo necessárias alterações 
para o seu uso.
Alguns filtros antigos e depreciados foram eliminados, para esses é necessário se 
adequar.
Todos os filtros de GraphQL foram eliminados;
O filtro authorizeInternal foi elimiando e deve ser substituído pelo 
authorizeApp.
O filtro auhtorizeUserOrInternal foi eliminado e endpoint deve considerar ser 
público (authorize) ou privado (authorizeApp).
✈ Migrando do authorizeInternal para o authorizeApp
Adequação para restify 10 no pd-api-filters 3
https://www.notion.so/Migrando-do-authorizeInternal-para-o-authorizeApp-cedf9afbcced424f9fa8e1c148780ec9?pvs=21
https://www.notion.so/Migrando-do-authorizeInternal-para-o-authorizeApp-cedf9afbcced424f9fa8e1c148780ec9?pvs=21
https://www.notion.so/Migrando-do-authorizeInternal-para-o-authorizeApp-cedf9afbcced424f9fa8e1c148780ec9?pvs=21