Перейти к содержанию

Class: ServiceStorage

Storage driver, имплементирующий простое хранилище с помощью StorageService API

StorageService API временно поддерживает дополнительные методы (find, list, clear), не являющиеся частью StorageDriver интерфейса и не могут быть небезопасны для продакшена.

Заметьте

ТОЛЬКО ДЛЯ ПРОТОТИПИРОВАНИЯ. Данное хранилище, несмотря на его надежность, нарушает политику безопасности Spatium в отношении хранения обоих секретов в одном месте. Используя это хранилище, вы храните оба пользовательских секрета на стороне Spatium, тем самым получаете КАСТОДИАЛЬНЫЙ кошелек.

Имплементирует

  • StorageDriver

Конструкторы

constructor

new ServiceStorage(url, auth)

Заметьте

запросы относятся к accountId сессии авторизации, тем самым хранят данные независимо для каждого авторизированного пользователя

Пример

const auth = new AuthorizationSession('https://cloud.spatium.net/authorization/v1', uuid(randomBytes), ['read', 'secret']);
const storage = new ServiceStorage('https://cloud.spatium.net/storage/v1', auth);

await write(storage, { room: '323', topic: 'dinner' }, { foo: 'woo' });

expect(await read(storage, { room: '323', topic: 'dinner' })).toEqual({ foo: 'woo' });
expect(await read(storage, { room: '323', topic: 'dinner' })).toEqual({ foo: 'woo' });

expect(await take(storage, { room: '323', topic: 'dinner' })).toEqual({ foo: 'woo' });
expect(await take(storage, { room: '323', topic: 'dinner' })).toEqual(null);

Параметры

Имя Тип Описание
url string storage service эндпоинт (HTTP(S))
auth AuthorizationSession сессия авторизации AuthorizationSession

Методы

clear

clear(filter): Promise<number>

Deprecated

используется для отслеживания

Параметры

Имя Тип
filter Partial<{}>

Возвращает

Promise<number>


find

find(filter): Promise<null | StoragePayload>

Deprecated

используется для отслеживания

Параметры

Имя Тип
filter Partial<{}>

Возвращает

Promise<null | StoragePayload>


list

list(filter): Promise<StoragePayload[]>

Deprecated

используется для отслеживания

Параметры

Имя Тип
filter Partial<{}>

Возвращает

Promise<StoragePayload[]>


read

read(meta): Promise<unknown>

Параметры

Имя Тип
meta StorageMeta

Возвращает

Promise<unknown>

Имплементация

StorageDriver.read


take

take(meta): Promise<unknown>

Параметры

Имя Тип
meta StorageMeta

Возвращает

Promise<unknown>

Имплементация

StorageDriver.take


write

write(meta, data): Promise<void>

Параметры

Имя Тип
meta StorageMeta
data unknown

Возвращает

Promise<void>

Имплементация

StorageDriver.write