itd-api/node / FileMultiTokenStorage
Class: FileMultiTokenStorage
Defined in: node.ts:302
Хранит сессии нескольких аккаунтов в одном файле.
Разбирается с гонкой «прочитать, изменить, записать»: десять аккаунтов пишут в один файл, и без общего слепка с очередью записей они теряли бы сессии друг друга. Как и FileTokenStorage, пишет через временный файл с правами 0600.
Формат — конверт { version, accounts }, а не голая карта: так файл нескольких аккаунтов не спутать с однопользовательским, и чужой не будет молча перезаписан.
Example
const accounts = new ItdAccounts({
storage: new FileMultiTokenStorage('./.itd-sessions.json'),
});
await accounts.restore();Implements
MultiTokenStorage
Constructors
Constructor
new FileMultiTokenStorage(path): FileMultiTokenStorage;Defined in: node.ts:307
Parameters
path
string
путь к файлу сессий. Добавьте его в .gitignore.
Returns
FileMultiTokenStorage
Methods
accounts()
accounts(): Promise<readonly string[]>;Defined in: node.ts:329
Имена сохранённых записей — по ним ItdAccounts.restore() находит кандидатов после перезапуска процесса.
Список ведёт сам адаптер: у файлового и памятного он виден из самой записи, а хранилищу «ключ — значение» придётся держать множество имён рядом с сессиями. Перед восстановлением контейнер читает каждую запись и пропускает оставшийся после выхода одинокий deviceId: без токена или refresh-сессии авторизоваться невозможно. Пустой список означает лишь то, что кандидатов нет, — сами записи при этом могут быть доступны по имени.
Returns
Promise<readonly string[]>
Implementation of
MultiTokenStorage.accountsclear()
clear(account): Promise<void>;Defined in: node.ts:325
Удалить сессию аккаунта. Вызывается при выходе и при неудачном обновлении токена.
Parameters
account
string
Returns
Promise<void>
Implementation of
MultiTokenStorage.clearget()
get(account): Promise<ItdSession | null>;Defined in: node.ts:317
Прочитать сессию аккаунта. null, если её нет.
Parameters
account
string
Returns
Promise<ItdSession | null>
Implementation of
MultiTokenStorage.getset()
set(account, session): Promise<void>;Defined in: node.ts:321
Сохранить сессию аккаунта целиком.
Parameters
account
string
session
ItdSession
Returns
Promise<void>
Implementation of
MultiTokenStorage.set