FMPUser
interface FMPUser
Представляет пользователя FMP. FMP поддерживает многопользовательский режим. Для параллельной работы нескольких пользователей требуется создание объектов FMP для каждого пользователя.
Since
21.04.01
Samples
ru.fsight.fmp.doc.sample.userCreateimport ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() {
//sampleStart
/*
* Пример аутентификации по паролю.
*/
// Выполняем попытку аутентификации по паролю.
val auth_password: FMPResult<Boolean> = user.auth()
if (auth_password.result) {
// Успешная аутентификация по паролю.
} else {
// Ошибка аутентификации.
when (auth_password.exception) {
is UnauthorizedException -> { /* Неверный пароль. */ }
is NetworkIOException -> { /* Ошибка подключения к серверу. */ }
is ServerException -> { /* Ошибка на сервере. */ }
else -> { /* Иная ошибка. */ }
}
}
//sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() {
//sampleStart
/*
* Пример аутентификации по токену.
*/
// Для начала требуется хотя бы раз успешно аутентифицироваться по паролю.
// Выполняем попытку аутентификации по токену.
val auth_token: FMPResult<Boolean> = user.auth()
if (auth_token.result) {
// Успешная аутентификация по токену.
} else {
// Ошибка использования токенов.
when (auth_token.exception) {
is UnauthorizedException -> { /* Устаревший токен. */ }
is NoCredentialsException -> { /* Токена нет, т.е. не было входа по паролю. */ }
is NetworkIOException -> { /* Ошибка подключения к серверу. */ }
is ServerException -> { /* Ошибка на сервере. */ }
else -> { /* Иная ошибка. */ }
}
}
//sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() {
//sampleStart
/*
* Пример отмены аутентификации (удаления токенов).
*/
val revoke: Boolean =
user.revoke().result // Отменить аутентификацию пользователя. Это также удаляет все его токены, но не трогает данные.
//sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
fun main() {
//sampleStart
/*
* Аутентификация со сменой пароля.
*/
val change: FMPResult<Boolean> = user.changePassword("old", "new") // Провести попытку аутентификации со сменой пароля.
val is_changed: Boolean = change.result // Если true, то пользователь аутентифицирован и пароль изменён.
val error: Exception? = change.exception // Если возникла ошибка, тут будет содержимое ошибки.
//sampleEnd
}
import ru.fsight.fmp.*
import ru.fsight.fmp.exception.*
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
Удалить файлы пользователя. Удаляются только данные по пути storage.