scanoss 0.17.3 → 0.19.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/CHANGELOG.md +16 -0
- package/build/main/cli/bin/cli-bin.js +8 -2
- package/build/main/cli/commands/crypto.js +13 -8
- package/build/main/cli/commands/dep.js +17 -3
- package/build/main/cli/commands/scan.js +34 -27
- package/build/main/index.d.ts +4 -4
- package/build/main/index.js +4 -4
- package/build/main/sdk/BaseConfig.d.ts +87 -11
- package/build/main/sdk/BaseConfig.js +92 -7
- package/build/main/sdk/Clients/Cryptography/CryptographyClient.d.ts +20 -0
- package/build/main/sdk/Clients/Cryptography/CryptographyClient.js +142 -0
- package/build/main/sdk/Clients/Cryptography/CryptographyHttpClient.d.ts +10 -0
- package/build/main/sdk/Clients/Cryptography/CryptographyHttpClient.js +56 -0
- package/build/main/sdk/Clients/Cryptography/ICryptographyClient.d.ts +40 -0
- package/build/main/sdk/Clients/Cryptography/ICryptographyClient.js +3 -0
- package/build/main/sdk/{Services/Grpc/DependencyService.d.ts → Clients/Dependency/DependencyClient.d.ts} +5 -5
- package/build/main/sdk/Clients/Dependency/DependencyClient.js +100 -0
- package/build/main/sdk/Clients/Dependency/DependencyHttpClient.d.ts +9 -0
- package/build/main/sdk/Clients/Dependency/DependencyHttpClient.js +61 -0
- package/build/main/sdk/Clients/Dependency/IDependencyClient.d.ts +41 -0
- package/build/main/sdk/Clients/Dependency/IDependencyClient.js +3 -0
- package/build/main/sdk/{Services/Grpc/BaseService.d.ts → Clients/Grpc/BaseGRPCClient.d.ts} +6 -10
- package/build/main/sdk/Clients/Grpc/BaseGRPCClient.js +149 -0
- package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +1 -1
- package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.js +1 -1
- package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.js +1 -1
- package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.js +1 -1
- package/build/{module/sdk/Services → main/sdk/Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +1 -1
- package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1 -1
- package/build/main/sdk/{Services → Clients}/Transport/Transport.js +1 -1
- package/build/main/sdk/Clients/Vulnerability/IVulnerabilityClient.d.ts +5 -0
- package/build/main/sdk/Clients/Vulnerability/IVulnerabilityClient.js +3 -0
- package/build/main/sdk/Clients/Vulnerability/VulnerabilityHttpClient.d.ts +10 -0
- package/build/main/sdk/Clients/Vulnerability/VulnerabilityHttpClient.js +58 -0
- package/build/main/sdk/Clients/helper/clientHelper.d.ts +3 -0
- package/build/main/sdk/Clients/helper/clientHelper.js +25 -0
- package/build/main/sdk/{Services → Clients}/http/HttpClient.d.ts +5 -3
- package/build/main/sdk/Clients/http/HttpClient.js +88 -0
- package/build/main/sdk/Clients/interfaces/ClientConfig.d.ts +11 -0
- package/build/main/sdk/Clients/interfaces/ClientConfig.js +9 -0
- package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.d.ts +5 -5
- package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +6 -6
- package/build/main/sdk/Cryptography/Algorithm/Files/FileAlgorithmScanner.js +3 -3
- package/build/main/sdk/Cryptography/CryptoCfg.d.ts +15 -37
- package/build/main/sdk/Cryptography/CryptoCfg.js +32 -36
- package/build/main/sdk/Cryptography/CryptographyScanner.d.ts +2 -2
- package/build/main/sdk/Cryptography/CryptographyScanner.js +1 -1
- package/build/main/sdk/Cryptography/CryptographyTypes.d.ts +4 -0
- package/build/main/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.d.ts +2 -2
- package/build/main/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.js +7 -7
- package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.d.ts +4 -4
- package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +4 -4
- package/build/main/sdk/Cryptography/Hint/Files/FileHintScanner.js +3 -3
- package/build/main/sdk/Dependencies/DependencyScanner.d.ts +4 -4
- package/build/main/sdk/Dependencies/DependencyScanner.js +57 -41
- package/build/main/sdk/Dependencies/DependencyScannerCfg.d.ts +20 -6
- package/build/main/sdk/Dependencies/DependencyScannerCfg.js +50 -1
- package/build/main/sdk/Logger.d.ts +4 -2
- package/build/main/sdk/Logger.js +22 -6
- package/build/main/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.d.ts +2 -2
- package/build/main/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.js +1 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.d.ts +3 -3
- package/build/main/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.js +1 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.d.ts +2 -2
- package/build/main/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.js +1 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.d.ts +2 -2
- package/build/main/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.js +1 -1
- package/build/main/sdk/Vulnerability/VulnerabilityCfg.d.ts +29 -0
- package/build/main/sdk/Vulnerability/VulnerabilityCfg.js +54 -0
- package/build/main/sdk/Vulnerability/VulnerabilityScanner.d.ts +8 -0
- package/build/main/sdk/Vulnerability/VulnerabilityScanner.js +34 -0
- package/build/main/sdk/scanner/Scanner.d.ts +0 -1
- package/build/main/sdk/scanner/Scanner.js +2 -3
- package/build/main/sdk/scanner/ScannerCfg.d.ts +11 -0
- package/build/main/sdk/scanner/ScannerCfg.js +28 -2
- package/build/main/sdk/shared/interfaces/Component.d.ts +4 -0
- package/build/main/sdk/shared/interfaces/Component.js +3 -0
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/module/cli/bin/cli-bin.js +8 -2
- package/build/module/cli/commands/crypto.js +13 -8
- package/build/module/cli/commands/dep.js +17 -3
- package/build/module/cli/commands/scan.js +34 -27
- package/build/module/index.d.ts +4 -4
- package/build/module/index.js +4 -4
- package/build/module/sdk/BaseConfig.d.ts +87 -11
- package/build/module/sdk/BaseConfig.js +91 -7
- package/build/module/sdk/Clients/Cryptography/CryptographyClient.d.ts +20 -0
- package/build/module/sdk/Clients/Cryptography/CryptographyClient.js +131 -0
- package/build/module/sdk/Clients/Cryptography/CryptographyHttpClient.d.ts +10 -0
- package/build/module/sdk/Clients/Cryptography/CryptographyHttpClient.js +54 -0
- package/build/module/sdk/Clients/Cryptography/ICryptographyClient.d.ts +40 -0
- package/build/module/sdk/Clients/Cryptography/ICryptographyClient.js +2 -0
- package/build/module/sdk/{Services/Grpc/DependencyService.d.ts → Clients/Dependency/DependencyClient.d.ts} +5 -5
- package/build/module/sdk/Clients/Dependency/DependencyClient.js +74 -0
- package/build/module/sdk/Clients/Dependency/DependencyHttpClient.d.ts +9 -0
- package/build/module/sdk/Clients/Dependency/DependencyHttpClient.js +59 -0
- package/build/module/sdk/Clients/Dependency/IDependencyClient.d.ts +41 -0
- package/build/module/sdk/Clients/Dependency/IDependencyClient.js +2 -0
- package/build/module/sdk/{Services/Grpc/BaseService.d.ts → Clients/Grpc/BaseGRPCClient.d.ts} +6 -10
- package/build/module/sdk/Clients/Grpc/BaseGRPCClient.js +121 -0
- package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +1 -1
- package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.js +1 -1
- package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.js +1 -1
- package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.js +1 -1
- package/build/{main/sdk/Services → module/sdk/Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +1 -1
- package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1 -1
- package/build/module/sdk/{Services → Clients}/Transport/Transport.js +1 -1
- package/build/module/sdk/Clients/Vulnerability/IVulnerabilityClient.d.ts +5 -0
- package/build/module/sdk/Clients/Vulnerability/IVulnerabilityClient.js +2 -0
- package/build/module/sdk/Clients/Vulnerability/VulnerabilityHttpClient.d.ts +10 -0
- package/build/module/sdk/Clients/Vulnerability/VulnerabilityHttpClient.js +56 -0
- package/build/module/sdk/Clients/helper/clientHelper.d.ts +3 -0
- package/build/module/sdk/Clients/helper/clientHelper.js +21 -0
- package/build/module/sdk/{Services → Clients}/http/HttpClient.d.ts +5 -3
- package/build/module/sdk/Clients/http/HttpClient.js +82 -0
- package/build/module/sdk/Clients/interfaces/ClientConfig.d.ts +11 -0
- package/build/module/sdk/Clients/interfaces/ClientConfig.js +6 -0
- package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.d.ts +5 -5
- package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +6 -6
- package/build/module/sdk/Cryptography/Algorithm/Files/FileAlgorithmScanner.js +3 -3
- package/build/module/sdk/Cryptography/CryptoCfg.d.ts +15 -37
- package/build/module/sdk/Cryptography/CryptoCfg.js +34 -40
- package/build/module/sdk/Cryptography/CryptographyScanner.d.ts +2 -2
- package/build/module/sdk/Cryptography/CryptographyScanner.js +1 -1
- package/build/module/sdk/Cryptography/CryptographyTypes.d.ts +4 -0
- package/build/module/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.d.ts +2 -2
- package/build/module/sdk/Cryptography/Helper/ResultCollector/Component/ComponentCryptographyResultColletor.js +7 -7
- package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.d.ts +4 -4
- package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +4 -4
- package/build/module/sdk/Cryptography/Hint/Files/FileHintScanner.js +3 -3
- package/build/module/sdk/Dependencies/DependencyScanner.d.ts +4 -4
- package/build/module/sdk/Dependencies/DependencyScanner.js +58 -42
- package/build/module/sdk/Dependencies/DependencyScannerCfg.d.ts +20 -6
- package/build/module/sdk/Dependencies/DependencyScannerCfg.js +50 -1
- package/build/module/sdk/Logger.d.ts +4 -2
- package/build/module/sdk/Logger.js +22 -7
- package/build/module/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.d.ts +2 -2
- package/build/module/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.js +1 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.d.ts +3 -3
- package/build/module/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.js +1 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.d.ts +2 -2
- package/build/module/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.js +1 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.d.ts +2 -2
- package/build/module/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.js +1 -1
- package/build/module/sdk/Vulnerability/VulnerabilityCfg.d.ts +29 -0
- package/build/module/sdk/Vulnerability/VulnerabilityCfg.js +50 -0
- package/build/module/sdk/Vulnerability/VulnerabilityScanner.d.ts +8 -0
- package/build/module/sdk/Vulnerability/VulnerabilityScanner.js +32 -0
- package/build/module/sdk/scanner/Scanner.d.ts +0 -1
- package/build/module/sdk/scanner/Scanner.js +2 -3
- package/build/module/sdk/scanner/ScannerCfg.d.ts +11 -0
- package/build/module/sdk/scanner/ScannerCfg.js +28 -2
- package/build/module/sdk/shared/interfaces/Component.d.ts +4 -0
- package/build/module/sdk/shared/interfaces/Component.js +2 -0
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/build/main/sdk/Services/Grpc/BaseService.js +0 -159
- package/build/main/sdk/Services/Grpc/CryptographyService.d.ts +0 -20
- package/build/main/sdk/Services/Grpc/CryptographyService.js +0 -58
- package/build/main/sdk/Services/Grpc/DependencyService.js +0 -101
- package/build/main/sdk/Services/http/HttpClient.js +0 -81
- package/build/module/sdk/Services/Grpc/BaseService.js +0 -131
- package/build/module/sdk/Services/Grpc/CryptographyService.d.ts +0 -20
- package/build/module/sdk/Services/Grpc/CryptographyService.js +0 -55
- package/build/module/sdk/Services/Grpc/DependencyService.js +0 -75
- package/build/module/sdk/Services/http/HttpClient.js +0 -75
- /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -0
- /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.d.ts +0 -0
- /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.d.ts +0 -0
- /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -0
- /package/build/main/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -0
- /package/build/main/sdk/{Services → Clients}/Transport/Transport.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -0
- /package/build/module/sdk/{Services → Clients}/Transport/Transport.d.ts +0 -0
|
@@ -5,32 +5,75 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.BaseConfig = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
/**
|
|
9
|
+
* Base configuration class for SCANOSS SDK services.
|
|
10
|
+
* Provides common proxy and network configuration settings for HTTP and gRPC connections.
|
|
11
|
+
*/
|
|
8
12
|
class BaseConfig {
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new BaseConfig instance.
|
|
15
|
+
* @param config - Optional configuration object to copy settings from
|
|
16
|
+
*/
|
|
9
17
|
constructor(config) {
|
|
18
|
+
var _a;
|
|
19
|
+
/** HTTPS proxy server URL */
|
|
10
20
|
this._HTTPS_PROXY = '';
|
|
21
|
+
/** HTTP proxy server URL */
|
|
11
22
|
this._HTTP_PROXY = '';
|
|
12
|
-
|
|
23
|
+
/** Comma-separated list of hosts to bypass proxy for */
|
|
24
|
+
this._NO_PROXY = '';
|
|
25
|
+
/** API URL for service connections */
|
|
13
26
|
this._API_URL = '';
|
|
27
|
+
/** gRPC proxy server URL */
|
|
14
28
|
this._GRPC_PROXY = '';
|
|
15
|
-
|
|
29
|
+
/** Path to the CA certificate file for SSL/TLS connections */
|
|
30
|
+
this._CA_CERT = '';
|
|
31
|
+
/** Whether to ignore CA certificate errors */
|
|
32
|
+
this._IGNORE_CA_CERT_ERR = false;
|
|
16
33
|
if (config) {
|
|
17
34
|
this.HTTPS_PROXY = config.HTTPS_PROXY || '';
|
|
18
35
|
this.HTTP_PROXY = config.HTTP_PROXY || '';
|
|
19
36
|
this.NO_PROXY = config.NO_PROXY || '';
|
|
20
|
-
this.API_URL = config.API_URL
|
|
37
|
+
this.API_URL = config.API_URL;
|
|
21
38
|
this.GRPC_PROXY = config.GRPC_PROXY || '';
|
|
22
|
-
this.CA_CERT = config.CA_CERT;
|
|
39
|
+
this.CA_CERT = config.CA_CERT || '';
|
|
40
|
+
this.IGNORE_CA_CERT_ERR = (_a = config.IGNORE_CA_CERT_ERR) !== null && _a !== void 0 ? _a : false;
|
|
41
|
+
this.API_URL = config.API_URL || BaseConfig.getDefaultURL();
|
|
23
42
|
}
|
|
43
|
+
this.API_URL = this.API_URL || BaseConfig.getDefaultURL();
|
|
24
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Returns the default SCANOSS API URL.
|
|
47
|
+
* @returns The default API endpoint URL
|
|
48
|
+
*/
|
|
25
49
|
static getDefaultURL() {
|
|
26
|
-
return 'https://api.osskb.org
|
|
50
|
+
return 'https://api.osskb.org';
|
|
27
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns the premium SCANOSS API URL.
|
|
54
|
+
* @returns The premium API endpoint URL
|
|
55
|
+
*/
|
|
56
|
+
static getPremiumURL() {
|
|
57
|
+
return 'https://api.scanoss.com';
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Sets the HTTPS proxy server URL.
|
|
61
|
+
* @param value - HTTPS proxy URL
|
|
62
|
+
*/
|
|
28
63
|
set HTTPS_PROXY(value) {
|
|
29
64
|
this._HTTPS_PROXY = value;
|
|
30
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Sets the HTTP proxy server URL.
|
|
68
|
+
* @param value - HTTP proxy URL
|
|
69
|
+
*/
|
|
31
70
|
set HTTP_PROXY(value) {
|
|
32
71
|
this._HTTP_PROXY = value;
|
|
33
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Sets the comma-separated list of hosts to bypass proxy for.
|
|
75
|
+
* @param value - NO_PROXY hosts list
|
|
76
|
+
*/
|
|
34
77
|
set NO_PROXY(value) {
|
|
35
78
|
this._NO_PROXY = value;
|
|
36
79
|
}
|
|
@@ -54,11 +97,15 @@ class BaseConfig {
|
|
|
54
97
|
throw new Error(`Invalid API_URL format '${value}': ${e.message}`);
|
|
55
98
|
}
|
|
56
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Sets the gRPC proxy server URL.
|
|
102
|
+
* @param value - gRPC proxy URL
|
|
103
|
+
*/
|
|
57
104
|
set GRPC_PROXY(value) {
|
|
58
105
|
this._GRPC_PROXY = value;
|
|
59
106
|
}
|
|
60
107
|
/**
|
|
61
|
-
* Sets the CA certificate file path for
|
|
108
|
+
* Sets the CA certificate file path for SSL/TLS connections.
|
|
62
109
|
* @param caCertPath - Path to the CA certificate file
|
|
63
110
|
* @throws {Error} When the certificate file does not exist or cannot be read
|
|
64
111
|
*/
|
|
@@ -73,24 +120,62 @@ class BaseConfig {
|
|
|
73
120
|
throw new Error(`Certificate file not found: '${caCertPath}'`);
|
|
74
121
|
}
|
|
75
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Sets whether to ignore CA certificate errors.
|
|
125
|
+
* @param value - True to ignore certificate errors, false otherwise
|
|
126
|
+
*/
|
|
127
|
+
set IGNORE_CA_CERT_ERR(value) {
|
|
128
|
+
this._IGNORE_CA_CERT_ERR = value;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Gets the HTTPS proxy server URL.
|
|
132
|
+
* @returns HTTPS proxy URL
|
|
133
|
+
*/
|
|
76
134
|
get HTTPS_PROXY() {
|
|
77
135
|
return this._HTTPS_PROXY;
|
|
78
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Gets the HTTP proxy server URL.
|
|
139
|
+
* @returns HTTP proxy URL
|
|
140
|
+
*/
|
|
79
141
|
get HTTP_PROXY() {
|
|
80
142
|
return this._HTTP_PROXY;
|
|
81
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Gets the comma-separated list of hosts to bypass proxy for.
|
|
146
|
+
* @returns NO_PROXY hosts list
|
|
147
|
+
*/
|
|
82
148
|
get NO_PROXY() {
|
|
83
149
|
return this._NO_PROXY;
|
|
84
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Gets the API URL for service connections.
|
|
153
|
+
* @returns API URL
|
|
154
|
+
*/
|
|
85
155
|
get API_URL() {
|
|
86
156
|
return this._API_URL;
|
|
87
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Gets the gRPC proxy server URL.
|
|
160
|
+
* @returns gRPC proxy URL
|
|
161
|
+
*/
|
|
88
162
|
get GRPC_PROXY() {
|
|
89
163
|
return this._GRPC_PROXY;
|
|
90
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Gets the path to the CA certificate file.
|
|
167
|
+
* @returns CA certificate file path
|
|
168
|
+
*/
|
|
91
169
|
get CA_CERT() {
|
|
92
170
|
return this._CA_CERT;
|
|
93
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Gets whether CA certificate errors should be ignored.
|
|
174
|
+
* @returns True if certificate errors are ignored, false otherwise
|
|
175
|
+
*/
|
|
176
|
+
get IGNORE_CA_CERT_ERR() {
|
|
177
|
+
return this._IGNORE_CA_CERT_ERR;
|
|
178
|
+
}
|
|
94
179
|
}
|
|
95
180
|
exports.BaseConfig = BaseConfig;
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGsvQmFzZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBb0I7QUFFcEI7OztHQUdHO0FBQ0gsTUFBc0IsVUFBVTtJQXNCOUI7OztPQUdHO0lBQ0gsWUFBWSxNQUFtQjs7UUF6Qi9CLDZCQUE2QjtRQUNyQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUVsQyw0QkFBNEI7UUFDcEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFakMsd0RBQXdEO1FBQ2hELGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFL0Isc0NBQXNDO1FBQzlCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFOUIsNEJBQTRCO1FBQ3BCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRWpDLDhEQUE4RDtRQUN0RCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRXRCLDhDQUE4QztRQUN0Qyx3QkFBbUIsR0FBYSxLQUFLLENBQUM7UUFPNUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQUEsTUFBTSxDQUFDLGtCQUFrQixtQ0FBSSxLQUFLLENBQUM7WUFDN0Qs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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseGRPCClient } from '../Grpc/BaseGRPCClient';
|
|
2
|
+
import { Component } from '../../shared/interfaces/Component';
|
|
3
|
+
import { ICryptographyClient, AlgorithmResponse, HintsInRangeResponse } from './ICryptographyClient';
|
|
4
|
+
export declare class CryptographyClient extends BaseGRPCClient implements ICryptographyClient {
|
|
5
|
+
static readonly clientName = "Cryptography gRPC Client";
|
|
6
|
+
private client;
|
|
7
|
+
/**
|
|
8
|
+
* Creates CryptographyService Instance.
|
|
9
|
+
* @param {string} token - Optional. API TOKEN.
|
|
10
|
+
* @param {string} hostName - Optional. Destination Host.
|
|
11
|
+
* @param {string} proxyHost -Optional. Proxy Host.
|
|
12
|
+
* @param {string} caCertPath - Optional. Path to certificates.
|
|
13
|
+
*/
|
|
14
|
+
constructor(token: string, hostName: string, proxyHost?: string, caCertPath?: string);
|
|
15
|
+
getAlgorithms(components: Component[]): Promise<AlgorithmResponse>;
|
|
16
|
+
getEncryptionHints(components: Component[]): Promise<HintsInRangeResponse>;
|
|
17
|
+
private validateComponents;
|
|
18
|
+
private transformGrpcAlgorithmResponse;
|
|
19
|
+
private transformGrpcHintsResponse;
|
|
20
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CryptographyClient = void 0;
|
|
4
|
+
const scanoss_cryptography_grpc_pb_1 = require("../Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb");
|
|
5
|
+
const BaseGRPCClient_1 = require("../Grpc/BaseGRPCClient");
|
|
6
|
+
const Logger_1 = require("../../Logger");
|
|
7
|
+
class CryptographyClient extends BaseGRPCClient_1.BaseGRPCClient {
|
|
8
|
+
/**
|
|
9
|
+
* Creates CryptographyService Instance.
|
|
10
|
+
* @param {string} token - Optional. API TOKEN.
|
|
11
|
+
* @param {string} hostName - Optional. Destination Host.
|
|
12
|
+
* @param {string} proxyHost -Optional. Proxy Host.
|
|
13
|
+
* @param {string} caCertPath - Optional. Path to certificates.
|
|
14
|
+
*/
|
|
15
|
+
constructor(token, hostName, proxyHost, caCertPath) {
|
|
16
|
+
super({
|
|
17
|
+
HOSTNAME: hostName,
|
|
18
|
+
PROXY_URL: proxyHost,
|
|
19
|
+
CA_CERT: caCertPath,
|
|
20
|
+
CLIENT_NAME: CryptographyClient.clientName,
|
|
21
|
+
API_TOKEN: token,
|
|
22
|
+
});
|
|
23
|
+
this.client = new scanoss_cryptography_grpc_pb_1.CryptographyClient(this.HOSTNAME, this.generateChannelCredentials());
|
|
24
|
+
}
|
|
25
|
+
async getAlgorithms(components) {
|
|
26
|
+
this.validateComponents(components);
|
|
27
|
+
const req = {
|
|
28
|
+
purlsList: components.map(comp => ({
|
|
29
|
+
purl: comp.purl,
|
|
30
|
+
requirement: comp.requirement || ''
|
|
31
|
+
}))
|
|
32
|
+
};
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
this.client.getAlgorithms(this.buildGRPCPurlRequest(req), (err, response) => {
|
|
35
|
+
if (err) {
|
|
36
|
+
const errorMessage = `Failed to get algorithms: ${err.message}`;
|
|
37
|
+
Logger_1.logger.log(`Error getting algorithms: ${errorMessage}`);
|
|
38
|
+
reject(new Error(errorMessage));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const result = this.handleResponse(response.toObject());
|
|
43
|
+
resolve(this.transformGrpcAlgorithmResponse(result));
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
const errorMessage = `Failed to process algorithms response: ${e instanceof Error ? e.message : 'Unknown error'}`;
|
|
47
|
+
Logger_1.logger.log(`Error processing algorithms response: ${errorMessage}`);
|
|
48
|
+
reject(new Error(errorMessage));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async getEncryptionHints(components) {
|
|
54
|
+
this.validateComponents(components);
|
|
55
|
+
const req = {
|
|
56
|
+
purlsList: components.map(comp => ({
|
|
57
|
+
purl: comp.purl,
|
|
58
|
+
requirement: comp.requirement || ''
|
|
59
|
+
}))
|
|
60
|
+
};
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
this.client.getHintsInRange(this.buildGRPCPurlRequest(req), (err, response) => {
|
|
63
|
+
if (err) {
|
|
64
|
+
const errorMessage = `Failed to get encryption hints: ${err.message}`;
|
|
65
|
+
Logger_1.logger.log(`Error getting encryption hints: ${errorMessage}`);
|
|
66
|
+
reject(new Error(errorMessage));
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
const result = this.handleResponse(response.toObject());
|
|
71
|
+
resolve(this.transformGrpcHintsResponse(result));
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
const errorMessage = `Failed to process hints response: ${e instanceof Error ? e.message : 'Unknown error'}`;
|
|
75
|
+
Logger_1.logger.log(`Error processing hints response: ${errorMessage}`);
|
|
76
|
+
reject(new Error(errorMessage));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
validateComponents(components) {
|
|
82
|
+
if (!components || components.length === 0) {
|
|
83
|
+
throw new Error('Components array cannot be empty');
|
|
84
|
+
}
|
|
85
|
+
if (!Array.isArray(components)) {
|
|
86
|
+
throw new Error('Components must be an array');
|
|
87
|
+
}
|
|
88
|
+
for (const component of components) {
|
|
89
|
+
if (!component.purl || typeof component.purl !== 'string') {
|
|
90
|
+
throw new Error('Each component must have a valid purl string');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
transformGrpcAlgorithmResponse(grpcResponse) {
|
|
95
|
+
var _a, _b, _c;
|
|
96
|
+
return {
|
|
97
|
+
purls: ((_a = grpcResponse.purlsList) === null || _a === void 0 ? void 0 : _a.map((purl) => {
|
|
98
|
+
var _a;
|
|
99
|
+
return ({
|
|
100
|
+
purl: purl.purl,
|
|
101
|
+
version: purl.version || '',
|
|
102
|
+
algorithms: ((_a = purl.algorithmsList) === null || _a === void 0 ? void 0 : _a.map((algo) => ({
|
|
103
|
+
algorithm: algo.algorithm,
|
|
104
|
+
strength: algo.strength
|
|
105
|
+
}))) || []
|
|
106
|
+
});
|
|
107
|
+
})) || [],
|
|
108
|
+
status: {
|
|
109
|
+
status: ((_b = grpcResponse.status) === null || _b === void 0 ? void 0 : _b.status) || 'UNKNOWN',
|
|
110
|
+
message: ((_c = grpcResponse.status) === null || _c === void 0 ? void 0 : _c.message) || ''
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
transformGrpcHintsResponse(grpcResponse) {
|
|
115
|
+
var _a, _b, _c;
|
|
116
|
+
return {
|
|
117
|
+
purls: ((_a = grpcResponse.purlsList) === null || _a === void 0 ? void 0 : _a.map((purl) => {
|
|
118
|
+
var _a;
|
|
119
|
+
return ({
|
|
120
|
+
purl: purl.purl,
|
|
121
|
+
version: purl.version || '',
|
|
122
|
+
versions: purl.versionsList || [],
|
|
123
|
+
hints: ((_a = purl.hintsList) === null || _a === void 0 ? void 0 : _a.map((hint) => ({
|
|
124
|
+
id: hint.id,
|
|
125
|
+
name: hint.name,
|
|
126
|
+
description: hint.description,
|
|
127
|
+
category: hint.category,
|
|
128
|
+
url: hint.url,
|
|
129
|
+
purl: hint.purl
|
|
130
|
+
}))) || []
|
|
131
|
+
});
|
|
132
|
+
})) || [],
|
|
133
|
+
status: {
|
|
134
|
+
status: ((_b = grpcResponse.status) === null || _b === void 0 ? void 0 : _b.status) || 'UNKNOWN',
|
|
135
|
+
message: ((_c = grpcResponse.status) === null || _c === void 0 ? void 0 : _c.message) || ''
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.CryptographyClient = CryptographyClient;
|
|
141
|
+
CryptographyClient.clientName = 'Cryptography gRPC Client';
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9DbGllbnRzL0NyeXB0b2dyYXBoeS9DcnlwdG9ncmFwaHlDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUhBQWdJO0FBQ2hJLDJEQUFxRTtBQU9yRSx5Q0FBc0M7QUFFdEMsTUFBYSxrQkFBbUIsU0FBUSwrQkFBYztJQUlwRDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWEsRUFBRSxRQUFnQixFQUFFLFNBQWtCLEVBQUUsVUFBbUI7UUFDbEYsS0FBSyxDQUFDO1lBQ0osUUFBUSxFQUFFLFFBQVE7WUFDbEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsV0FBVyxFQUFFLGtCQUFrQixDQUFDLFVBQVU7WUFDMUMsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlEQUFzQixDQUN0QyxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBdUI7UUFDaEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBDLE1BQU0sR0FBRyxHQUFnQjtZQUN2QixTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2FBQ3BDLENBQUMsQ0FBQztTQUNKLENBQUM7UUFFRixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUN2QixJ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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HttpClient } from "../http/HttpClient";
|
|
2
|
+
import { Component } from "../../shared/interfaces/Component";
|
|
3
|
+
import { ICryptographyClient, AlgorithmResponse, HintsInRangeResponse } from "./ICryptographyClient";
|
|
4
|
+
export declare class CryptographyHttpClient extends HttpClient implements ICryptographyClient {
|
|
5
|
+
private client;
|
|
6
|
+
private readonly baseUrl;
|
|
7
|
+
constructor(token: string, hostName: string, proxyHost?: string, caCertPath?: string);
|
|
8
|
+
getAlgorithms(components: Component[]): Promise<AlgorithmResponse>;
|
|
9
|
+
getEncryptionHints(components: Component[]): Promise<HintsInRangeResponse>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CryptographyHttpClient = void 0;
|
|
4
|
+
const HttpClient_1 = require("../http/HttpClient");
|
|
5
|
+
const Logger_1 = require("../../Logger");
|
|
6
|
+
const clientHelper_1 = require("../helper/clientHelper");
|
|
7
|
+
class CryptographyHttpClient extends HttpClient_1.HttpClient {
|
|
8
|
+
constructor(token, hostName, proxyHost, caCertPath) {
|
|
9
|
+
super();
|
|
10
|
+
this.client = new HttpClient_1.HttpClient({
|
|
11
|
+
HOST_URL: hostName,
|
|
12
|
+
API_KEY: token,
|
|
13
|
+
HTTPS_PROXY: proxyHost,
|
|
14
|
+
CA_CERT: caCertPath,
|
|
15
|
+
});
|
|
16
|
+
this.baseUrl = hostName;
|
|
17
|
+
}
|
|
18
|
+
async getAlgorithms(components) {
|
|
19
|
+
try {
|
|
20
|
+
(0, clientHelper_1.validateComponents)(components);
|
|
21
|
+
const response = await this.client.post(`${this.baseUrl}/api/v2/cryptography/algorithms`, { purls: components });
|
|
22
|
+
if (response.ok) {
|
|
23
|
+
const algorithms = await response.json();
|
|
24
|
+
return algorithms;
|
|
25
|
+
}
|
|
26
|
+
const errorText = await response.text();
|
|
27
|
+
const errorMessage = `Failed to get algorithms: ${response.status} ${response.statusText} - ${errorText}`;
|
|
28
|
+
Logger_1.logger.log(`Error getting algorithms: ${errorMessage}`);
|
|
29
|
+
throw new Error(errorMessage);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
Logger_1.logger.log('Error getting algorithms:', error);
|
|
33
|
+
throw this.handleError(error, 'Failed to get algorithms');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async getEncryptionHints(components) {
|
|
37
|
+
try {
|
|
38
|
+
(0, clientHelper_1.validateComponents)(components);
|
|
39
|
+
const response = await this.client.post(`${this.baseUrl}/api/v2/cryptography/hintsInRange`, { purls: components });
|
|
40
|
+
if (response.ok) {
|
|
41
|
+
const hints = await response.json();
|
|
42
|
+
return hints;
|
|
43
|
+
}
|
|
44
|
+
const errorText = await response.text();
|
|
45
|
+
const errorMessage = `Failed to get encryption hints: ${response.status} ${response.statusText} - ${errorText}`;
|
|
46
|
+
Logger_1.logger.log(`Error getting encryption hints: ${errorMessage}`);
|
|
47
|
+
throw new Error(errorMessage);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
Logger_1.logger.log('Error getting encryption hints:', error);
|
|
51
|
+
throw this.handleError(error, 'Failed to get encryption hints');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.CryptographyHttpClient = CryptographyHttpClient;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvZ3JhcGh5SHR0cENsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9DcnlwdG9ncmFwaHkvQ3J5cHRvZ3JhcGh5SHR0cENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFDaEQseUNBQXNDO0FBT3RDLHlEQUE0RDtBQUM1RCxNQUFhLHNCQUF1QixTQUFRLHVCQUFVO0lBS3BELFlBQVksS0FBYSxFQUFFLFFBQWdCLEVBQUUsU0FBa0IsRUFBRSxVQUFtQjtRQUNsRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSx1QkFBVSxDQUFDO1lBQzNCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsV0FBVyxFQUFFLFNBQVM7WUFDdEIsT0FBTyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBdUI7UUFDaEQsSUFBSSxDQUFDO1lBQ0gsSUFBQSxpQ0FBa0IsRUFBQyxVQUFVLENBQUMsQ0FBQztZQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8saUNBQWlDLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUVqSCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sVUFBK0IsQ0FBQztZQUN6QyxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsTUFBTSxTQUFTLEVBQUUsQ0FBQztZQUMxRyxlQUFNLENBQUMsR0FBRyxDQUFDLDZCQUE2QixZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixlQUFNLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxVQUF1QjtRQUNyRCxJQUFJLENBQUM7WUFDSCxJQUFBLGlDQUFrQixFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxtQ0FBbUMsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBRW5ILElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxLQUE2QixDQUFDO1lBQ3ZDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxNQUFNLFNBQVMsRUFBRSxDQUFDO1lBQ2hILGVBQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGVBQU0sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF2REQsd0RBdURDIn0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component } from "../../shared/interfaces/Component";
|
|
2
|
+
export interface Hint {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
url: string;
|
|
8
|
+
purl: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Algorithm {
|
|
11
|
+
algorithm: string;
|
|
12
|
+
strength: string;
|
|
13
|
+
}
|
|
14
|
+
export interface Purl {
|
|
15
|
+
purl: string;
|
|
16
|
+
version: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ComponentAlgorithm extends Purl {
|
|
19
|
+
algorithms: Algorithm[];
|
|
20
|
+
}
|
|
21
|
+
export interface Status {
|
|
22
|
+
status: string;
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
export interface AlgorithmResponse {
|
|
26
|
+
purls: ComponentAlgorithm[];
|
|
27
|
+
status: Status;
|
|
28
|
+
}
|
|
29
|
+
export interface ComponentHintResponse extends Purl {
|
|
30
|
+
hints: Hint[];
|
|
31
|
+
versions: string[];
|
|
32
|
+
}
|
|
33
|
+
export interface HintsInRangeResponse {
|
|
34
|
+
purls: ComponentHintResponse[];
|
|
35
|
+
status: Status;
|
|
36
|
+
}
|
|
37
|
+
export interface ICryptographyClient {
|
|
38
|
+
getAlgorithms(components: Component[]): Promise<AlgorithmResponse>;
|
|
39
|
+
getEncryptionHints(components: Component[]): Promise<HintsInRangeResponse>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNyeXB0b2dyYXBoeUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9DcnlwdG9ncmFwaHkvSUNyeXB0b2dyYXBoeUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as DependenciesMessages from '
|
|
2
|
-
import * as CommonMessages from '
|
|
3
|
-
import {
|
|
4
|
-
export declare class
|
|
5
|
-
static readonly
|
|
1
|
+
import * as DependenciesMessages from '../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb';
|
|
2
|
+
import * as CommonMessages from '../Grpc/scanoss/api/common/v2/scanoss-common_pb';
|
|
3
|
+
import { BaseGRPCClient } from "../Grpc/BaseGRPCClient";
|
|
4
|
+
export declare class DependencyClient extends BaseGRPCClient {
|
|
5
|
+
static readonly clientName = "Dependency gRPC Client";
|
|
6
6
|
private client;
|
|
7
7
|
/**
|
|
8
8
|
* Creates DependencyService Instance.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.DependencyClient = void 0;
|
|
27
|
+
const scanoss_dependencies_grpc_pb_1 = require("../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb");
|
|
28
|
+
const DependenciesMessages = __importStar(require("../Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb"));
|
|
29
|
+
const CommonMessages = __importStar(require("../Grpc/scanoss/api/common/v2/scanoss-common_pb"));
|
|
30
|
+
const BaseGRPCClient_1 = require("../Grpc/BaseGRPCClient");
|
|
31
|
+
class DependencyClient extends BaseGRPCClient_1.BaseGRPCClient {
|
|
32
|
+
/**
|
|
33
|
+
* Creates DependencyService Instance.
|
|
34
|
+
* @param {string} hostName - Optional. Destination Host.
|
|
35
|
+
* @param {string} proxyHost -Optional. Proxy Host.
|
|
36
|
+
* @param {string} caCertPath - Optional. Path to certificates.
|
|
37
|
+
*/
|
|
38
|
+
constructor(hostName, proxyHost, caCertPath) {
|
|
39
|
+
super({
|
|
40
|
+
HOSTNAME: hostName,
|
|
41
|
+
CLIENT_NAME: DependencyClient.clientName,
|
|
42
|
+
PROXY_URL: proxyHost,
|
|
43
|
+
CA_CERT: caCertPath,
|
|
44
|
+
});
|
|
45
|
+
this.client = new scanoss_dependencies_grpc_pb_1.DependenciesClient(this.HOSTNAME, this.generateChannelCredentials());
|
|
46
|
+
}
|
|
47
|
+
async get(req) {
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
this.client.getDependencies(req, (err, response) => {
|
|
50
|
+
if (err)
|
|
51
|
+
reject(err);
|
|
52
|
+
resolve(response);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
buildDependencyRequestMsg(plainObj) {
|
|
57
|
+
try {
|
|
58
|
+
const depMessage = new DependenciesMessages.DependencyRequest();
|
|
59
|
+
for (const dependency of plainObj.filesList) {
|
|
60
|
+
const fileMsg = new DependenciesMessages.DependencyRequest.Files();
|
|
61
|
+
fileMsg.setFile(dependency.file);
|
|
62
|
+
for (const purl of dependency.purlsList) {
|
|
63
|
+
const purlMsg = new DependenciesMessages.DependencyRequest.Purls();
|
|
64
|
+
purlMsg.setPurl(purl.purl);
|
|
65
|
+
purlMsg.setRequirement(purl === null || purl === void 0 ? void 0 : purl.requirement);
|
|
66
|
+
fileMsg.addPurls(purlMsg);
|
|
67
|
+
}
|
|
68
|
+
depMessage.addFiles(fileMsg);
|
|
69
|
+
}
|
|
70
|
+
return depMessage;
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
console.error(e);
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async echo(req) {
|
|
78
|
+
return new Promise((resolve, reject) => {
|
|
79
|
+
this.client.echo(req, (err, response) => {
|
|
80
|
+
if (err)
|
|
81
|
+
reject(err);
|
|
82
|
+
resolve(response);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
buildEchoRequestMsg(plainObj) {
|
|
87
|
+
try {
|
|
88
|
+
const echoMessage = new CommonMessages.EchoRequest();
|
|
89
|
+
echoMessage.setMessage(plainObj.message);
|
|
90
|
+
return echoMessage;
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
console.error(e);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.DependencyClient = DependencyClient;
|
|
99
|
+
DependencyClient.clientName = 'Dependency gRPC Client';
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ2xpZW50cy9EZXBlbmRlbmN5L0RlcGVuZGVuY3lDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtSEFBc0c7QUFDdEcsa0hBQW9HO0FBQ3BHLGdHQUFrRjtBQUNsRiwyREFBd0Q7QUFFeEQsTUFBYSxnQkFBaUIsU0FBUSwrQkFBYztJQUlsRDs7Ozs7T0FLRztJQUNILFlBQVksUUFBaUIsRUFBRSxTQUFrQixFQUFFLFVBQW1CO1FBQ3BFLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVO1lBQ3hDLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxVQUFVO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxpREFBa0IsQ0FDbEMsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUNkLEdBQTJDO1FBRTNDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLEdBQUc7b0JBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx5QkFBeUIsQ0FDOUIsUUFBeUQ7UUFFekQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2hFLEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ25FLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMzQixPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJLENBQ2YsR0FBK0I7UUFFL0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUN4QixRQUE2QztRQUU3QyxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQzs7QUFoRkgsNENBaUZDO0FBaEZ3QiwyQkFBVSxHQUFHLHdCQUF3QixDQUFDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HttpClient } from "../http/HttpClient";
|
|
2
|
+
import { DependencyRequest, DependencyResponse, IDependencyClient } from "./IDependencyClient";
|
|
3
|
+
export declare class DependencyHttpClient extends HttpClient implements IDependencyClient {
|
|
4
|
+
private client;
|
|
5
|
+
private readonly baseUrl;
|
|
6
|
+
constructor(token: string, hostName: string, ignoreCertErrors?: boolean, proxyHost?: string, caCertPath?: string);
|
|
7
|
+
getDependencies(req: DependencyRequest): Promise<DependencyResponse>;
|
|
8
|
+
private toDependencyResponse;
|
|
9
|
+
}
|