FMPUser
interface FMPUser
Представляет пользователя FMP. FMP поддерживает многопользовательский режим. Для параллельной работы нескольких пользователей требуется создание объектов FMP для каждого пользователя.
Since
21.04.01
Samples
ru.fsight.fmp.doc.sample.userCreateimport ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
import ru.fsight.fmp.exception.NetworkIOException
import ru.fsight.fmp.exception.NoCredentialsException
import ru.fsight.fmp.exception.ServerException
import ru.fsight.fmp.exception.UnauthorizedException
fun main() {
//sampleStart
/*
* Пример аутентификации по паролю.
*/
// Выполняем попытку аутентификации по паролю.
val authPassword: FMPResult<Boolean> = user.auth()
if (authPassword.result) {
// Успешная аутентификация по паролю.
} else {
// Ошибка аутентификации.
when (authPassword.exception) {
is UnauthorizedException -> { /* Неверный пароль. */ }
is NetworkIOException -> { /* Ошибка подключения к серверу. */ }
is ServerException -> { /* Ошибка на сервере. */ }
else -> { /* Иная ошибка. */ }
}
}
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
import ru.fsight.fmp.exception.NetworkIOException
import ru.fsight.fmp.exception.NoCredentialsException
import ru.fsight.fmp.exception.ServerException
import ru.fsight.fmp.exception.UnauthorizedException
fun main() {
//sampleStart
/*
* Пример аутентификации по токену.
*/
// Для начала требуется хотя бы раз успешно аутентифицироваться по паролю.
// Выполняем попытку аутентификации по токену.
val authToken: FMPResult<Boolean> = user.auth()
if (authToken.result) {
// Успешная аутентификация по токену.
} else {
// Ошибка использования токенов.
when (authToken.exception) {
is UnauthorizedException -> { /* Устаревший токен. */ }
is NoCredentialsException -> { /* Токена нет, т.е. не было входа по паролю. */ }
is NetworkIOException -> { /* Ошибка подключения к серверу. */ }
is ServerException -> { /* Ошибка на сервере. */ }
else -> { /* Иная ошибка. */ }
}
}
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
import ru.fsight.fmp.exception.NetworkIOException
import ru.fsight.fmp.exception.NoCredentialsException
import ru.fsight.fmp.exception.ServerException
import ru.fsight.fmp.exception.UnauthorizedException
fun main() {
//sampleStart
/*
* Пример отмены аутентификации (удаления токенов).
*/
val revoke: Boolean =
user.revoke().result // Отменить аутентификацию пользователя. Это также удаляет все его токены, но не трогает данные.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
import ru.fsight.fmp.exception.NetworkIOException
import ru.fsight.fmp.exception.NoCredentialsException
import ru.fsight.fmp.exception.ServerException
import ru.fsight.fmp.exception.UnauthorizedException
fun main() {
//sampleStart
/*
* Аутентификация со сменой пароля.
*/
val change: FMPResult<Boolean> =
user.changePassword("old", "new") // Провести попытку аутентификации со сменой пароля.
val isChanged: Boolean = change.result // Если true, то пользователь аутентифицирован и пароль изменён.
val error: Exception? = change.exception // Если возникла ошибка, тут будет содержимое ошибки.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
import ru.fsight.fmp.exception.NetworkIOException
import ru.fsight.fmp.exception.NoCredentialsException
import ru.fsight.fmp.exception.ServerException
import ru.fsight.fmp.exception.UnauthorizedException
fun main() {
//sampleStart
/*
* Пример параллельной работы нескольких пользователей.
*/
val builder: FMP.Builder =
FMP.Builder()
.api(FMP.API.V2)
.address("https://example.com")
.environment("env1")
.project("proj1")
.deviceID("test")
.storage("/path/to/storage")
// Создаём FMP для первого пользователя.
val user1 = builder.username("user1").build()
// Создаём FMP для второго пользователя.
val user2 = builder.username("user2").build()
/* Пользователя user1 и user2 могут выполнять работу одновременно. */
//sampleEnd
}
Functions
Link copied to clipboard
Link copied to clipboard
Загрузить схему ресурсов вручную. Ресурсы необходимы перед использованием FMPQuery.download и FMPResource.download, но обычно делается автоматически после аутентификации. Вручную может потребоваться обновление, если структура данных на сервере поменялась во время работы приложения.
Link copied to clipboard
Получить список доступных пользователю ресурсов. Для получения метаданных ресурса используется FMPResource.getMeta.
Link copied to clipboard
Получить время окончания жизни Refresh токена пользователя.
Link copied to clipboard
Удалить файлы пользователя. Удаляются только данные по пути storage.