@yash101/schwab-api-client
Version:
A TypeScript client library for interacting with the Charles Schwab Brokerage APIs.
60 lines • 2.66 kB
JavaScript
;
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