itd-api / MultiTokenStorage
Interface: MultiTokenStorage
Defined in: session/multi-storage.ts:28
Хранилище сессий нескольких аккаунтов.
Отличается от TokenStorage тем, что каждый метод получает имя аккаунта: так адаптер сам решает, как строить ключ, и Redis, БД или связка ключей получают то, что им нужно. Имя приходит ровно тем, под которым аккаунт заведён в ItdAccounts: библиотека его не нормализует и не экранирует — префиксы, экранирование и ограничения на длину ключа остаются за адаптером.
Все методы могут быть как синхронными, так и асинхронными.
Example
Хранилище поверх enumerable Redis backend
const storage = createMultiTokenStorage(withNamespace(redisStore, 'itd'));Methods
accounts()
accounts(): readonly string[] | Promise<readonly string[]>;Defined in: session/multi-storage.ts:46
Имена сохранённых записей — по ним ItdAccounts.restore() находит кандидатов после перезапуска процесса.
Список ведёт сам адаптер: у файлового и памятного он виден из самой записи, а хранилищу «ключ — значение» придётся держать множество имён рядом с сессиями. Перед восстановлением контейнер читает каждую запись и пропускает оставшийся после выхода одинокий deviceId: без токена или refresh-сессии авторизоваться невозможно. Пустой список означает лишь то, что кандидатов нет, — сами записи при этом могут быть доступны по имени.
Returns
readonly string[] | Promise<readonly string[]>
clear()
clear(account): void | Promise<void>;Defined in: session/multi-storage.ts:34
Удалить сессию аккаунта. Вызывается при выходе и при неудачном обновлении токена.
Parameters
account
string
Returns
void | Promise<void>
get()
get(account):
| ItdSession
| Promise<ItdSession | null>
| null;Defined in: session/multi-storage.ts:30
Прочитать сессию аккаунта. null, если её нет.
Parameters
account
string
Returns
| ItdSession | Promise<ItdSession | null> | null
set()
set(account, session): void | Promise<void>;Defined in: session/multi-storage.ts:32
Сохранить сессию аккаунта целиком.
Parameters
account
string
session
Returns
void | Promise<void>