@companieshouse/api-sdk-node 2.0.153 → 2.0.155
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/dist/client.d.ts +2 -0
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/services/account-validator/types.d.ts +29 -0
- package/dist/services/account-validator/types.js +41 -0
- package/dist/services/account-validator/types.js.map +1 -0
- package/dist/services/accounts-filing/index.d.ts +1 -0
- package/dist/services/accounts-filing/index.js +6 -0
- package/dist/services/accounts-filing/index.js.map +1 -0
- package/dist/services/accounts-filing/service.d.ts +117 -0
- package/dist/services/accounts-filing/service.js +291 -0
- package/dist/services/accounts-filing/service.js.map +1 -0
- package/dist/services/accounts-filing/types.d.ts +21 -0
- package/dist/services/accounts-filing/types.js +19 -0
- package/dist/services/accounts-filing/types.js.map +1 -0
- package/dist/services/psc-verification-link/service.d.ts +1 -1
- package/dist/services/psc-verification-link/service.js +2 -2
- package/dist/services/psc-verification-link/service.js.map +1 -1
- package/dist/services/psc-verification-link/types.d.ts +2 -2
- package/dist/services/transaction/service.d.ts +14 -5
- package/dist/services/transaction/service.js +38 -7
- package/dist/services/transaction/service.js.map +1 -1
- package/dist/util.d.ts +14 -0
- package/dist/util.js +25 -0
- package/dist/util.js.map +1 -0
- package/package.json +60 -56
package/dist/client.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ import RegisteredEmailAddressService from "./services/registered-email-address/s
|
|
|
25
25
|
import { ClientType } from "./enums";
|
|
26
26
|
import { PostcodeLookupService } from "./services/postcode-lookup";
|
|
27
27
|
import PscVerificationService from "./services/psc-verification-link/service";
|
|
28
|
+
import { AccountsFilingService } from "./services/accounts-filing";
|
|
28
29
|
/**
|
|
29
30
|
* ApiClient is the class that all service objects hang off.
|
|
30
31
|
*/
|
|
@@ -62,5 +63,6 @@ export default class ApiClient {
|
|
|
62
63
|
readonly officerFiling: OfficerFilingService;
|
|
63
64
|
readonly postCodeLookup: PostcodeLookupService;
|
|
64
65
|
readonly pscVerificationService: PscVerificationService;
|
|
66
|
+
readonly accountsFilingService: AccountsFilingService;
|
|
65
67
|
constructor(apiClient: IHttpClient, accountClient: IHttpClient);
|
|
66
68
|
}
|
package/dist/client.js
CHANGED
|
@@ -28,6 +28,7 @@ const service_16 = __importDefault(require("./services/officer-filing/service"))
|
|
|
28
28
|
const service_17 = __importDefault(require("./services/registered-email-address/service"));
|
|
29
29
|
const postcode_lookup_1 = require("./services/postcode-lookup");
|
|
30
30
|
const service_18 = __importDefault(require("./services/psc-verification-link/service"));
|
|
31
|
+
const accounts_filing_1 = require("./services/accounts-filing");
|
|
31
32
|
/**
|
|
32
33
|
* ApiClient is the class that all service objects hang off.
|
|
33
34
|
*/
|
|
@@ -68,6 +69,7 @@ class ApiClient {
|
|
|
68
69
|
this.registeredEmailAddressService = new service_17.default(apiClient);
|
|
69
70
|
this.postCodeLookup = new postcode_lookup_1.PostcodeLookupService(apiClient);
|
|
70
71
|
this.pscVerificationService = new service_18.default(apiClient);
|
|
72
|
+
this.accountsFilingService = new accounts_filing_1.AccountsFilingService(apiClient);
|
|
71
73
|
}
|
|
72
74
|
}
|
|
73
75
|
exports.default = ApiClient;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;;;AACA,kFAAyE;AACzE,iFAAuE;AACvE,iFAAuE;AACvE,6EAA+D;AAC/D,wCAA0D;AAC1D,6CAO2B;AAC3B,iDAAqD;AACrD,wFAAoF;AACpF,4DAA+D;AAC/D,wFAA8E;AAC9E,4FAAsF;AACtF,yFAAgF;AAChF,mFAAyE;AACzE,2FAAwF;AACxF,8EAAgE;AAChE,yFAAoF;AACpF,8EAAiF;AACjF,oEAAqE;AACrE,8DAAwE;AACxE,mFAAmE;AACnE,sFAAyE;AACzE,iFAAqE;AACrE,2FAAwF;AAExF,gEAAmE;AACnE,wFAA8E;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ACCOUNT_URL = exports.API_URL = void 0;
|
|
3
|
+
exports.REQUEST_ID_HEADER = exports.ACCOUNT_URL = exports.API_URL = void 0;
|
|
4
4
|
exports.API_URL = process.env.API_URL || "https://api.companieshouse.gov.uk";
|
|
5
5
|
exports.ACCOUNT_URL = process.env.ACCOUNT_URL || "https://account.companieshouse.gov.uk";
|
|
6
|
+
// Header used to correlate logs between services.
|
|
7
|
+
// This will be used as the context key for logging.
|
|
8
|
+
exports.REQUEST_ID_HEADER = "X-Request-Id";
|
|
6
9
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,mCAAmC,CAAC;AACrE,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,mCAAmC,CAAC;AACrE,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,uCAAuC,CAAC;AAE9F,kDAAkD;AAClD,oDAAoD;AACvC,QAAA,iBAAiB,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PackageType } from "../accounts-filing/types";
|
|
2
|
+
export interface AccountValidatorRequest {
|
|
3
|
+
fileName: string;
|
|
4
|
+
id: string;
|
|
5
|
+
packageType?: PackageType;
|
|
6
|
+
}
|
|
7
|
+
export interface Data {
|
|
8
|
+
balanceSheetDate: string;
|
|
9
|
+
accountsType: string;
|
|
10
|
+
companieshouseRegisteredNumber: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ErrorMessage {
|
|
13
|
+
errorMessage: string;
|
|
14
|
+
}
|
|
15
|
+
export interface Result {
|
|
16
|
+
errorMessages: ErrorMessage[];
|
|
17
|
+
data: Data;
|
|
18
|
+
validationStatus: ValidationStatus;
|
|
19
|
+
}
|
|
20
|
+
export interface AccountValidatorResponse {
|
|
21
|
+
status: RequestStatus;
|
|
22
|
+
result: Result;
|
|
23
|
+
fileId: string;
|
|
24
|
+
fileName: string;
|
|
25
|
+
}
|
|
26
|
+
declare type RequestStatus = "complete" | "pending" | "error";
|
|
27
|
+
declare type ValidationStatus = "OK" | "FAILED";
|
|
28
|
+
export declare function isAccountValidatorResponse(object: any): object is AccountValidatorResponse;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isAccountValidatorResponse = void 0;
|
|
4
|
+
function isAccountValidatorResponse(object) {
|
|
5
|
+
if (typeof object.status !== "string" ||
|
|
6
|
+
typeof object.fileId !== "string" ||
|
|
7
|
+
typeof object.fileName !== "string") {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (!["complete", "pending", "error"].includes(object.status)) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (typeof object.result !== "object" || object.result === null) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const { errorMessages, data, validationStatus } = object.result;
|
|
17
|
+
if ((errorMessages !== undefined && !Array.isArray(errorMessages)) ||
|
|
18
|
+
typeof data !== "object" ||
|
|
19
|
+
typeof validationStatus !== "string") {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (!["OK", "FAILED"].includes(validationStatus)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (typeof data.balance_sheet_date !== "string" ||
|
|
26
|
+
typeof data.accounts_type !== "string" ||
|
|
27
|
+
typeof data.companieshouse_registered_number !== "string") {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
for (const errorMessage of errorMessages !== null && errorMessages !== void 0 ? errorMessages : []) {
|
|
31
|
+
if (typeof errorMessage !== "object" || errorMessage === null) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (typeof errorMessage.errorMessage !== "string") {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
exports.isAccountValidatorResponse = isAccountValidatorResponse;
|
|
41
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/account-validator/types.ts"],"names":[],"mappings":";;;AAkCA,SAAgB,0BAA0B,CAAE,MAAW;IACnD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACrC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC3D,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;QAC7D,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IAChE,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,gBAAgB,KAAK,QAAQ,EAAE;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC9C,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ;QAC5C,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;QACtC,OAAO,IAAI,CAAC,gCAAgC,KAAK,QAAQ,EAAE;QAC1D,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,MAAM,YAAY,IAAI,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,EAAE;QAC5C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE;YAC3D,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,OAAO,YAAY,CAAC,YAAY,KAAK,QAAQ,EAAE;YAC/C,OAAO,KAAK,CAAC;SAChB;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AA1CD,gEA0CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AccountsFilingService } from "./service";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountsFilingService = void 0;
|
|
4
|
+
var service_1 = require("./service");
|
|
5
|
+
Object.defineProperty(exports, "AccountsFilingService", { enumerable: true, get: function () { return service_1.AccountsFilingService; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/accounts-filing/index.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAAzC,gHAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { IHttpClient } from "../../http";
|
|
2
|
+
import Resource, { ApiErrorResponse } from "../resource";
|
|
3
|
+
import { AccountsFilingValidationRequest, AccountsFileValidationResponse, AccountsFilingCompanyResponse, PackageType, ConfirmCompanyRequest } from "./types";
|
|
4
|
+
import { Result } from "../result";
|
|
5
|
+
/**
|
|
6
|
+
* A service class for managing communications with the accounts filing API.
|
|
7
|
+
* This class serves as the interface for various interactions with the accounts filing system.
|
|
8
|
+
* Currently, it includes functionality to check the validation status of an accounts file,
|
|
9
|
+
* but it is designed to accommodate additional features and communications with the accounts filing API
|
|
10
|
+
* as they are implemented.
|
|
11
|
+
*
|
|
12
|
+
* The service handles various HTTP response scenarios, providing appropriate
|
|
13
|
+
* responses based on the different statuses encountered during the file validation process
|
|
14
|
+
* or other interactions with the accounts filing API.
|
|
15
|
+
*/
|
|
16
|
+
export declare class AccountsFilingService {
|
|
17
|
+
private readonly client;
|
|
18
|
+
/**
|
|
19
|
+
* Constructs an AccountsFilingService instance.
|
|
20
|
+
* @param client - The HTTP client for making requests.
|
|
21
|
+
*/
|
|
22
|
+
constructor(client: IHttpClient);
|
|
23
|
+
/**
|
|
24
|
+
* This service will submit the required input from the web to confirm the company.
|
|
25
|
+
* @param companyNumber The company number
|
|
26
|
+
* @param transactionId The transaction Id
|
|
27
|
+
* @returns the company response.
|
|
28
|
+
*/
|
|
29
|
+
confirmCompany(companyNumber: string, transactionId: string, confirmCompanyRequest: ConfirmCompanyRequest, requestId?: string): Promise<Resource<AccountsFilingCompanyResponse>>;
|
|
30
|
+
/**
|
|
31
|
+
* Checks the validation status of an accounts file.
|
|
32
|
+
* Calls the accounts filing api, which in turn calls the accounts validation service.
|
|
33
|
+
* @param fileValidationRequest - The request details for file validation.
|
|
34
|
+
* @returns A promise that resolves to the validation response or an error.
|
|
35
|
+
*/
|
|
36
|
+
checkAccountsFileValidationStatus(fileValidationRequest: AccountsFilingValidationRequest): Promise<Resource<AccountsFileValidationResponse> | ApiErrorResponse>;
|
|
37
|
+
/**
|
|
38
|
+
* Initiates an HTTP GET request to retrieve the status of a file validation process.
|
|
39
|
+
* This method queries the server for the current validation status of a specific file
|
|
40
|
+
* associated with an accounts filing and transaction ID.
|
|
41
|
+
*
|
|
42
|
+
* @param fileValidationRequest - An object containing the identifiers needed to locate the file.
|
|
43
|
+
* This includes the file ID, accounts filing ID, and transaction ID.
|
|
44
|
+
* @returns A promise that resolves to the HTTP response from the server. The response includes
|
|
45
|
+
* the current status of the file validation process.
|
|
46
|
+
* @throws Will throw an error if the HTTP request fails.
|
|
47
|
+
*/
|
|
48
|
+
private getFileValidationRequest;
|
|
49
|
+
/**
|
|
50
|
+
* Processes the HTTP response from the file validation request.
|
|
51
|
+
* This method examines the HTTP status code of the response and delegates
|
|
52
|
+
* to the appropriate handler based on the status code.
|
|
53
|
+
*
|
|
54
|
+
* @param response - The HttpResponse object received from the file validation request.
|
|
55
|
+
* It includes the status code and the response data from the server.
|
|
56
|
+
* @param fileId - The unique identifier of the file whose validation status is being checked.
|
|
57
|
+
* @returns Depending on the response status, this method can return:
|
|
58
|
+
* - The result of the handleOkResponse method if the status is HTTP_STATUS_OK (200),
|
|
59
|
+
* indicating a successful response from the server.
|
|
60
|
+
* - The result of the fileNotFoundResponse method if the status is HTTP_STATUS_NOT_FOUND (404),
|
|
61
|
+
* indicating that the file was not found on the server.
|
|
62
|
+
* - The result of the handleUnexpectedStatus method for any other unexpected status codes,
|
|
63
|
+
* handling any unforeseen responses.
|
|
64
|
+
*/
|
|
65
|
+
private processResponse;
|
|
66
|
+
/**
|
|
67
|
+
* Handles unexpected HTTP response statuses received from the file validation request.
|
|
68
|
+
* This method is used as a catch-all for any HTTP status codes that are not specifically
|
|
69
|
+
* handled in the processResponse method. It constructs a standardized error response
|
|
70
|
+
* which can be used to notify the caller of an unexpected condition.
|
|
71
|
+
*
|
|
72
|
+
* @param response - The HttpResponse object received from the file validation request.
|
|
73
|
+
* This includes the status code and any associated response data.
|
|
74
|
+
* @returns An ApiErrorResponse object that encapsulates the unexpected status code and
|
|
75
|
+
* a descriptive error message. This response can be used to inform the user
|
|
76
|
+
* or calling function about the unexpected server behavior.
|
|
77
|
+
*/
|
|
78
|
+
private handleUnexpectedStatus;
|
|
79
|
+
/**
|
|
80
|
+
* Handles the OK response received from the file validation request.
|
|
81
|
+
* This method checks if the response body conforms to the AccountValidatorResponse structure.
|
|
82
|
+
* If it does, the method returns a successful response, otherwise, it delegates to
|
|
83
|
+
* the invalidResponseType method for further handling.
|
|
84
|
+
*
|
|
85
|
+
* @param response - The HttpResponse object received, expected with a status of HTTP_STATUS_OK.
|
|
86
|
+
* @param fileId - The unique identifier of the file whose validation status is being checked.
|
|
87
|
+
* @returns An object with the HTTP status code and the validated response body,
|
|
88
|
+
* or the result of the invalidResponseType method in case of an incorrect response type.
|
|
89
|
+
*/
|
|
90
|
+
private handleOkResponse;
|
|
91
|
+
/**
|
|
92
|
+
* Generates a standardized error response for the scenario where the requested file is not found.
|
|
93
|
+
*
|
|
94
|
+
* @param fileId - The unique identifier of the file that was not found.
|
|
95
|
+
* @returns An ApiErrorResponse object with the HTTP status of NOT FOUND and an error message.
|
|
96
|
+
*/
|
|
97
|
+
private fileNotFoundResponse;
|
|
98
|
+
/**
|
|
99
|
+
* Constructs an error response for situations where the file validation response is not of the expected type.
|
|
100
|
+
*
|
|
101
|
+
* @param fileId - The unique identifier of the file for which the validation response is incorrect.
|
|
102
|
+
* @param response - The original HttpResponse object received from the file validation request.
|
|
103
|
+
* @returns An ApiErrorResponse object encapsulating the actual HTTP status and a descriptive error message,
|
|
104
|
+
* including the response received for debugging purposes.
|
|
105
|
+
*/
|
|
106
|
+
private invalidResponseType;
|
|
107
|
+
/**
|
|
108
|
+
* Generic error handling method to capture and process exceptions or errors encountered during
|
|
109
|
+
* the file validation request process. Converts unhandled errors into a standardized API error response.
|
|
110
|
+
*
|
|
111
|
+
* @param error - The error or exception caught during the execution of the file validation request.
|
|
112
|
+
* @returns An ApiErrorResponse object with the status of INTERNAL_SERVER_ERROR for unhandled errors,
|
|
113
|
+
* or the original ApiErrorResponse if the error is already in this format.
|
|
114
|
+
*/
|
|
115
|
+
private handleError;
|
|
116
|
+
setPackageType(transactionId: string, accountsFilingId: string, packageType: PackageType, requestId?: string): Promise<Result<void, Error>>;
|
|
117
|
+
}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AccountsFilingService = void 0;
|
|
16
|
+
const types_1 = require("../../services/account-validator/types");
|
|
17
|
+
const mapping_1 = __importDefault(require("../../mapping/mapping"));
|
|
18
|
+
const result_1 = require("../result");
|
|
19
|
+
const util_1 = require("../../util");
|
|
20
|
+
const HTTP_STATUS_OK = 200;
|
|
21
|
+
const HTTP_STATUS_NOT_FOUND = 404;
|
|
22
|
+
const HTTP_STATUS_INTERNAL_SERVER_ERROR = 500;
|
|
23
|
+
/**
|
|
24
|
+
* A service class for managing communications with the accounts filing API.
|
|
25
|
+
* This class serves as the interface for various interactions with the accounts filing system.
|
|
26
|
+
* Currently, it includes functionality to check the validation status of an accounts file,
|
|
27
|
+
* but it is designed to accommodate additional features and communications with the accounts filing API
|
|
28
|
+
* as they are implemented.
|
|
29
|
+
*
|
|
30
|
+
* The service handles various HTTP response scenarios, providing appropriate
|
|
31
|
+
* responses based on the different statuses encountered during the file validation process
|
|
32
|
+
* or other interactions with the accounts filing API.
|
|
33
|
+
*/
|
|
34
|
+
class AccountsFilingService {
|
|
35
|
+
/**
|
|
36
|
+
* Constructs an AccountsFilingService instance.
|
|
37
|
+
* @param client - The HTTP client for making requests.
|
|
38
|
+
*/
|
|
39
|
+
constructor(client) {
|
|
40
|
+
this.client = client;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* This service will submit the required input from the web to confirm the company.
|
|
44
|
+
* @param companyNumber The company number
|
|
45
|
+
* @param transactionId The transaction Id
|
|
46
|
+
* @returns the company response.
|
|
47
|
+
*/
|
|
48
|
+
confirmCompany(companyNumber, transactionId, confirmCompanyRequest, requestId) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const url = `/transactions/${transactionId}/accounts-filing/company/${companyNumber}/confirm`;
|
|
51
|
+
const headers = util_1.addRequestIdHeader(requestId);
|
|
52
|
+
const resp = yield this.client.httpPut(url, confirmCompanyRequest, headers);
|
|
53
|
+
const resource = {
|
|
54
|
+
httpStatusCode: resp.status
|
|
55
|
+
};
|
|
56
|
+
if (resp.error) {
|
|
57
|
+
return resource;
|
|
58
|
+
}
|
|
59
|
+
const body = resp.body;
|
|
60
|
+
resource.resource = mapping_1.default.camelCaseKeys(body);
|
|
61
|
+
return resource;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Checks the validation status of an accounts file.
|
|
66
|
+
* Calls the accounts filing api, which in turn calls the accounts validation service.
|
|
67
|
+
* @param fileValidationRequest - The request details for file validation.
|
|
68
|
+
* @returns A promise that resolves to the validation response or an error.
|
|
69
|
+
*/
|
|
70
|
+
checkAccountsFileValidationStatus(fileValidationRequest) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
try {
|
|
73
|
+
const response = yield this.getFileValidationRequest(fileValidationRequest);
|
|
74
|
+
return this.processResponse(response, fileValidationRequest.fileId);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
return this.handleError(error);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Initiates an HTTP GET request to retrieve the status of a file validation process.
|
|
83
|
+
* This method queries the server for the current validation status of a specific file
|
|
84
|
+
* associated with an accounts filing and transaction ID.
|
|
85
|
+
*
|
|
86
|
+
* @param fileValidationRequest - An object containing the identifiers needed to locate the file.
|
|
87
|
+
* This includes the file ID, accounts filing ID, and transaction ID.
|
|
88
|
+
* @returns A promise that resolves to the HTTP response from the server. The response includes
|
|
89
|
+
* the current status of the file validation process.
|
|
90
|
+
* @throws Will throw an error if the HTTP request fails.
|
|
91
|
+
*/
|
|
92
|
+
getFileValidationRequest(fileValidationRequest) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const { fileId, accountsFilingId, transactionId } = fileValidationRequest;
|
|
95
|
+
return yield this.client.httpGet(`/transactions/${transactionId}/accounts-filing/${accountsFilingId}/file/${fileId}/status`);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Processes the HTTP response from the file validation request.
|
|
100
|
+
* This method examines the HTTP status code of the response and delegates
|
|
101
|
+
* to the appropriate handler based on the status code.
|
|
102
|
+
*
|
|
103
|
+
* @param response - The HttpResponse object received from the file validation request.
|
|
104
|
+
* It includes the status code and the response data from the server.
|
|
105
|
+
* @param fileId - The unique identifier of the file whose validation status is being checked.
|
|
106
|
+
* @returns Depending on the response status, this method can return:
|
|
107
|
+
* - The result of the handleOkResponse method if the status is HTTP_STATUS_OK (200),
|
|
108
|
+
* indicating a successful response from the server.
|
|
109
|
+
* - The result of the fileNotFoundResponse method if the status is HTTP_STATUS_NOT_FOUND (404),
|
|
110
|
+
* indicating that the file was not found on the server.
|
|
111
|
+
* - The result of the handleUnexpectedStatus method for any other unexpected status codes,
|
|
112
|
+
* handling any unforeseen responses.
|
|
113
|
+
*/
|
|
114
|
+
processResponse(response, fileId) {
|
|
115
|
+
switch (response.status) {
|
|
116
|
+
case HTTP_STATUS_OK:
|
|
117
|
+
return this.handleOkResponse(response, fileId);
|
|
118
|
+
case HTTP_STATUS_NOT_FOUND:
|
|
119
|
+
return this.fileNotFoundResponse(fileId);
|
|
120
|
+
default:
|
|
121
|
+
return this.handleUnexpectedStatus(response);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Handles unexpected HTTP response statuses received from the file validation request.
|
|
126
|
+
* This method is used as a catch-all for any HTTP status codes that are not specifically
|
|
127
|
+
* handled in the processResponse method. It constructs a standardized error response
|
|
128
|
+
* which can be used to notify the caller of an unexpected condition.
|
|
129
|
+
*
|
|
130
|
+
* @param response - The HttpResponse object received from the file validation request.
|
|
131
|
+
* This includes the status code and any associated response data.
|
|
132
|
+
* @returns An ApiErrorResponse object that encapsulates the unexpected status code and
|
|
133
|
+
* a descriptive error message. This response can be used to inform the user
|
|
134
|
+
* or calling function about the unexpected server behavior.
|
|
135
|
+
*/
|
|
136
|
+
handleUnexpectedStatus(response) {
|
|
137
|
+
return {
|
|
138
|
+
httpStatusCode: response.status,
|
|
139
|
+
errors: [{
|
|
140
|
+
error: `Unexpected server response: Status Code ${response.status}`
|
|
141
|
+
}]
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Handles the OK response received from the file validation request.
|
|
146
|
+
* This method checks if the response body conforms to the AccountValidatorResponse structure.
|
|
147
|
+
* If it does, the method returns a successful response, otherwise, it delegates to
|
|
148
|
+
* the invalidResponseType method for further handling.
|
|
149
|
+
*
|
|
150
|
+
* @param response - The HttpResponse object received, expected with a status of HTTP_STATUS_OK.
|
|
151
|
+
* @param fileId - The unique identifier of the file whose validation status is being checked.
|
|
152
|
+
* @returns An object with the HTTP status code and the validated response body,
|
|
153
|
+
* or the result of the invalidResponseType method in case of an incorrect response type.
|
|
154
|
+
*/
|
|
155
|
+
handleOkResponse(response, fileId) {
|
|
156
|
+
if (types_1.isAccountValidatorResponse(response.body)) {
|
|
157
|
+
return {
|
|
158
|
+
httpStatusCode: response.status,
|
|
159
|
+
resource: response.body
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return this.invalidResponseType(fileId, response);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Generates a standardized error response for the scenario where the requested file is not found.
|
|
166
|
+
*
|
|
167
|
+
* @param fileId - The unique identifier of the file that was not found.
|
|
168
|
+
* @returns An ApiErrorResponse object with the HTTP status of NOT FOUND and an error message.
|
|
169
|
+
*/
|
|
170
|
+
fileNotFoundResponse(fileId) {
|
|
171
|
+
return {
|
|
172
|
+
httpStatusCode: HTTP_STATUS_NOT_FOUND,
|
|
173
|
+
errors: [{ error: `File with ID [${fileId}] not found.` }]
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Constructs an error response for situations where the file validation response is not of the expected type.
|
|
178
|
+
*
|
|
179
|
+
* @param fileId - The unique identifier of the file for which the validation response is incorrect.
|
|
180
|
+
* @param response - The original HttpResponse object received from the file validation request.
|
|
181
|
+
* @returns An ApiErrorResponse object encapsulating the actual HTTP status and a descriptive error message,
|
|
182
|
+
* including the response received for debugging purposes.
|
|
183
|
+
*/
|
|
184
|
+
invalidResponseType(fileId, response) {
|
|
185
|
+
return {
|
|
186
|
+
httpStatusCode: response.status,
|
|
187
|
+
errors: [{
|
|
188
|
+
error: `File validation response for file [${fileId}] is not the correct type. Response: ${JSON.stringify(response.body, null, 2)}`
|
|
189
|
+
}]
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Generic error handling method to capture and process exceptions or errors encountered during
|
|
194
|
+
* the file validation request process. Converts unhandled errors into a standardized API error response.
|
|
195
|
+
*
|
|
196
|
+
* @param error - The error or exception caught during the execution of the file validation request.
|
|
197
|
+
* @returns An ApiErrorResponse object with the status of INTERNAL_SERVER_ERROR for unhandled errors,
|
|
198
|
+
* or the original ApiErrorResponse if the error is already in this format.
|
|
199
|
+
*/
|
|
200
|
+
handleError(error) {
|
|
201
|
+
if (isApiErrorResponse(error)) {
|
|
202
|
+
return error;
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
httpStatusCode: HTTP_STATUS_INTERNAL_SERVER_ERROR,
|
|
206
|
+
errors: [{ error: "Internal Server Error" }]
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
setPackageType(transactionId, accountsFilingId, packageType, requestId) {
|
|
210
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
+
const url = `/transactions/${transactionId}/accounts-filing/${accountsFilingId}`;
|
|
212
|
+
const packageTypeRequest = {
|
|
213
|
+
packageType: packageType
|
|
214
|
+
};
|
|
215
|
+
const requestBody = mapping_1.default.snakeCaseKeys(packageTypeRequest);
|
|
216
|
+
const headers = util_1.addRequestIdHeader(requestId);
|
|
217
|
+
const resp = yield this.client.httpPut(url, requestBody, headers);
|
|
218
|
+
// Needed due to javascripts switch block scoping rules
|
|
219
|
+
let errorMessage = "";
|
|
220
|
+
switch (resp.status) {
|
|
221
|
+
case 204:
|
|
222
|
+
return new result_1.Success(undefined);
|
|
223
|
+
case 404:
|
|
224
|
+
// The api only checks to see if a transaction with the given id exists. No such test is performed for the accountsFilingId.
|
|
225
|
+
errorMessage = `No transaction with id [${transactionId}] found`;
|
|
226
|
+
return new result_1.Failure(new Error(errorMessage));
|
|
227
|
+
default:
|
|
228
|
+
var errorMessageData = {
|
|
229
|
+
httpStatusCode: resp.status,
|
|
230
|
+
transactionId,
|
|
231
|
+
accountsFilingId,
|
|
232
|
+
responseBody: resp.body
|
|
233
|
+
};
|
|
234
|
+
errorMessage = `An unknown error occured when setting accounts filing package type. ${JSON.stringify(errorMessageData, null, 2)}`;
|
|
235
|
+
return new result_1.Failure(new Error(errorMessage));
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
exports.AccountsFilingService = AccountsFilingService;
|
|
241
|
+
/**
|
|
242
|
+
* Type guard function to check if a given object conforms to the ApiErrorResponse interface.
|
|
243
|
+
* This function performs structural validation by checking the existence and types of certain properties
|
|
244
|
+
* expected in a standard ApiErrorResponse. It is used to determine if an arbitrary object can be treated
|
|
245
|
+
* as an ApiErrorResponse, typically in error handling scenarios.
|
|
246
|
+
*
|
|
247
|
+
* @param object - The object to be checked. It can be any type, as the function will verify its structure.
|
|
248
|
+
* @returns A boolean value indicating whether the object is an ApiErrorResponse. Returns true if the object
|
|
249
|
+
* has the expected structure of an ApiErrorResponse, false otherwise.
|
|
250
|
+
*
|
|
251
|
+
* The function checks for the following properties:
|
|
252
|
+
* - httpStatusCode: Must exist and be of type number.
|
|
253
|
+
* - errors: Must exist and be an array. Each item in the array must be an object with specific properties
|
|
254
|
+
* like 'error', 'errorValues', 'location', 'locationType', and 'type', each with appropriate types.
|
|
255
|
+
*/
|
|
256
|
+
function isApiErrorResponse(object) {
|
|
257
|
+
if (object.hasOwnProperty("httpStatusCode") &&
|
|
258
|
+
typeof object.httpStatusCode !== "number") {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
if (object.hasOwnProperty("errors")) {
|
|
262
|
+
if (!Array.isArray(object.errors)) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
for (const error of object.errors) {
|
|
266
|
+
if (typeof error !== "object" || error === null) {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
if (error.hasOwnProperty("error") && typeof error.error !== "string") {
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
if (error.hasOwnProperty("errorValues") &&
|
|
273
|
+
typeof error.errorValues !== "object") {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
if (error.hasOwnProperty("location") &&
|
|
277
|
+
typeof error.location !== "string") {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
if (error.hasOwnProperty("locationType") &&
|
|
281
|
+
typeof error.locationType !== "string") {
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
if (error.hasOwnProperty("type") && typeof error.type !== "string") {
|
|
285
|
+
return false;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return true;
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/accounts-filing/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AccountValidatorResponse } from "../account-validator/types";
|
|
2
|
+
export declare type AccountsFileValidationResponse = AccountValidatorResponse;
|
|
3
|
+
declare const packageTypes: readonly ["uksef", "cic", "welsh", "limited-partnership", "group-package-400", "group-package-401", "overseas", "audit-exempt-subsidiary", "filing-exempt-subsidiary"];
|
|
4
|
+
declare type ElementType<T extends ReadonlyArray<unknown>> = T extends ReadonlyArray<infer ElementType> ? ElementType : never;
|
|
5
|
+
export declare type PackageType = ElementType<typeof packageTypes>;
|
|
6
|
+
export declare function isPackageType(o: any): o is PackageType;
|
|
7
|
+
export interface AccountsFilingValidationRequest {
|
|
8
|
+
fileId: string;
|
|
9
|
+
accountsFilingId: string;
|
|
10
|
+
transactionId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface AccountsFilingCompanyResponse {
|
|
13
|
+
accountsFilingId: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PackageTypeRequest {
|
|
16
|
+
packageType: PackageType;
|
|
17
|
+
}
|
|
18
|
+
export interface ConfirmCompanyRequest {
|
|
19
|
+
companyName: String;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPackageType = void 0;
|
|
4
|
+
const packageTypes = [
|
|
5
|
+
"uksef",
|
|
6
|
+
"cic",
|
|
7
|
+
"welsh",
|
|
8
|
+
"limited-partnership",
|
|
9
|
+
"group-package-400",
|
|
10
|
+
"group-package-401",
|
|
11
|
+
"overseas",
|
|
12
|
+
"audit-exempt-subsidiary",
|
|
13
|
+
"filing-exempt-subsidiary"
|
|
14
|
+
];
|
|
15
|
+
function isPackageType(o) {
|
|
16
|
+
return packageTypes.includes(o);
|
|
17
|
+
}
|
|
18
|
+
exports.isPackageType = isPackageType;
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/accounts-filing/types.ts"],"names":[],"mappings":";;;AAIA,MAAM,YAAY,GAAG;IACjB,OAAO;IACP,KAAK;IACL,OAAO;IACP,qBAAqB;IACrB,mBAAmB;IACnB,mBAAmB;IACnB,UAAU;IACV,yBAAyB;IACzB,0BAA0B;CACpB,CAAC;AAUX,SAAgB,aAAa,CAAE,CAAM;IACjC,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAFD,sCAEC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PscVerification, PscVerificationResource } from "./types";
|
|
2
2
|
import { IHttpClient } from "../../http";
|
|
3
3
|
import Resource, { ApiErrorResponse } from "../resource";
|
|
4
|
-
export default class {
|
|
4
|
+
export default class PscVerificationService {
|
|
5
5
|
private readonly client;
|
|
6
6
|
constructor(client: IHttpClient);
|
|
7
7
|
postPscVerification(transactionId: string, pscVerification: PscVerification): Promise<Resource<PscVerificationResource> | ApiErrorResponse>;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
class
|
|
12
|
+
class PscVerificationService {
|
|
13
13
|
constructor(client) {
|
|
14
14
|
this.client = client;
|
|
15
15
|
}
|
|
@@ -35,5 +35,5 @@ class default_1 {
|
|
|
35
35
|
resource.resource = body;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
exports.default =
|
|
38
|
+
exports.default = PscVerificationService;
|
|
39
39
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/psc-verification-link/service.ts"],"names":[],"mappings":";;;;;;;;;;;AAOA;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/psc-verification-link/service.ts"],"names":[],"mappings":";;;;;;;;;;;AAOA,MAAqB,sBAAsB;IACvC,YAA8B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAExC,mBAAmB,CAAE,aAAqB,EAAE,eAAgC;;YACrF,MAAM,GAAG,GAAG,iBAAiB,aAAa,gDAAgD,CAAC;YAC3F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAElE,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAChB,OAAO;oBACH,cAAc,EAAE,QAAQ,CAAC,MAAM;oBAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;iBAC3B,CAAA;aACJ;YAED,MAAM,QAAQ,GAAsC;gBAChD,cAAc,EAAE,QAAQ,CAAC,MAAM;aAClC,CAAC;YACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA+B,CAAA;YACrD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAEO,gBAAgB,CAAE,QAA2C,EAAE,IAA6B;QAChG,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7B,CAAC;CACJ;AAzBD,yCAyBC"}
|
|
@@ -27,9 +27,9 @@ export interface VerificationDetails {
|
|
|
27
27
|
}
|
|
28
28
|
export interface PscVerification {
|
|
29
29
|
company_number: string;
|
|
30
|
-
psc_appointment_id
|
|
30
|
+
psc_appointment_id?: string;
|
|
31
31
|
relevant_officer?: RelevantOfficer;
|
|
32
|
-
verification_details
|
|
32
|
+
verification_details?: VerificationDetails;
|
|
33
33
|
}
|
|
34
34
|
export interface Links {
|
|
35
35
|
self: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IHttpClient } from "../../http";
|
|
2
|
-
import { Transaction } from "./types";
|
|
2
|
+
import { Transaction, TransactionResource } from "./types";
|
|
3
3
|
import Resource, { ApiErrorResponse, ApiResponse } from "../resource";
|
|
4
4
|
export default class TransactionService {
|
|
5
5
|
private readonly client;
|
|
@@ -9,19 +9,28 @@ export default class TransactionService {
|
|
|
9
9
|
*
|
|
10
10
|
* @param transaction the transaction to create
|
|
11
11
|
*/
|
|
12
|
-
postTransaction(transaction: Transaction): Promise<Resource<Transaction> | ApiErrorResponse>;
|
|
12
|
+
postTransaction(transaction: Transaction, requestId?: string): Promise<Resource<Transaction> | ApiErrorResponse>;
|
|
13
13
|
/**
|
|
14
14
|
* Put a transaction
|
|
15
15
|
*
|
|
16
|
-
* @param
|
|
16
|
+
* @param {Transaction} transaction The transaction object to be updated
|
|
17
|
+
* @param {string} [requestId] Optional unique identifier for the request used for correlating logs between services
|
|
18
|
+
* @returns {Promise<ApiResponse<Transaction> | ApiErrorResponse>} A promise resolving to the transaction update response
|
|
17
19
|
*/
|
|
18
|
-
putTransaction(transaction: Transaction): Promise<ApiResponse<Transaction> | ApiErrorResponse>;
|
|
20
|
+
putTransaction(transaction: Transaction, requestId?: string): Promise<ApiResponse<Transaction> | ApiErrorResponse>;
|
|
19
21
|
private populateResource;
|
|
20
22
|
/**
|
|
21
23
|
* Get a transaction.
|
|
22
24
|
*
|
|
23
25
|
* @param transactionId the id of the transaction to retrieve
|
|
24
26
|
*/
|
|
25
|
-
getTransaction(transactionId: string): Promise<Resource<Transaction> | ApiErrorResponse>;
|
|
27
|
+
getTransaction(transactionId: string, requestId?: string): Promise<Resource<Transaction> | ApiErrorResponse>;
|
|
28
|
+
/**
|
|
29
|
+
* Patch a transaction.
|
|
30
|
+
*
|
|
31
|
+
* @param transactionId the ID of the transaction to update
|
|
32
|
+
* @param transactionResource the partial transaction resource with updates
|
|
33
|
+
*/
|
|
34
|
+
patchTransaction(transactionId: string, transactionResource: Partial<TransactionResource>, requestId?: string): Promise<Resource<Transaction> | ApiErrorResponse>;
|
|
26
35
|
private mapToResource;
|
|
27
36
|
}
|
|
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const util_1 = require("../../util");
|
|
12
13
|
class TransactionService {
|
|
13
14
|
constructor(client) {
|
|
14
15
|
this.client = client;
|
|
@@ -18,14 +19,15 @@ class TransactionService {
|
|
|
18
19
|
*
|
|
19
20
|
* @param transaction the transaction to create
|
|
20
21
|
*/
|
|
21
|
-
postTransaction(transaction) {
|
|
22
|
+
postTransaction(transaction, requestId) {
|
|
22
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
23
24
|
let url = "/transactions";
|
|
24
25
|
if (transaction.id) {
|
|
25
26
|
url += "/" + transaction.id;
|
|
26
27
|
}
|
|
27
28
|
const transactionResource = this.mapToResource(transaction);
|
|
28
|
-
const
|
|
29
|
+
const headers = util_1.addRequestIdHeader(requestId);
|
|
30
|
+
const resp = yield this.client.httpPost(url, transactionResource, headers);
|
|
29
31
|
if (resp.error) {
|
|
30
32
|
return {
|
|
31
33
|
httpStatusCode: resp.status,
|
|
@@ -44,13 +46,16 @@ class TransactionService {
|
|
|
44
46
|
/**
|
|
45
47
|
* Put a transaction
|
|
46
48
|
*
|
|
47
|
-
* @param
|
|
49
|
+
* @param {Transaction} transaction The transaction object to be updated
|
|
50
|
+
* @param {string} [requestId] Optional unique identifier for the request used for correlating logs between services
|
|
51
|
+
* @returns {Promise<ApiResponse<Transaction> | ApiErrorResponse>} A promise resolving to the transaction update response
|
|
48
52
|
*/
|
|
49
|
-
putTransaction(transaction) {
|
|
53
|
+
putTransaction(transaction, requestId) {
|
|
50
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
55
|
const url = "/transactions/" + transaction.id;
|
|
56
|
+
const headers = util_1.addRequestIdHeader(requestId);
|
|
52
57
|
const transactionResource = this.mapToResource(transaction);
|
|
53
|
-
const resp = yield this.client.httpPut(url, transactionResource);
|
|
58
|
+
const resp = yield this.client.httpPut(url, transactionResource, headers);
|
|
54
59
|
if (resp.error) {
|
|
55
60
|
return {
|
|
56
61
|
httpStatusCode: resp.status,
|
|
@@ -86,10 +91,11 @@ class TransactionService {
|
|
|
86
91
|
*
|
|
87
92
|
* @param transactionId the id of the transaction to retrieve
|
|
88
93
|
*/
|
|
89
|
-
getTransaction(transactionId) {
|
|
94
|
+
getTransaction(transactionId, requestId) {
|
|
90
95
|
return __awaiter(this, void 0, void 0, function* () {
|
|
91
96
|
const url = "/transactions/" + transactionId;
|
|
92
|
-
const
|
|
97
|
+
const headers = util_1.addRequestIdHeader(requestId);
|
|
98
|
+
const resp = yield this.client.httpGet(url, headers);
|
|
93
99
|
if (resp.error) {
|
|
94
100
|
return {
|
|
95
101
|
httpStatusCode: resp.status,
|
|
@@ -119,6 +125,31 @@ class TransactionService {
|
|
|
119
125
|
return resource;
|
|
120
126
|
});
|
|
121
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Patch a transaction.
|
|
130
|
+
*
|
|
131
|
+
* @param transactionId the ID of the transaction to update
|
|
132
|
+
* @param transactionResource the partial transaction resource with updates
|
|
133
|
+
*/
|
|
134
|
+
patchTransaction(transactionId, transactionResource, requestId) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
const url = `/transactions/${transactionId}`;
|
|
137
|
+
const headers = util_1.addRequestIdHeader(requestId);
|
|
138
|
+
const resp = yield this.client.httpPatch(url, transactionResource, headers);
|
|
139
|
+
if (resp.error) {
|
|
140
|
+
return {
|
|
141
|
+
httpStatusCode: resp.status,
|
|
142
|
+
errors: [resp.error]
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const resource = {
|
|
146
|
+
httpStatusCode: resp.status
|
|
147
|
+
};
|
|
148
|
+
const body = resp.body;
|
|
149
|
+
this.populateResource(resource, body);
|
|
150
|
+
return resource;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
122
153
|
mapToResource(transaction) {
|
|
123
154
|
return {
|
|
124
155
|
company_name: transaction.companyName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/transaction/service.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/transaction/service.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Headers } from "./http";
|
|
2
|
+
/**
|
|
3
|
+
* Adds a Request ID header to the existing headers, if the Request ID is provided.
|
|
4
|
+
*
|
|
5
|
+
* The Request ID header is utilised to correlate requests between services, allowing
|
|
6
|
+
* for easier tracking of how requests propagate through a system of microservices.
|
|
7
|
+
* It is also used as a context key for logger systems to maintain tracing information
|
|
8
|
+
* across service calls.
|
|
9
|
+
*
|
|
10
|
+
* @param {string | undefined} requestId The unique identifier for the request, used for tracing.
|
|
11
|
+
* @param {Headers} otherHeaders Existing set of headers to which the Request ID header will be added.
|
|
12
|
+
* @returns {Headers | undefined} A new headers object with the Request ID added, or undefined if no Request ID was provided.
|
|
13
|
+
*/
|
|
14
|
+
export declare function addRequestIdHeader(requestId?: string, otherHeaders?: Headers): Headers | undefined;
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addRequestIdHeader = void 0;
|
|
4
|
+
const config_1 = require("./config");
|
|
5
|
+
/**
|
|
6
|
+
* Adds a Request ID header to the existing headers, if the Request ID is provided.
|
|
7
|
+
*
|
|
8
|
+
* The Request ID header is utilised to correlate requests between services, allowing
|
|
9
|
+
* for easier tracking of how requests propagate through a system of microservices.
|
|
10
|
+
* It is also used as a context key for logger systems to maintain tracing information
|
|
11
|
+
* across service calls.
|
|
12
|
+
*
|
|
13
|
+
* @param {string | undefined} requestId The unique identifier for the request, used for tracing.
|
|
14
|
+
* @param {Headers} otherHeaders Existing set of headers to which the Request ID header will be added.
|
|
15
|
+
* @returns {Headers | undefined} A new headers object with the Request ID added, or undefined if no Request ID was provided.
|
|
16
|
+
*/
|
|
17
|
+
function addRequestIdHeader(requestId, otherHeaders = {}) {
|
|
18
|
+
if (requestId === undefined) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
otherHeaders = otherHeaders !== undefined ? otherHeaders : {};
|
|
22
|
+
return Object.assign(Object.assign({}, otherHeaders), { [config_1.REQUEST_ID_HEADER]: requestId });
|
|
23
|
+
}
|
|
24
|
+
exports.addRequestIdHeader = addRequestIdHeader;
|
|
25
|
+
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAG7C;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAAE,SAAkB,EAAE,eAAwB,EAAE;IAC9E,IAAI,SAAS,KAAK,SAAS,EAAE;QACzB,OAAO,SAAS,CAAA;KACnB;IAED,YAAY,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IAE7D,uCAAY,YAAY,KAAE,CAAC,0BAAiB,CAAC,EAAE,SAAS,IAAG;AAC/D,CAAC;AARD,gDAQC"}
|
package/package.json
CHANGED
|
@@ -1,58 +1,62 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
2
|
+
"name": "@companieshouse/api-sdk-node",
|
|
3
|
+
"version": "2.0.155",
|
|
4
|
+
"main": "./dist/index.js",
|
|
5
|
+
"types": "./dist/index.d.ts",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"test": "mocha",
|
|
13
|
+
"test:coverage": "nyc --check-coverage --reporter=text-summary npm run test",
|
|
14
|
+
"coverage:report": "nyc --reporter=lcov --reporter=text npm run test",
|
|
15
|
+
"lint": "eslint 'src/*.ts' 'src/**/*.ts' 'test/**/*.ts'",
|
|
16
|
+
"lint:fix": "eslint 'src/*.ts' 'src/**/*.ts' 'test/**/*.ts' --fix",
|
|
17
|
+
"prepublishOnly": "[ ! -d node_modules ] && npm install; tsc",
|
|
18
|
+
"postpublish": "rm -rf dist",
|
|
19
|
+
"analyse-code": "sonar-scanner"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"axios": "^1.6.7",
|
|
23
|
+
"camelcase-keys": "~6.2.2",
|
|
24
|
+
"snakecase-keys": "~3.2.0",
|
|
25
|
+
"url-search-params-polyfill": "~8.1.1"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@istanbuljs/nyc-config-typescript": "^1.0.2",
|
|
29
|
+
"@types/axios": "^0.14.0",
|
|
30
|
+
"@types/chai": "^4.2.22",
|
|
31
|
+
"@types/chai-as-promised": "^7.1.4",
|
|
32
|
+
"@types/chai-http": "~4.2.0",
|
|
33
|
+
"@types/mocha": "~8.0.4",
|
|
34
|
+
"@types/node": "^14.14.45",
|
|
35
|
+
"@types/request": "^2.48.8",
|
|
36
|
+
"@types/request-promise-native": "^1.0.18",
|
|
37
|
+
"@types/sinon": "^9.0.11",
|
|
38
|
+
"@types/sinon-chai": "^3.2.8",
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.54.1",
|
|
40
|
+
"@typescript-eslint/parser": "^5.54.1",
|
|
41
|
+
"chai": "~4.2.0",
|
|
42
|
+
"chai-as-promised": "~7.1.1",
|
|
43
|
+
"chai-http": "~4.3.0",
|
|
44
|
+
"eslint": "^7.32.0",
|
|
45
|
+
"eslint-config-standard": "14.1.1",
|
|
46
|
+
"eslint-plugin-import": "2.23.0",
|
|
47
|
+
"eslint-plugin-node": "11.1.0",
|
|
48
|
+
"eslint-plugin-promise": "6.0.0",
|
|
49
|
+
"eslint-plugin-standard": "5.0.0",
|
|
50
|
+
"mocha": "^9.2.0",
|
|
51
|
+
"nock": "^13.3.2",
|
|
52
|
+
"nyc": "^15.1.0",
|
|
53
|
+
"sinon": "^9.2.4",
|
|
54
|
+
"sinon-chai": "~3.5.0",
|
|
55
|
+
"sonarqube-scanner": "^2.8.1",
|
|
56
|
+
"ts-node": "9.1.1",
|
|
57
|
+
"typescript": "4.1.6"
|
|
58
|
+
},
|
|
59
|
+
"overrides": {
|
|
60
|
+
"semver": "7.5.2"
|
|
61
|
+
}
|
|
58
62
|
}
|