Stiamo utilizzando l’SSO e quando qualcuno chiude il proprio account, eliminiamo anche il suo account Discourse tramite API (o lo anonimizziamo, se ha dei post).
Tuttavia, sembra esserci qualcosa che non va, dato che stiamo riscontrando alcuni errori 403 durante questa operazione. Indagando un po’, ho scoperto che questo è il messaggio di errore restituito dalla chiamata API:
{
"http_code": 403,
"body": "{\"deleted\":false,\"message\":\"User XXX has 0 posts, so they can't be deleted.\"}"
}
Ma se ci sono 0 post, dovrebbe essere possibile eliminarlo? Guardando le informazioni di questo specifico account, effettivamente non ci sono post:
Tuttavia, c’è un messaggio privato inviato a Discobot (tutorial).
Quindi, penso che ci siano diversi aspetti da considerare:
- Il messaggio di errore che ha rifiutato l’eliminazione dell’utente conta solo i post pubblici, ma forse dovrebbe contare anche quelli privati?
- In realtà, i messaggi privati dovrebbero impedire l’eliminazione di un account? Comprendo il ragionamento secondo cui la rimozione di un account complica la narrazione in un argomento pubblico, ma in un messaggio privato forse l’argomento non è altrettanto solido?
- Se la risposta alla domanda precedente è ancora sì (cioè, i messaggi privati dovrebbero comunque impedire l’eliminazione di un account), anche i messaggi inviati a Discobot dovrebbero essere presi in considerazione per impedire la rimozione di un account? Voglio dire, la maggior parte delle persone segue il tutorial e invia messaggi privati a Discobot… il che rende praticamente impossibile eliminare molti account che non hanno mai partecipato, solo perché hanno completato il tutorial (forse questo vale solo dopo
delete_user_max_post_agegiorni, ma comunque).
Infine, e non sono sicuro se sia correlato al punto 1, ma quando controllo le informazioni API di questo utente, vengono restituiti:
post_count: 0
can_be_deleted: 1
can_delete_all_posts: 0
Tuttavia, in pratica, questo utente non può essere eliminato. Quindi forse la logica di can_be_deleted conta solo i post pubblici?

