# Convite lança 422 para convites existentes, mas expirados

**URL:** https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541
**Category:** Bug
**Created:** [29 Abril , 2021 13:03 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541 "2021-04-29T13:03:37Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [29 Abril , 2021 13:03 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541/1 "2021-04-29T13:03:37Z")

</div>

Ao tentar convidar um usuário, frequentemente vemos `422 Unprocessable Entity`.  
O código [verifica](https://github.com/discourse/discourse/blame/master/app/controllers/invites_controller.rb#L74-L75) convites existentes para aquele endereço de e-mail e lança um erro ao encontrar um. No entanto, parece ignorar se tal convite expirou ou foi invalidado. O convite deveria ser possível nesses casos?

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [30 Abril , 2021 23:49 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541/2 "2021-04-30T23:49:11Z")

</div>

> [@RGJ](#):
>
> O código [verifica](https://github.com/discourse/discourse/blame/master/app/controllers/invites_controller.rb#L74-L75) convites existentes para esse endereço de e-mail e lança um erro ao encontrar um.

Testando isso no código mais recente do Discourse no meu site de desenvolvimento local, consigo, na verdade, criar múltiplos convites para o mesmo endereço de e-mail. Analisando o código, eu esperaria que fazer isso lançasse um erro.

Você definitivamente deve ser capaz de enviar um novo convite para um endereço de e-mail para o qual existe um convite expirado. Muito trabalho tem sido feito recentemente com o sistema de convites do Discourse. Em qual versão do Discourse você está encontrando o problema?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [1 Maio , 2021 08:54 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541/3 "2021-05-01T08:54:27Z")

</div>

> [@simon](#):
>
> Analisando o código, eu esperaria que fazer isso lançasse um erro.

Isso é ainda mais estranho 🤔

Nós nos deparamos com isso em tests-passed a partir de 28 de abril.

Pelo menos nossas descobertas parecem ser consistentes com o código, e esse código parece estar errado?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [3 Maio , 2021 05:24 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541/4 "2021-05-03T05:24:58Z")

</div>

Alguma ideia sobre isso, @dan?

---

<div class="post-metadata">

### Author: ![dan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dan/32/101549_2.png) [@dan](https://meta.discourse.org/u/dan)
#### Post date: [12 Maio , 2021 20:40 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541/7 "2021-05-12T20:40:50Z")

</div>

Eu reverti para o comportamento antigo nesta PR. Isso significa que ele atualizará e retornará o convite existente em vez de retornar `422`.

---

<div class="post-metadata">

### Author: ![dan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dan/32/101549_2.png) [@dan](https://meta.discourse.org/u/dan)
#### Post date: [19 Maio , 2021 05:00 UTC](https://meta.discourse.org/t/invite-throws-422-for-existing-but-expired-invites/188541/8 "2021-05-19T05:00:32Z")

</div>

Este tópico foi automaticamente fechado após 6 dias. Novas respostas não são mais permitidas.
