Sandbox API v4 - Tworzenie użytkowników sandbox nie zawsze zwraca działające konto

Tagi: #<Tag:0x00007f2add62be98>

Przy tworzeniu konta sandboxa (sandbox-api.lvlup.pro), czasami poniższy endpoint zwraca użytkowników z id:0:

https://sandbox-api.lvlup.pro/v4/sandbox/account/new

Przykładowa odpowiedź z tym błędem (dane oznaczone xxx zostały usunięte):

{
   "id":0,
   "username":"Botsford6983",
   "password":"h43rhFAYRPlNQYMM",
   "email":"xxx",
   "apiKey":"xxx"
}

Klucz takiego użytkownika nie może potem być użyty, np. do wyświetlenia informacji o nim korzystając z endpointu /me:

{
   "msg":"wrong token",
   "code":0
}
3lajki

Tutaj wystąpiły dwa błędy które są do poprawy:

  • za małe limity tworzenia kont
  • niepoprawna obsługa błędów DB przez funkcję która zwraca dane konta
    • jeśli konto nie zostało utworzone w DB to nie powinno zostać zwrócone jako wynik i HTTP 200 lecz przynajmniej pusty HTTP 500
4lajki

Limity tworzenia kont już działają przy okazji tych zmian:

Okazało się że rate limit nie był włączony dla endpointów dedykowanych sandboxowi :thonking:

Jeszcze brakuje lepszej obsługi błędów DB i wątek do zamknięcia.

2lajki