Socket
Socket
Sign inDemoInstall

domosed-ts

Package Overview
Dependencies
74
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    domosed-ts

Typescript библиотека для работы с API сервиса «Домосед»


Version published
Weekly downloads
1
decreased by-75%
Maintainers
1
Install size
6.24 MB
Created
Weekly downloads
 

Readme

Source

domosed-ts

Typescript библиотека для работы с API сервиса «Домосед»

Установка

npm i domosed-ts
yarn add domosed-ts

Использование

Пример на Typescript (для Javascript тоже самое, но без типов):

import { 
  Domosed, DomosedOptions, ServerOptions, IncomingPayment, 
  MerchantInfo, Payment, UsersBalance 
} from 'domosed-ts';

const options: DomosedOptions = {
  // Токен для доступа к API
  token: 'myDomosedToken',
  
  // Необязательные параметры
  // URL REST API сервера, в случае если нужно заменить стандартный
  apiUrl: 'https://api.domosed.com/',
  // callback-функция, вызывающаяся при входящем платеже - аналог domosed.onPayment, но сразу в опциях
  onPayment: (payment: IncomingPayment) => { /* code */ }
};

const serverOptions: ServerOptions = {
  // Адрес сервера, куда будут поступать запросы
  // URL и порт не совмещаются в коде, так как часто требуется проксирование через NGINX
  // Здесь (в примере) предусмотрено, что стоит NGINX с proxy_pass на 3000 порт и SSL-сертификатом
  url: 'https://test.domosed.com/transfer',
  // Путь для POST запросов
  path: '/transfer',
  // Порт для сервера
  port: 3000
};

async function run() {
  // Создаем инстанс класса Domosed
  const ds: Domosed = new Domosed(options);

  // Подписка на входящие платежы и старт прослушивания
  // Библиотека автоматически сверяет хэш входящих запросов для защиты от взлома
  ds.onPayment((payment: IncomingPayment) => console.log(payment));
  await ds.start(serverOptions);

  // Делаем универсальный вызов любого метода
  // T - возвращаемый тип функции Promise<T>
  // В данном случае метод редактирования информации о проекте
  const response: string = await ds.call<string>(
    'merchants.edit', 
    { name: 'Имя', avatar: 'Ссылка на аватар', group_id: 1 }
  );
  console.log(response); // => 'New parametrs updated'
  
  // Вызов метода получения информации о проекте
  const merchantInfo: MerchantInfo = await ds.getMerchantInfo();
  console.log(merchantInfo); // => MerchantInfo

  // Вызов метода редактирования информации о проекте
  const editResponse: string = await ds.editMerchantInfo({
    name: 'Имя', 
    avatar: 'Ссылка на аватар', 
    group_id: 0 
  });
  console.log(editResponse); // => 'New parametrs updated'
  
  // Вызов метода для модерации проекта
  const verifyResponse: string = await ds.sendVerify();
  console.log(verifyResponse); // => 'Your project has applied for moderation, please wait moderator answer'

  // Вызов метода перевода монет пользователю
  // Переводим пользователю id1 (Павлу Дурову) 100 монет
  const paymentResponse: Payment = await ds.sendPayment(1, 100);
  console.log(paymentResponse); // => Payment
  
  // Получаем историю переводов
  // Всех переводов в количестве 50 штук (максимум)
  const payments: Payment[] = await ds.getPaymentsHistory('all', 50);
  console.log(payments); // => Payment[]

  // Получаем балансы Павла Дурова и Дани Рубцова
  const balances: UsersBalance = await ds.getBalance([1, 73845201]);
  console.log(balances); // => UsersBalance
  
  // Получаем ссылку для перевода проекту
  const link: string = await ds.getPaymentLink();
  console.log(link); // => 'https://vk.com/app7594692#transfer-0'
}

run();

Ошибки

Все ошибки выбрасываются в консоль. При этом отображается код ошибки и сообщение об ошибке.

Разработчик

Разработчик данной библиотеки (немного измененной версии для TS) - ItzNeviKat.
Разработчик оригинальной библиотеки - ub1x.

Keywords

FAQs

Last updated on 01 Jan 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc