UNPKG

@yash101/schwab-api-client

Version:

A TypeScript client library for interacting with the Charles Schwab Brokerage APIs.

60 lines 2.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTransactionsForAccount = getTransactionsForAccount; exports.getTransactionForAccountByTransactionId = getTransactionForAccountByTransactionId; const assert_1 = __importDefault(require("assert")); async function getTransactionsForAccount(request, token, apiOptions) { (0, assert_1.default)(request.accountNumber, "accountNumber is required"); (0, assert_1.default)(request.startDate, "startDate is required"); (0, assert_1.default)(request.endDate, "endDate is required"); (0, assert_1.default)(request.types, "types is required"); const uri = new URL(`/trader/v1/accounts/${request.accountNumber}/transactions`, apiOptions.getBaseUri() || 'https://api.schwabapi.com'); uri.searchParams.append('startDate', request.startDate.toISOString()); uri.searchParams.append('endDate', request.endDate.toISOString()); uri.searchParams.append('types', request.types.join(',')); if (request.symbol) { uri.searchParams.append('symbol', request.symbol); } try { const response = await fetch(uri.toString(), { method: 'GET', headers: { Authorization: token.getAuthHeader(), 'Content-Type': 'application/json', 'Accept': 'application/json', }, }); const json = await response.json(); return (response.ok) ? json : json; } catch (e) { throw new Error(`Error fetching transactions: ${e.message}`); } } async function getTransactionForAccountByTransactionId(request, token, apiOptions) { (0, assert_1.default)(request.accountNumber, "accountNumber is required"); (0, assert_1.default)(request.transactionId, "transactionId is required"); const uri = new URL(`/trader/v1/accounts/${request.accountNumber}/${request.transactionId}`, apiOptions.getBaseUri() || 'https://api.schwabapi.com'); try { const response = await fetch(uri.toString(), { method: 'GET', headers: { Authorization: token.getAuthHeader(), 'Content-Type': 'application/json', 'Accept': 'application/json', }, }); const json = await response.json(); return (response.ok) ? json : json; } catch (e) { throw new Error(`Error fetching transaction: ${e.message}`); } } //# sourceMappingURL=transactions.api.js.map