Skip to content

Commit

Permalink
Merge pull request #111 from dmatuszczak/SP-999
Browse files Browse the repository at this point in the history
SP-999 Node.js: Add linter / formatter for examples
  • Loading branch information
bobbrodie authored Jul 25, 2024
2 parents 006db29 + 4328b35 commit 3e36c9f
Show file tree
Hide file tree
Showing 14 changed files with 202 additions and 180 deletions.
4 changes: 2 additions & 2 deletions examples/ClientProvider.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {Client} from "../src";
import { Client } from '../src';

export class ClientProvider {
static create(): Client {
Expand All @@ -8,4 +8,4 @@ export class ClientProvider {
static createPos(): Client {
return Client.createPosClient('somePosToken');
}
}
}
14 changes: 7 additions & 7 deletions examples/General/UseLogger.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import {LoggerProvider} from "../../src/Logger/LoggerProvider";
import {BitPayLogger} from "../../src/Logger/BitPayLogger";
import { LoggerProvider } from '../../src/Logger/LoggerProvider';
import { BitPayLogger } from '../../src/Logger/BitPayLogger';

class UseLogger {
export class UseLogger {
public execute(): void {
const logger: BitPayLogger = {
logError(message: string): void {
console.log(message);
},

logRequest(method: string, endpoint: string, json: string | null): void {
console.log(method + ' ' + endpoint + ' ' + json)
console.log(method + ' ' + endpoint + ' ' + json);
},

logResponse(method: string, endpoint: string, json: string): void {
console.log(method + ' ' + endpoint + ' ' + json)
console.log(method + ' ' + endpoint + ' ' + json);
}
}
};

LoggerProvider.setLogger(logger);
}
}
}
39 changes: 20 additions & 19 deletions examples/Merchant/BillRequests.ts
Original file line number Diff line number Diff line change
@@ -1,43 +1,44 @@
import {ClientProvider} from "../ClientProvider";
import {Bill} from "../../src/Model";
import {Item} from "../../src/Model/Bill/Item";
import { ClientProvider } from '../ClientProvider';
import { Bill } from '../../src/Model';
import { Item } from '../../src/Model/Bill/Item';

