Core - creobitcom/Creobit.Backend GitHub Wiki

Набор базовых интерфейсов для работы с бэкендом.

Установка

Не требуется.

Инициализация

Не требуется.

Основные интерфейсы

IApplicationData

Интерфейс для работы с данными приложения.

// Прочитать данные.
void Read<T>(Action<T> onComplete, Action onFailure);

IAuth

Интерфейс аутентификации.

// Выполнен вход.
bool IsLoggedIn { get; }

// Выполнить вход.
void Login(Action onComplete, Action onFailure);

// Выполнить выход.
void Logout(Action onComplete, Action onFailure);

ILink

Интерфейс связывания аккаунтов.

// Выполнить линковку.
void Link(string linkKey, Action onComplete, Action onFailure);

// Запросить ключ для линковки.
void RequestLinkKey(int linkKeyLenght, Action<(string LinkKey, DateTime LinkKeyExpirationTime)> onComplete, Action onFailure);

IStore

Интерфейс работы с магазином.

// Продукты.
IEnumerable<IProduct> Products { get; }

// Загрузить продукты.
void LoadProducts(Action onComplete, Action onFailure);

IUser

Интерфейс пользователя.

// Url аватара.
string AvatarUrl { get; }

// Имя.
string Name { get; }

// Обновить.
void Refresh(Action onComplete, Action onFailure);

// Установить Url аватара.
void SetAvatarUrl(string avatarUrl, Action onComplete, Action onFailure);

// Установить имя.
void SetName(string name, Action onComplete, Action onFailure);

IUserData

Интерфейс для работы с данными пользователя.

// Прочитать данные.
void Read<T>(Action<T> onComplete, Action onFailure) where T : class, new();

// Записать данные.
void Write(object data, Action onComplete, Action onFailure);

Вспомогательные интерфейсы

IExceptionHandler

Интерфейс обработки исключений.

// Обработать исключение.
void Process(Exception exception);

IProduct

Интерфейс продукта.

// Внутренний набор валют.
IEnumerable<(string CurrencyId, uint Count)> BundledCurrencies { get; }

// Внутренний набор продуктов.
IEnumerable<(IProduct Product, uint Count)> BundledProducts { get; }

// Описание продукта.
string Description { get; }

// Идентификатор продукта.
string Id { get; }

// Имя продукта.
string Name { get; }

// Цены.
IEnumerable<(string CurrencyId, uint Price, string CurrencyCode)> Prices { get; }

// Выполнить покупку.
void Purchase(string currencyId, Action onComplete, Action onFailure);

Расширения

TODO

⚠️ **GitHub.com Fallback** ⚠️