Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
6
Отложенное сохранение и получение сессии устройства
Компании, где спрашивали:
Salmon
Условие задачи
Необходимо реализовать систему, которая будет сохранять и предоставлять сессию, полученную из внешней библиотеки, собирающей информацию об устройстве. Эта сессия будет использоваться для идентификации пользователя на серверной стороне.
- Запустить инициализацию библиотеки DeviceScrapingLibrary, а после её готовности сохранить полученную сессию.
- Обеспечить возможность извлечения сохранённой сессии через слой хранения SessionStorage.
- Доступ к сессии должен быть возможен только после успешного завершения инициализации.
class DeviceScrapingLibraryInitializer(
private val sessionRepo: DeviceScrapingSessionRepository
) {
fun initialize() {
val builder = DeviceScrapingLibrary.Builder()
.onSessionReady { session ->
sessionRepo.save(session)
}
.build()
DeviceScrapingLibrary.initialize(builder)
}
}
class DeviceScrapingSessionRepository {
fun save(session: Session) {
// TODO store session
}
suspend fun retrieve(): Session {
// TODO suspend until session is available
}
}