Skip to content

Swagger: rota de refresh token sem instanceName #215

@Serafim98

Description

@Serafim98

Pesquisei problemas semelhantes no GitHub e não encontrei nenhum.

  • Sim

Quais passos para chegar ao problema?

Tentei renovar o token JWT pelo Swagger em /docs, usando o endpoint documentado como:

PUT /instance/refreshToken/

Enviei o body:

{
"oldToken": ""
}

Descreva o que você esperava que acontecesse.

Esperava que o endpoint de refresh token no Swagger solicitasse o instanceName e executasse a rota correta:

PUT /instance/refreshToken/{instanceName}

Com isso, esperava receber um novo token JWT na resposta.

Explique o que realmente acontece quando você segue os passos acima.

O Swagger executa a rota sem o instanceName:

PUT /instance/refreshToken/

A API retorna 404:

Cannot PUT /instance/refreshToken/

No código, a rota real usa routerPath('refreshToken'), que adiciona /:instanceName por padrão. Portanto, o Swagger
parece estar documentando uma rota diferente da rota real.

Insira o número da sua versão que está na propriedade version do package.json.

1.3.6

Se possível, adicione capturas de tela ou vídeos que ilustrem o problema.

Isso pode ser extremamente útil para entender melhor o problema.

No response

O ambiente no qual a aplicação está em execução

Linux

Por favor, anexe os logs que possam estar relacionados ao problema.

Se os logs contiverem informações sensíveis, considere enviá-los de forma privada para um dos mantenedores do projeto.

{
"status": 404,
"message": "Cannot PUT /instance/refreshToken/",
"error": "Not Found"
}

Inclua aqui qualquer outra informação que você ache que possa ser útil para entender ou resolver o bug.

No docs/swagger.yaml, o endpoint está documentado como:

/instance/refreshToken/:
put:

Mas em src/whatsapp/routers/instance.router.ts, a rota é registrada com:

.put(routerPath('refreshToken'), ...)

E routerPath() adiciona /:instanceName por padrão quando o segundo parâmetro não é informado.

A documentação deveria incluir o parâmetro de path instanceName, por exemplo:

/instance/refreshToken/{instanceName}:
put:
parameters:
- name: instanceName
in: path
required: true

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinghelp wantedExtra attention is neededpt-brPara solicitações em Português

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions