package api;

import replicationAnnotations.ReplicateEnum;

/**
 * Энум со статусом выполнения API-комманды, введен вместо убогого булеана, чтобы было яснее,
 * что именно произошло в ходе выполнения комманды, так как парсить reason никто не станет.
 *
 * Значения используются не только в Java и C++, но и в PHP.
 *
 * @author eugene.ivanovsky
 */
@SuppressWarnings({"EnumeratedConstantNamingConvention"})
@ReplicateEnum
public enum APIResult {
  SUCCESS, // операция выполнена успешно
  FAILED, // провалена (например при проверке пароля, он оказался неверным)
  NOTFOUND, // аккаунт не найден
  ALREADYEXISTS, // аккаунт уже существует
  DBERROR, // ошибка базы данных
  CRYPTERROR, // ошибка хэша, криптования и тд
  INVALID_ARGUMENT // неправильные параметры вызова метода; текстом идёт расшифровка 
}
