@matech/thebigpos-sdk 3.30.0-main-8913 → 3.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +3 -0
- package/README.md +0 -39
- package/dist/index.d.ts +566 -541
- package/dist/index.js +22 -8
- package/dist/index.js.map +1 -1
- package/index.js +1 -1
- package/package.json +10 -24
- package/scripts/apply-json-patch-content-type.js +56 -0
- package/src/index.ts +45 -13
- package/tsconfig.json +27 -0
- package/dist/index.cjs +0 -6718
- package/dist/index.cjs.map +0 -7
package/package.json
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matech/thebigpos-sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.31.0",
|
|
4
4
|
"description": "The Big POS Typescript SDK",
|
|
5
|
-
"main": "dist/index.
|
|
6
|
-
"module": "dist/index.js",
|
|
7
|
-
"react-native": "dist/index.js",
|
|
5
|
+
"main": "dist/index.js",
|
|
8
6
|
"types": "dist/index.d.ts",
|
|
9
|
-
"files": [
|
|
10
|
-
"dist",
|
|
11
|
-
"src",
|
|
12
|
-
"index.js"
|
|
13
|
-
],
|
|
14
7
|
"scripts": {
|
|
15
|
-
"build": "rimraf dist && tsc
|
|
16
|
-
"
|
|
8
|
+
"build": "rimraf dist && tsc",
|
|
9
|
+
"test": "mocha -r ts-node/register 'src/api_test.spec.ts' --exit",
|
|
17
10
|
"browserify": "tsc && esbuild dist/index.js --bundle --minify --sourcemap --global-name=thebigpos --outfile=dist/thebigpos.min.js",
|
|
18
11
|
"prepare": "husky"
|
|
19
12
|
},
|
|
@@ -33,22 +26,15 @@
|
|
|
33
26
|
"url": "https://github.com/MortgageAutomationTechnologies/thebigpos-sdk-typescript/issues"
|
|
34
27
|
},
|
|
35
28
|
"homepage": "https://github.com/MortgageAutomationTechnologies/thebigpos-sdk-typescript#readme",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
},
|
|
39
|
-
"peerDependencies": {
|
|
40
|
-
"axios": "^1"
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"axios": "^1.7.7"
|
|
41
31
|
},
|
|
42
32
|
"devDependencies": {
|
|
43
|
-
"
|
|
44
|
-
"esbuild": "^0.28.1",
|
|
33
|
+
"esbuild": "^0.27.0",
|
|
45
34
|
"husky": "^9.1.5",
|
|
46
|
-
"rimraf": "6.1.
|
|
35
|
+
"rimraf": "6.1.1",
|
|
36
|
+
"ts-node": "^10.9.2",
|
|
47
37
|
"typescript": "^5.5.4"
|
|
48
38
|
},
|
|
49
|
-
"
|
|
50
|
-
"brace-expansion": "^5.0.12",
|
|
51
|
-
"follow-redirects": "^1.16.1"
|
|
52
|
-
},
|
|
53
|
-
"swaggerSha256": "559b6b2ba69a254a45166ef53bfe5e6c02b96b80947924d3ce04ecae65b0e095"
|
|
39
|
+
"swaggerSha256": "9b35860ed24aa28054e297e6652c9fb9bfd3628605d9fc79e3c69cdb7d131400"
|
|
54
40
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This script is meant to run after the SDK has been generated.
|
|
3
|
+
|
|
4
|
+
- It updates the generated code to ensure that all PATCH methods use ContentType.JsonPatch.
|
|
5
|
+
- It also ensures that the ContentType enum includes JsonPatch and modifies the Operation interface
|
|
6
|
+
to allow any value for the `value` property instead of just object or null.
|
|
7
|
+
|
|
8
|
+
This is necessary because the SDK generation does not currently handle these cases correctly.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const fs = require('fs')
|
|
12
|
+
|
|
13
|
+
const path = require('path').resolve(__dirname, '../src/index.ts')
|
|
14
|
+
|
|
15
|
+
if (!fs.existsSync(path)) {
|
|
16
|
+
console.error(`Error: File not found at path "${path}". Please ensure the SDK has been generated.`)
|
|
17
|
+
process.exit(1)
|
|
18
|
+
}
|
|
19
|
+
let content
|
|
20
|
+
try {
|
|
21
|
+
content = fs.readFileSync(path, 'utf8')
|
|
22
|
+
} catch (err) {
|
|
23
|
+
console.error(`Error: Unable to read file at path "${path}". Details: ${err.message}`)
|
|
24
|
+
process.exit(1)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Update PATCH methods to use ContentType.JsonPatch
|
|
28
|
+
content = content.replace(
|
|
29
|
+
/(method:\s*"PATCH"[\s\S]+?)type:\s*ContentType\.Json/g,
|
|
30
|
+
(match) => match.replace('ContentType.Json', 'ContentType.JsonPatch')
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
// Ensure JsonPatch is included in the ContentType enum
|
|
34
|
+
content = content.replace(
|
|
35
|
+
/export enum ContentType\s*{([\s\S]*?)}/,
|
|
36
|
+
(match, enumBody) => {
|
|
37
|
+
if (enumBody.includes('JsonPatch')) return match
|
|
38
|
+
const insertion = ` JsonPatch = "application/json-patch+json",\n `
|
|
39
|
+
return `export enum ContentType {\n${insertion}${enumBody.trim()}\n}`
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
// Fix the Operation interface to allow any value
|
|
44
|
+
content = content.replace(
|
|
45
|
+
/export interface Operation\s*{([\s\S]*?)}/,
|
|
46
|
+
(match, body) => {
|
|
47
|
+
const updated = body.replace(
|
|
48
|
+
/value\?:\s*object\s*\|?\s*null?;/,
|
|
49
|
+
'value?: string | number | boolean | null | object;'
|
|
50
|
+
)
|
|
51
|
+
return `export interface Operation {\n ${updated.trim()}\n}`
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
fs.writeFileSync(path, content)
|
|
56
|
+
console.log('SDK patch complete: All PATCH methods now use ContentType.JsonPatch.')
|
package/src/index.ts
CHANGED
|
@@ -319,7 +319,8 @@ export type LoanLogType =
|
|
|
319
319
|
| "LosFieldWriteBack"
|
|
320
320
|
| "ReferrerChangeDiscarded"
|
|
321
321
|
| "TaskEdited"
|
|
322
|
-
| "SigningMethodChanged"
|
|
322
|
+
| "SigningMethodChanged"
|
|
323
|
+
| "ConsumerConnectUnlinked";
|
|
323
324
|
|
|
324
325
|
export type LoanLienPosition = "First" | "Subordinate";
|
|
325
326
|
|
|
@@ -6135,6 +6136,12 @@ export interface LosSyncStep {
|
|
|
6135
6136
|
atUtc: string;
|
|
6136
6137
|
}
|
|
6137
6138
|
|
|
6139
|
+
export interface LosUnlinkedRecipient {
|
|
6140
|
+
email: string;
|
|
6141
|
+
contactType: string;
|
|
6142
|
+
recipientId: string;
|
|
6143
|
+
}
|
|
6144
|
+
|
|
6138
6145
|
export interface LosWebhook {
|
|
6139
6146
|
/** @format uuid */
|
|
6140
6147
|
id: string;
|
|
@@ -9564,7 +9571,8 @@ export type LoanLogTypeEnum =
|
|
|
9564
9571
|
| "LosFieldWriteBack"
|
|
9565
9572
|
| "ReferrerChangeDiscarded"
|
|
9566
9573
|
| "TaskEdited"
|
|
9567
|
-
| "SigningMethodChanged"
|
|
9574
|
+
| "SigningMethodChanged"
|
|
9575
|
+
| "ConsumerConnectUnlinked";
|
|
9568
9576
|
|
|
9569
9577
|
export type LoanLogDetailLevelEnum = "None" | "Info" | "Warning" | "Error";
|
|
9570
9578
|
|
|
@@ -9590,7 +9598,8 @@ export type LoanLogDetailTypeEnum =
|
|
|
9590
9598
|
| "LosFieldWriteBack"
|
|
9591
9599
|
| "ReferrerChangeDiscarded"
|
|
9592
9600
|
| "TaskEdited"
|
|
9593
|
-
| "SigningMethodChanged"
|
|
9601
|
+
| "SigningMethodChanged"
|
|
9602
|
+
| "ConsumerConnectUnlinked";
|
|
9594
9603
|
|
|
9595
9604
|
export type LoanProgressWidgetConfigTypeEnum = "LoanProgress";
|
|
9596
9605
|
|
|
@@ -10205,15 +10214,7 @@ export class HttpClient<SecurityDataType = unknown> {
|
|
|
10205
10214
|
property instanceof Array ? property : [property];
|
|
10206
10215
|
|
|
10207
10216
|
for (const formItem of propertyContent) {
|
|
10208
|
-
|
|
10209
|
-
const isReactNativeFile =
|
|
10210
|
-
!!formItem &&
|
|
10211
|
-
typeof formItem === "object" &&
|
|
10212
|
-
"uri" in formItem &&
|
|
10213
|
-
"name" in formItem &&
|
|
10214
|
-
"type" in formItem;
|
|
10215
|
-
const isFileType =
|
|
10216
|
-
isReactNativeFile || formItem instanceof Blob || formItem instanceof File;
|
|
10217
|
+
const isFileType = formItem instanceof Blob || formItem instanceof File;
|
|
10217
10218
|
formData.append(
|
|
10218
10219
|
key,
|
|
10219
10220
|
isFileType ? formItem : this.stringifyFormItem(formItem),
|
|
@@ -10275,7 +10276,7 @@ export class HttpClient<SecurityDataType = unknown> {
|
|
|
10275
10276
|
|
|
10276
10277
|
/**
|
|
10277
10278
|
* @title The Big POS API
|
|
10278
|
-
* @version v3.
|
|
10279
|
+
* @version v3.31.0
|
|
10279
10280
|
* @termsOfService https://www.thebigpos.com/terms-of-use/
|
|
10280
10281
|
* @contact Mortgage Automation Technologies <support@thebigpos.com> (https://www.thebigpos.com/terms-of-use/)
|
|
10281
10282
|
*/
|
|
@@ -16772,6 +16773,7 @@ export class Api<
|
|
|
16772
16773
|
* @response `204` `void` No Content
|
|
16773
16774
|
* @response `400` `ProblemDetails` Bad Request
|
|
16774
16775
|
* @response `422` `ProblemDetails` Unprocessable Content
|
|
16776
|
+
* @response `423` `ProblemDetails` Locked
|
|
16775
16777
|
*/
|
|
16776
16778
|
bulkSetLoanCustomFieldValues: (
|
|
16777
16779
|
loanId: string,
|
|
@@ -16799,6 +16801,7 @@ export class Api<
|
|
|
16799
16801
|
* @response `400` `ProblemDetails` Bad Request
|
|
16800
16802
|
* @response `404` `ProblemDetails` Not Found
|
|
16801
16803
|
* @response `422` `ProblemDetails` Unprocessable Content
|
|
16804
|
+
* @response `423` `ProblemDetails` Locked
|
|
16802
16805
|
*/
|
|
16803
16806
|
setLoanCustomFieldValue: (
|
|
16804
16807
|
loanId: string,
|
|
@@ -18923,6 +18926,35 @@ export class Api<
|
|
|
18923
18926
|
...params,
|
|
18924
18927
|
}),
|
|
18925
18928
|
|
|
18929
|
+
/**
|
|
18930
|
+
* No description
|
|
18931
|
+
*
|
|
18932
|
+
* @tags LoanSigningMethod
|
|
18933
|
+
* @name UnlinkLoanFromConsumerConnect
|
|
18934
|
+
* @summary Unlink the loan's borrowers from Consumer Connect
|
|
18935
|
+
* @request POST:/api/loans/{loanId}/signing-method/unlink
|
|
18936
|
+
* @secure
|
|
18937
|
+
* @response `200` `(LosUnlinkedRecipient)[]` OK
|
|
18938
|
+
* @response `400` `ProblemDetails` Bad Request
|
|
18939
|
+
* @response `403` `ProblemDetails` Forbidden
|
|
18940
|
+
* @response `404` `ProblemDetails` Not Found
|
|
18941
|
+
* @response `422` `ProblemDetails` Unprocessable Content
|
|
18942
|
+
* @response `423` `ProblemDetails` Locked
|
|
18943
|
+
* @response `429` `ProblemDetails` Too Many Requests
|
|
18944
|
+
* @response `504` `void` Gateway Timeout
|
|
18945
|
+
*/
|
|
18946
|
+
unlinkLoanFromConsumerConnect: (
|
|
18947
|
+
loanId: string,
|
|
18948
|
+
params: RequestParams = {},
|
|
18949
|
+
) =>
|
|
18950
|
+
this.request<LosUnlinkedRecipient[], ProblemDetails | void>({
|
|
18951
|
+
path: `/api/loans/${loanId}/signing-method/unlink`,
|
|
18952
|
+
method: "POST",
|
|
18953
|
+
secure: true,
|
|
18954
|
+
format: "json",
|
|
18955
|
+
...params,
|
|
18956
|
+
}),
|
|
18957
|
+
|
|
18926
18958
|
/**
|
|
18927
18959
|
* No description
|
|
18928
18960
|
*
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es6",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"allowJs": true,
|
|
6
|
+
"sourceMap": true,
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"baseUrl": "./",
|
|
11
|
+
"declaration": true,
|
|
12
|
+
"paths": {
|
|
13
|
+
"*": [
|
|
14
|
+
"node_modules/*"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"typeRoots": [
|
|
18
|
+
"./node_modules/@types"
|
|
19
|
+
],
|
|
20
|
+
"esModuleInterop": true,
|
|
21
|
+
"skipLibCheck": true,
|
|
22
|
+
"forceConsistentCasingInFileNames": true,
|
|
23
|
+
"resolveJsonModule": true
|
|
24
|
+
},
|
|
25
|
+
"include": ["./src/**/*"],
|
|
26
|
+
"exclude": ["./dist"]
|
|
27
|
+
}
|