@triviumcapital/trivium-ts-sdk
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -36,2 +36,12 @@ import type { Configuration } from './configuration'; | ||
} | ||
export interface CashAccountActivated { | ||
'accountId': string; | ||
'userId': string; | ||
'type': string; | ||
} | ||
export type CashCallbackEvent = { | ||
type: 'CashAccountActivated'; | ||
} & CashAccountActivated | { | ||
type: 'DepositSettled'; | ||
} & DepositSettled; | ||
export interface CashDeposit { | ||
@@ -98,2 +108,6 @@ 'transactionId': string; | ||
} | ||
export interface DepositSettled { | ||
'transactionId': string; | ||
'type': string; | ||
} | ||
export interface EarningsToDate { | ||
@@ -246,2 +260,16 @@ 'earnings': number; | ||
} | ||
export type SubscribeCallbackRequest = { | ||
type: 'SubscribeCallbackRequestWithSignature'; | ||
} & SubscribeCallbackRequestWithSignature; | ||
export interface SubscribeCallbackRequestWithSignature { | ||
'callbackUrl': string; | ||
'type': string; | ||
} | ||
export type SubscribeCallbackResponse = { | ||
type: 'SubscribeCallbackResponsePublicKey'; | ||
} & SubscribeCallbackResponsePublicKey; | ||
export interface SubscribeCallbackResponsePublicKey { | ||
'publicKey': string; | ||
'type': string; | ||
} | ||
export interface Swift { | ||
@@ -289,2 +317,9 @@ 'accountNumber': string; | ||
} | ||
export interface UserActivated { | ||
'userId': string; | ||
'type': string; | ||
} | ||
export type UserCallbackEvent = { | ||
type: 'UserActivated'; | ||
} & UserActivated; | ||
export type UserDetails = { | ||
@@ -317,2 +352,3 @@ type: 'CompanyDetails'; | ||
postApiV1CashAccount: (createAccountRequest: CreateAccountRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
postApiV1CashEvents: (subscribeCallbackRequest: SubscribeCallbackRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
postApiV1CashRequestDepositAccountid: (accountId: string, depositRequest: DepositRequest, xDeduplicationId?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
@@ -329,2 +365,3 @@ postApiV1CashRequestRedemptionAccountid: (accountId: string, redemptionRequest: RedemptionRequest, xDeduplicationId?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
postApiV1CashAccount(createAccountRequest: CreateAccountRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>>; | ||
postApiV1CashEvents(subscribeCallbackRequest: SubscribeCallbackRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscribeCallbackResponse>>; | ||
postApiV1CashRequestDepositAccountid(accountId: string, depositRequest: DepositRequest, xDeduplicationId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DepositResponse>>; | ||
@@ -341,2 +378,3 @@ postApiV1CashRequestRedemptionAccountid(accountId: string, redemptionRequest: RedemptionRequest, xDeduplicationId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RedemptionResponse>>; | ||
postApiV1CashAccount(createAccountRequest: CreateAccountRequest, options?: any): AxiosPromise<Account>; | ||
postApiV1CashEvents(subscribeCallbackRequest: SubscribeCallbackRequest, options?: any): AxiosPromise<SubscribeCallbackResponse>; | ||
postApiV1CashRequestDepositAccountid(accountId: string, depositRequest: DepositRequest, xDeduplicationId?: string, options?: any): AxiosPromise<DepositResponse>; | ||
@@ -353,2 +391,3 @@ postApiV1CashRequestRedemptionAccountid(accountId: string, redemptionRequest: RedemptionRequest, xDeduplicationId?: string, options?: any): AxiosPromise<RedemptionResponse>; | ||
postApiV1CashAccount(createAccountRequest: CreateAccountRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<Account, any>>; | ||
postApiV1CashEvents(subscribeCallbackRequest: SubscribeCallbackRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<SubscribeCallbackResponse, any>>; | ||
postApiV1CashRequestDepositAccountid(accountId: string, depositRequest: DepositRequest, xDeduplicationId?: string, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<DepositResponse, any>>; | ||
@@ -404,2 +443,3 @@ postApiV1CashRequestRedemptionAccountid(accountId: string, redemptionRequest: RedemptionRequest, xDeduplicationId?: string, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<RedemptionResponse, any>>; | ||
postApiV1User: (userDetails: UserDetails, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
postApiV1UserEvents: (subscribeCallbackRequest: SubscribeCallbackRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
postApiV1UserUseridDocuments: (userId: string, createOnboardingDocumentRequest: CreateOnboardingDocumentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>; | ||
@@ -410,2 +450,3 @@ }; | ||
postApiV1User(userDetails: UserDetails, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<User>>; | ||
postApiV1UserEvents(subscribeCallbackRequest: SubscribeCallbackRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscribeCallbackResponse>>; | ||
postApiV1UserUseridDocuments(userId: string, createOnboardingDocumentRequest: CreateOnboardingDocumentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateOnboardingDocumentResponse>>; | ||
@@ -416,2 +457,3 @@ }; | ||
postApiV1User(userDetails: UserDetails, options?: any): AxiosPromise<User>; | ||
postApiV1UserEvents(subscribeCallbackRequest: SubscribeCallbackRequest, options?: any): AxiosPromise<SubscribeCallbackResponse>; | ||
postApiV1UserUseridDocuments(userId: string, createOnboardingDocumentRequest: CreateOnboardingDocumentRequest, options?: any): AxiosPromise<CreateOnboardingDocumentResponse>; | ||
@@ -422,3 +464,4 @@ }; | ||
postApiV1User(userDetails: UserDetails, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<User, any>>; | ||
postApiV1UserEvents(subscribeCallbackRequest: SubscribeCallbackRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<SubscribeCallbackResponse, any>>; | ||
postApiV1UserUseridDocuments(userId: string, createOnboardingDocumentRequest: CreateOnboardingDocumentRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<CreateOnboardingDocumentResponse, any>>; | ||
} |
@@ -207,2 +207,25 @@ "use strict"; | ||
}), | ||
postApiV1CashEvents: (subscribeCallbackRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { | ||
(0, common_1.assertParamExists)('postApiV1CashEvents', 'subscribeCallbackRequest', subscribeCallbackRequest); | ||
const localVarPath = `/api/v1/cash/events`; | ||
const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); | ||
let baseOptions; | ||
if (configuration) { | ||
baseOptions = configuration.baseOptions; | ||
} | ||
const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options); | ||
const localVarHeaderParameter = {}; | ||
const localVarQueryParameter = {}; | ||
yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-Api-Key", configuration); | ||
yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration); | ||
localVarHeaderParameter['Content-Type'] = 'application/json'; | ||
(0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter); | ||
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; | ||
localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); | ||
localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(subscribeCallbackRequest, localVarRequestOptions, configuration); | ||
return { | ||
url: (0, common_1.toPathString)(localVarUrlObj), | ||
options: localVarRequestOptions, | ||
}; | ||
}), | ||
postApiV1CashRequestDepositAccountid: (accountId, depositRequest, xDeduplicationId, options = {}) => __awaiter(this, void 0, void 0, function* () { | ||
@@ -333,2 +356,11 @@ (0, common_1.assertParamExists)('postApiV1CashRequestDepositAccountid', 'accountId', accountId); | ||
}, | ||
postApiV1CashEvents(subscribeCallbackRequest, options) { | ||
var _a, _b, _c; | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const localVarAxiosArgs = yield localVarAxiosParamCreator.postApiV1CashEvents(subscribeCallbackRequest, options); | ||
const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0; | ||
const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['CashApi.postApiV1CashEvents']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url; | ||
return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); | ||
}); | ||
}, | ||
postApiV1CashRequestDepositAccountid(accountId, depositRequest, xDeduplicationId, options) { | ||
@@ -379,2 +411,5 @@ var _a, _b, _c; | ||
}, | ||
postApiV1CashEvents(subscribeCallbackRequest, options) { | ||
return localVarFp.postApiV1CashEvents(subscribeCallbackRequest, options).then((request) => request(axios, basePath)); | ||
}, | ||
postApiV1CashRequestDepositAccountid(accountId, depositRequest, xDeduplicationId, options) { | ||
@@ -411,2 +446,5 @@ return localVarFp.postApiV1CashRequestDepositAccountid(accountId, depositRequest, xDeduplicationId, options).then((request) => request(axios, basePath)); | ||
} | ||
postApiV1CashEvents(subscribeCallbackRequest, options) { | ||
return (0, exports.CashApiFp)(this.configuration).postApiV1CashEvents(subscribeCallbackRequest, options).then((request) => request(this.axios, this.basePath)); | ||
} | ||
postApiV1CashRequestDepositAccountid(accountId, depositRequest, xDeduplicationId, options) { | ||
@@ -724,2 +762,25 @@ return (0, exports.CashApiFp)(this.configuration).postApiV1CashRequestDepositAccountid(accountId, depositRequest, xDeduplicationId, options).then((request) => request(this.axios, this.basePath)); | ||
}), | ||
postApiV1UserEvents: (subscribeCallbackRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { | ||
(0, common_1.assertParamExists)('postApiV1UserEvents', 'subscribeCallbackRequest', subscribeCallbackRequest); | ||
const localVarPath = `/api/v1/user/events`; | ||
const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); | ||
let baseOptions; | ||
if (configuration) { | ||
baseOptions = configuration.baseOptions; | ||
} | ||
const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options); | ||
const localVarHeaderParameter = {}; | ||
const localVarQueryParameter = {}; | ||
yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-Api-Key", configuration); | ||
yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration); | ||
localVarHeaderParameter['Content-Type'] = 'application/json'; | ||
(0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter); | ||
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; | ||
localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); | ||
localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(subscribeCallbackRequest, localVarRequestOptions, configuration); | ||
return { | ||
url: (0, common_1.toPathString)(localVarUrlObj), | ||
options: localVarRequestOptions, | ||
}; | ||
}), | ||
postApiV1UserUseridDocuments: (userId, createOnboardingDocumentRequest, options = {}) => __awaiter(this, void 0, void 0, function* () { | ||
@@ -774,2 +835,11 @@ (0, common_1.assertParamExists)('postApiV1UserUseridDocuments', 'userId', userId); | ||
}, | ||
postApiV1UserEvents(subscribeCallbackRequest, options) { | ||
var _a, _b, _c; | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const localVarAxiosArgs = yield localVarAxiosParamCreator.postApiV1UserEvents(subscribeCallbackRequest, options); | ||
const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0; | ||
const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['UserApi.postApiV1UserEvents']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url; | ||
return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); | ||
}); | ||
}, | ||
postApiV1UserUseridDocuments(userId, createOnboardingDocumentRequest, options) { | ||
@@ -796,2 +866,5 @@ var _a, _b, _c; | ||
}, | ||
postApiV1UserEvents(subscribeCallbackRequest, options) { | ||
return localVarFp.postApiV1UserEvents(subscribeCallbackRequest, options).then((request) => request(axios, basePath)); | ||
}, | ||
postApiV1UserUseridDocuments(userId, createOnboardingDocumentRequest, options) { | ||
@@ -810,2 +883,5 @@ return localVarFp.postApiV1UserUseridDocuments(userId, createOnboardingDocumentRequest, options).then((request) => request(axios, basePath)); | ||
} | ||
postApiV1UserEvents(subscribeCallbackRequest, options) { | ||
return (0, exports.UserApiFp)(this.configuration).postApiV1UserEvents(subscribeCallbackRequest, options).then((request) => request(this.axios, this.basePath)); | ||
} | ||
postApiV1UserUseridDocuments(userId, createOnboardingDocumentRequest, options) { | ||
@@ -812,0 +888,0 @@ return (0, exports.UserApiFp)(this.configuration).postApiV1UserUseridDocuments(userId, createOnboardingDocumentRequest, options).then((request) => request(this.axios, this.basePath)); |
{ | ||
"name": "@triviumcapital/trivium-ts-sdk", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Typescript Axios Client SDK for trivium APIs", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1", | ||
"test": "mocha", | ||
"test:package": "pkg-ok", | ||
@@ -31,4 +31,10 @@ "build": "tsc --project tsconfig.build.json", | ||
"devDependencies": { | ||
"@types/mocha": "^10.0.7", | ||
"@types/node": "^20.14.11", | ||
"@types/sinon": "^17.0.3", | ||
"mocha": "^10.6.0", | ||
"pkg-ok": "^3.0.0", | ||
"rimraf": "^5.0.1", | ||
"sinon": "^18.0.0", | ||
"ts-node": "^10.9.2", | ||
"typescript": "^5.2.2" | ||
@@ -41,4 +47,5 @@ }, | ||
"exports": { | ||
".": "./dist/index.js" | ||
".": "./dist/index.js", | ||
"./security": "./dist/security.js" | ||
} | ||
} | ||
} |
@@ -38,2 +38,50 @@ # Typescript Axios Client SDK for trivium | ||
const user = await TriviumService.userApi.postApiV1User(companyDetails); // creates trivium user and returns user id | ||
``` | ||
``` | ||
Example server to verify callback requests from Trivium: | ||
```javascript | ||
import express from "express"; | ||
import { verifyTriviumCallbackRequest } from "@triviumcapital/trivium-ts-sdk/security"; | ||
const app = express(); | ||
app.use( | ||
express.json({ | ||
limit: "5mb", | ||
verify: (req, res, buf) => { | ||
req.rawBody = buf.toString(); | ||
}, | ||
}) | ||
); | ||
const port = 3000; | ||
const publicKey = "<public key retrieved from Trivium API>"; | ||
app.put("/webhook", (req, res) => { | ||
const { rawBody } = req; | ||
const timestamp = req.header("Trivium-Timestamp"); | ||
const signature = req.header("Trivium-Signature"); | ||
const isVerified = verifyTriviumCallbackRequest( | ||
signature, | ||
rawBody, | ||
timestamp, | ||
publicKey | ||
); | ||
console.log(`timestamp: ${timestamp}`); | ||
console.log(`signature: ${signature}`); | ||
console.log(`body: ${rawBody}`); | ||
console.log(`isVerified: ${isVerified}`); | ||
if (isVerified) { | ||
res.sendStatus(200); | ||
} else { | ||
res.sendStatus(500); | ||
} | ||
}); | ||
app.listen(port, () => { | ||
console.log(`Example app listening on port ${port}`); | ||
}); | ||
``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
105198
15
1641
2
87
9