class BillRequests {
public async createBill(): Promise<void> {
export class BillRequests {
public async createBill() {
const client = ClientProvider.create();

const bill = new Bill('someNumber', "USD", "some@email.com", [])
await client.createBill(bill);
const bill = new Bill('someNumber', 'USD', 'some@email.com', []);
return client.createBill(bill);
}

public async getBill(): Promise<void> {
public async getBill() {
const client = ClientProvider.create();

// Get one bill
const bill = await client.getBill('someBillId');
return await client.getBill('someBillId');
}

// Get bills by status
const bills = await client.getBills('draft');
public async getBills() {
const client = ClientProvider.create();
return await client.getBills('draft');
}

public async updateBill(): Promise<void> {
public async updateBill() {
const client = ClientProvider.create();

const item = new Item()
const item = new Item();
item.price = 12.34;
item.quantity = 2;
item.description = 'someDescription';

const bill = new Bill('someNumber', "USD", "some@email.com", []);
const bill = new Bill('someNumber', 'USD', 'some@email.com', []);

if (bill.id) {
await client.updateBill(bill, bill.id)
await client.updateBill(bill, bill.id);
}
}

public async deliverBillViaEmail(): Promise<void> {
public async deliverBillViaEmail() {
const client = ClientProvider.create();

await client.deliverBill('someBillId', 'myBillToken');
return await client.deliverBill('someBillId', 'myBillToken');
}
}
}
50 changes: 27 additions & 23 deletions examples/Merchant/InvoiceRequests.ts
Original file line number Diff line number Diff line change
@@ -1,35 +1,38 @@
import {Invoice} from "../../src/Model";
import {Buyer} from "../../src/Model/Invoice/Buyer";
import {ClientProvider} from "../ClientProvider";
import { Invoice } from '../../src/Model';
import { Buyer } from '../../src/Model/Invoice/Buyer';
import { ClientProvider } from '../ClientProvider';

class InvoiceRequests {
public async createInvoice(): Promise<void> {
export class InvoiceRequests {
public async createInvoice() {
const invoice = new Invoice(10.0, 'USD');
invoice.notificationEmail = 'some@email.com';
invoice.notificationURL = 'https://some-url.com';

const buyer = new Buyer();
buyer.name = "Test";
buyer.email = "test@email.com";
buyer.address1 = "168 General Grove";
buyer.country = "AD";
buyer.locality = "Port Horizon";
buyer.name = 'Test';
buyer.email = 'test@email.com';
buyer.address1 = '168 General Grove';
buyer.country = 'AD';
buyer.locality = 'Port Horizon';
buyer.notify = true;
buyer.phone = "+990123456789";
buyer.postalCode = "KY7 1TH";
buyer.region = "New Port";
buyer.phone = '+990123456789';
buyer.postalCode = 'KY7 1TH';
buyer.region = 'New Port';

invoice.buyer = buyer
invoice.buyer = buyer;

const client = ClientProvider.create();

const createdInvoice = await client.createInvoice(invoice);
return await client.createInvoice(invoice);
}

public async getInvoice(): Promise<void> {
public async getInvoice() {
const client = ClientProvider.create();

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const invoice = client.getInvoice('myInvoiceId');

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const invoiceByGuid = client.getInvoiceByGuid('invoiceGuid'); // we can add a GUID during the invoice creation

const params = {
Expand All @@ -40,29 +43,30 @@ class InvoiceRequests {
limit: null,
offset: null
};
const invoices = await client.getInvoices(params)

return await client.getInvoices(params);
}

public async updateInvoice(): Promise<void> {
public async updateInvoice() {
const client = ClientProvider.create();
const params = {
buyerSms: '123321312'
};

const updatedInvoice = await client.updateInvoice('someId', params)
return await client.updateInvoice('someId', params);
}

public async cancelInvoice(): Promise<void> {
public async cancelInvoice() {
const client = ClientProvider.create();

await client.cancelInvoice('someInvoiceId');

await client.cancelInvoiceByGuid('someGuid');
}

public async requestInvoiceWebhookToBeResent(): Promise<void> {
public async requestInvoiceWebhookToBeResent() {
const client = ClientProvider.create();

await client.deliverBill('someBillId', 'myBillToken');
return await client.deliverBill('someBillId', 'myBillToken');
}
}
}
15 changes: 8 additions & 7 deletions examples/Merchant/LedgerRequests.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import {ClientProvider} from "../ClientProvider";
import { ClientProvider } from '../ClientProvider';
import { LedgerEntryInterface, LedgerInterface } from '../../src/Model';

class LedgerRequests {
public async getLedgers(): Promise<void> {
export class LedgerRequests {
public async getLedgers(): Promise<LedgerInterface[]> {
const client = ClientProvider.create();

const ledgers = await client.getLedgers()
return await client.getLedgers();
}

public async getLedgerEntries(): Promise<void> {
public async getLedgerEntries(): Promise<LedgerEntryInterface[]> {
const client = ClientProvider.create();

const oneMonthAgo = new Date();
Expand All @@ -16,6 +17,6 @@ class LedgerRequests {
const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);

const ledgerEntries = await client.getLedgerEntries('USD', oneMonthAgo, tomorrow)
return await client.getLedgerEntries('USD', oneMonthAgo, tomorrow);
}
}
}
54 changes: 30 additions & 24 deletions examples/Merchant/RefundRequests.ts
Original file line number Diff line number Diff line change
@@ -1,48 +1,54 @@
import {ClientProvider} from "../ClientProvider";
import {Refund} from "../../src/Model/Invoice/Refund";
import { ClientProvider } from '../ClientProvider';
import { Refund } from '../../src/Model/Invoice/Refund';

class RefundRequests {
public async createRefund(): Promise<void> {
export class RefundRequests {
public async createRefund() {
const client = ClientProvider.create();

const refund = new Refund(12, "someInvoiceId", "someToken");
const refund = new Refund(12, 'someInvoiceId', 'someToken');

const result = await client.createRefund(refund);
return await client.createRefund(refund);
}

public async updateRefund(): Promise<void> {
public async updateRefund() {
const client = ClientProvider.create();

// Update a refund by ID
const updateRefund = await client.updateRefund('myRefundId','created');
return await client.updateRefund('myRefundId', 'created');
}

public async updateRefundByGuid() {
const client = ClientProvider.create();

// Update a refund by GUID
const updatedRefundByGuid = await client.updateRefundByGuid('myRefundId','created');
return await client.updateRefundByGuid('myRefundGuid', 'created');
}

public async getRefund(): Promise<void> {
public async getRefund() {
const client = ClientProvider.create();

// Get a refund by ID
const refund = await client.getRefund('someRefundId');
return await client.getRefund('someRefundId');
}

// Get a refund by GUID
const refundByGuid = await client.getRefundByGuid('someGuid');
public async getRefundByGuid() {
const client = ClientProvider.create();

await client.getRefundByGuid('someGuid');
}

public async cancelRefund(): Promise<void> {
public async cancelRefund() {
const client = ClientProvider.create();

// Cancel a refund by ID
const cancelRefund = await client.cancelRefund('myRefundId');
return await client.cancelRefund('myRefundId');
}

public async cancleRefundByGuid() {
const client = ClientProvider.create();

// Cancel a refund by GUID
const cancelRefundByGuid = await client.cancelRefundByGuid('someGuid');
return await client.cancelRefundByGuid('someGuid');
}

public async requestRefundNotificationToBeResent(): Promise<void> {
public async requestRefundNotificationToBeResent() {
const client = ClientProvider.create();

const result = await client.sendRefundNotification('someRefundId');
return await client.sendRefundNotification('someRefundId');
}
}
}
26 changes: 15 additions & 11 deletions examples/Merchant/SettlementRequests.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
import {ClientProvider} from "../ClientProvider";
import {Settlement} from "../../src/Model/Settlement/Settlement";
import { ClientProvider } from '../ClientProvider';
import { Settlement } from '../../src/Model/Settlement/Settlement';

class SettlementRequests {
public async getSettlement(): Promise<void> {
export class SettlementRequests {
public async getSettlement() {
const client = ClientProvider.create();

// Get one settlement
const settlement = await client.getSettlement('someSettlementId');
return await client.getSettlement('someSettlementId');
}

public async getSettlementsByFilters() {
const client = ClientProvider.create();

// Get settlements by filter
const params = {
startDate: '2021-05-10',
endDate: '2021-05-12',
status: 'processing',
limit: 100,
offset: 0
};
const settlements = await client.getSettlements(params)

return await client.getSettlements(params);
}

public async fetchReconciliationReport(): Promise<void> {
public async fetchReconciliationReport() {
const client = ClientProvider.create();

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const settlement = new Settlement();

const result = await client.getSettlementReconciliationReport('settlementId', 'settlementToken');
return await client.getSettlementReconciliationReport('settlementId', 'settlementToken');
}
}
}
Loading

0 comments on commit 3e36c9f

Please sign in to comment.