@fintekkers/ledger-models 0.4.29 → 0.4.31
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/node/wrappers/models/position/position_matcher.d.ts +4 -2
- package/node/wrappers/models/position/position_matcher.js +5 -3
- package/node/wrappers/models/position/position_matcher.test.js +55 -5
- package/node/wrappers/models/position/position_matcher.test.ts +48 -1
- package/node/wrappers/models/position/position_matcher.ts +5 -3
- package/node/wrappers/models/utils/requestcontext.auth.test.js +21 -6
- package/node/wrappers/models/utils/requestcontext.auth.test.js.map +1 -1
- package/node/wrappers/models/utils/requestcontext.auth.test.ts +24 -6
- package/node/wrappers/models/utils/requestcontext.d.ts +18 -12
- package/node/wrappers/models/utils/requestcontext.js +28 -28
- package/node/wrappers/models/utils/requestcontext.js.map +1 -1
- package/node/wrappers/models/utils/requestcontext.test.js +15 -3
- package/node/wrappers/models/utils/requestcontext.test.js.map +1 -1
- package/node/wrappers/models/utils/requestcontext.test.ts +17 -3
- package/node/wrappers/models/utils/requestcontext.ts +31 -29
- package/node/wrappers/services/apikey.credentials.test.d.ts +1 -1
- package/node/wrappers/services/apikey.credentials.test.js +14 -12
- package/node/wrappers/services/apikey.credentials.test.js.map +1 -1
- package/node/wrappers/services/apikey.credentials.test.ts +15 -13
- package/node/wrappers/services/apikey.test.js +1 -1
- package/node/wrappers/services/apikey.test.js.map +1 -1
- package/node/wrappers/services/apikey.test.ts +1 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.d.ts +2 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.js +8 -4
- package/node/wrappers/services/portfolio-service/PortfolioService.js.map +1 -1
- package/node/wrappers/services/portfolio-service/PortfolioService.ts +8 -4
- package/node/wrappers/services/position-service/PositionService.js +4 -3
- package/node/wrappers/services/position-service/PositionService.js.map +1 -1
- package/node/wrappers/services/position-service/PositionService.ts +4 -3
- package/node/wrappers/services/price-service/PriceService.js +4 -3
- package/node/wrappers/services/price-service/PriceService.js.map +1 -1
- package/node/wrappers/services/price-service/PriceService.ts +4 -3
- package/node/wrappers/services/security-service/SecurityService.js +4 -3
- package/node/wrappers/services/security-service/SecurityService.js.map +1 -1
- package/node/wrappers/services/security-service/SecurityService.ts +4 -3
- package/node/wrappers/services/serviceaddress.clients.test.d.ts +9 -0
- package/node/wrappers/services/serviceaddress.clients.test.js +181 -0
- package/node/wrappers/services/serviceaddress.clients.test.js.map +1 -0
- package/node/wrappers/services/serviceaddress.clients.test.ts +176 -0
- package/node/wrappers/services/transaction-service/TransactionService.js +4 -3
- package/node/wrappers/services/transaction-service/TransactionService.js.map +1 -1
- package/node/wrappers/services/transaction-service/TransactionService.ts +4 -3
- package/node/wrappers/util/link-resolver.d.ts +1 -1
- package/node/wrappers/util/link-resolver.js +10 -9
- package/node/wrappers/util/link-resolver.js.map +1 -1
- package/node/wrappers/util/link-resolver.ts +11 -10
- package/node/wrappers/util/serviceaddress.d.ts +47 -0
- package/node/wrappers/util/serviceaddress.js +132 -0
- package/node/wrappers/util/serviceaddress.js.map +1 -0
- package/node/wrappers/util/serviceaddress.test.d.ts +6 -0
- package/node/wrappers/util/serviceaddress.test.js +76 -0
- package/node/wrappers/util/serviceaddress.test.js.map +1 -0
- package/node/wrappers/util/serviceaddress.test.ts +83 -0
- package/node/wrappers/util/serviceaddress.ts +141 -0
- package/package.json +1 -1
|
@@ -49,9 +49,16 @@ function setEnv(key, value) {
|
|
|
49
49
|
env[key] = value;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
// Variables the lookup reads before API_URL; the host may set them.
|
|
53
|
+
const SHADOWING = ['BROKER_HOST', 'LEDGER_SERVICE_HOST', 'LEDGER_SERVICE_PORT'];
|
|
52
54
|
describe('EnvConfig.apiURL', () => {
|
|
53
55
|
const original = env['API_URL'];
|
|
54
|
-
|
|
56
|
+
const saved = SHADOWING.map((k) => env[k]);
|
|
57
|
+
beforeEach(() => SHADOWING.forEach((k) => setEnv(k, undefined)));
|
|
58
|
+
afterEach(() => {
|
|
59
|
+
setEnv('API_URL', original);
|
|
60
|
+
SHADOWING.forEach((k, i) => setEnv(k, saved[i]));
|
|
61
|
+
});
|
|
55
62
|
test('appends :8082 when API_URL has no port', () => {
|
|
56
63
|
setEnv('API_URL', 'myhost.example.com');
|
|
57
64
|
expect(requestcontext_1.default.apiURL).toBe('myhost.example.com:8082');
|
|
@@ -60,9 +67,14 @@ describe('EnvConfig.apiURL', () => {
|
|
|
60
67
|
setEnv('API_URL', 'localhost:8083');
|
|
61
68
|
expect(requestcontext_1.default.apiURL).toBe('localhost:8083');
|
|
62
69
|
});
|
|
63
|
-
test('defaults to
|
|
70
|
+
test('defaults to localhost:8082 when unset', () => {
|
|
64
71
|
setEnv('API_URL', undefined);
|
|
65
|
-
expect(requestcontext_1.default.apiURL).toBe('
|
|
72
|
+
expect(requestcontext_1.default.apiURL).toBe('localhost:8082');
|
|
73
|
+
});
|
|
74
|
+
test('is the broker when BROKER_HOST is set, whatever API_URL says', () => {
|
|
75
|
+
setEnv('API_URL', 'localhost');
|
|
76
|
+
setEnv('BROKER_HOST', '127.0.0.1:8085');
|
|
77
|
+
expect(requestcontext_1.default.apiURL).toBe('127.0.0.1:8085');
|
|
66
78
|
});
|
|
67
79
|
});
|
|
68
80
|
describe('EnvConfig.apiKey', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestcontext.test.js","sourceRoot":"","sources":["requestcontext.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAyC;AACzC,oDAAsC;AAEtC;;GAEG;AAEH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAyC,CAAC;AAE9D,SAAS,MAAM,CAAC,GAAW,EAAE,KAAyB;IACpD,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC1C;SAAM;QACL,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;KAClB;AACH,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"requestcontext.test.js","sourceRoot":"","sources":["requestcontext.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,17 @@ function setEnv(key: string, value: string | undefined): void {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
// Variables the lookup reads before API_URL; the host may set them.
|
|
19
|
+
const SHADOWING = ['BROKER_HOST', 'LEDGER_SERVICE_HOST', 'LEDGER_SERVICE_PORT'];
|
|
20
|
+
|
|
18
21
|
describe('EnvConfig.apiURL', () => {
|
|
19
22
|
const original = env['API_URL'];
|
|
20
|
-
|
|
23
|
+
const saved = SHADOWING.map((k) => env[k]);
|
|
24
|
+
beforeEach(() => SHADOWING.forEach((k) => setEnv(k, undefined)));
|
|
25
|
+
afterEach(() => {
|
|
26
|
+
setEnv('API_URL', original);
|
|
27
|
+
SHADOWING.forEach((k, i) => setEnv(k, saved[i]));
|
|
28
|
+
});
|
|
21
29
|
|
|
22
30
|
test('appends :8082 when API_URL has no port', () => {
|
|
23
31
|
setEnv('API_URL', 'myhost.example.com');
|
|
@@ -29,9 +37,15 @@ describe('EnvConfig.apiURL', () => {
|
|
|
29
37
|
expect(EnvConfig.apiURL).toBe('localhost:8083');
|
|
30
38
|
});
|
|
31
39
|
|
|
32
|
-
test('defaults to
|
|
40
|
+
test('defaults to localhost:8082 when unset', () => {
|
|
33
41
|
setEnv('API_URL', undefined);
|
|
34
|
-
expect(EnvConfig.apiURL).toBe('
|
|
42
|
+
expect(EnvConfig.apiURL).toBe('localhost:8082');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test('is the broker when BROKER_HOST is set, whatever API_URL says', () => {
|
|
46
|
+
setEnv('API_URL', 'localhost');
|
|
47
|
+
setEnv('BROKER_HOST', '127.0.0.1:8085');
|
|
48
|
+
expect(EnvConfig.apiURL).toBe('127.0.0.1:8085');
|
|
35
49
|
});
|
|
36
50
|
});
|
|
37
51
|
|
|
@@ -3,39 +3,40 @@ dotenv.config();
|
|
|
3
3
|
|
|
4
4
|
import * as grpc from '@grpc/grpc-js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
private static getEnvVar(key: string, defaultValue?: string): string {
|
|
8
|
-
const value = process.env[key];
|
|
9
|
-
if (value === undefined) {
|
|
10
|
-
if (defaultValue === undefined) {
|
|
11
|
-
throw new Error(`Environment variable ${key} is not set.`);
|
|
12
|
-
}
|
|
13
|
-
return defaultValue;
|
|
14
|
-
}
|
|
15
|
-
return value;
|
|
16
|
-
}
|
|
6
|
+
import { Service, resolve, target } from '../../util/serviceaddress';
|
|
17
7
|
|
|
8
|
+
class EnvConfig {
|
|
18
9
|
static get apiKey(): string | undefined {
|
|
19
10
|
return process.env['API_KEY'];
|
|
20
11
|
}
|
|
21
12
|
|
|
22
13
|
/**
|
|
23
|
-
* Returns the
|
|
24
|
-
*
|
|
25
|
-
* API_URL
|
|
26
|
-
*
|
|
14
|
+
* Returns the `host:port` of the ledger service, found the same way as
|
|
15
|
+
* every other service: `BROKER_HOST`, then `LEDGER_SERVICE_HOST`/`_PORT`,
|
|
16
|
+
* then `API_URL` (with :8082 unless it carries a port), then
|
|
17
|
+
* localhost:8082. Clients should prefer {@link EnvConfig.urlFor}.
|
|
27
18
|
*/
|
|
28
19
|
static get apiURL(): string {
|
|
29
|
-
|
|
30
|
-
return /:\d+$/.test(base) ? base : base + ':8082';
|
|
20
|
+
return EnvConfig.urlFor(Service.SECURITY);
|
|
31
21
|
}
|
|
32
22
|
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
/** Returns the `host:port` a client for `service` connects to. */
|
|
24
|
+
static urlFor(service: Service): string {
|
|
25
|
+
return target(resolve(service));
|
|
35
26
|
}
|
|
36
27
|
|
|
28
|
+
private static isPlaintext(service: Service): boolean {
|
|
29
|
+
return resolve(service).plaintext;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Channel credentials for {@link EnvConfig.apiURL}. */
|
|
37
33
|
static get apiCredentials(): grpc.ChannelCredentials {
|
|
38
|
-
|
|
34
|
+
return EnvConfig.credentialsFor(Service.SECURITY);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Insecure credentials for a loopback address, SSL otherwise. */
|
|
38
|
+
static credentialsFor(service: Service): grpc.ChannelCredentials {
|
|
39
|
+
if (EnvConfig.isPlaintext(service)) {
|
|
39
40
|
return grpc.credentials.createInsecure();
|
|
40
41
|
}
|
|
41
42
|
else {
|
|
@@ -56,10 +57,11 @@ class EnvConfig {
|
|
|
56
57
|
* {@link EnvConfig.getAuthenticatedClientOptions}, which sends the key via
|
|
57
58
|
* an interceptor instead.
|
|
58
59
|
*
|
|
59
|
-
* @throws {InsecureChannelAuthError} when
|
|
60
|
+
* @throws {InsecureChannelAuthError} when the address of `service` is
|
|
61
|
+
* localhost / 127.0.0.1.
|
|
60
62
|
*/
|
|
61
|
-
static getAuthenticatedCredentials(apiKey: string): grpc.ChannelCredentials {
|
|
62
|
-
if (
|
|
63
|
+
static getAuthenticatedCredentials(apiKey: string, service: Service = Service.SECURITY): grpc.ChannelCredentials {
|
|
64
|
+
if (EnvConfig.isPlaintext(service)) {
|
|
63
65
|
throw new InsecureChannelAuthError();
|
|
64
66
|
}
|
|
65
67
|
const callCreds = grpc.credentials.createFromMetadataGenerator(
|
|
@@ -76,15 +78,15 @@ class EnvConfig {
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
/**
|
|
79
|
-
* Returns credentials and interceptors for authenticated calls
|
|
81
|
+
* Returns credentials and interceptors for authenticated calls to `service`.
|
|
80
82
|
* For local (insecure) channels, injects the API key via an interceptor.
|
|
81
83
|
* For remote (SSL) channels, uses {@link EnvConfig.getAuthenticatedCredentials}.
|
|
82
84
|
*/
|
|
83
|
-
static getAuthenticatedClientOptions(apiKey: string): {
|
|
85
|
+
static getAuthenticatedClientOptions(apiKey: string, service: Service = Service.SECURITY): {
|
|
84
86
|
credentials: grpc.ChannelCredentials;
|
|
85
87
|
interceptors: grpc.Interceptor[];
|
|
86
88
|
} {
|
|
87
|
-
if (
|
|
89
|
+
if (EnvConfig.isPlaintext(service)) {
|
|
88
90
|
const interceptor: grpc.Interceptor = (_options, nextCall) => {
|
|
89
91
|
return new grpc.InterceptingCall(nextCall(_options), {
|
|
90
92
|
start(metadata: grpc.Metadata, listener: grpc.Listener, next: Function) {
|
|
@@ -96,15 +98,15 @@ class EnvConfig {
|
|
|
96
98
|
return { credentials: grpc.credentials.createInsecure(), interceptors: [interceptor] };
|
|
97
99
|
}
|
|
98
100
|
return {
|
|
99
|
-
credentials: EnvConfig.getAuthenticatedCredentials(apiKey),
|
|
101
|
+
credentials: EnvConfig.getAuthenticatedCredentials(apiKey, service),
|
|
100
102
|
interceptors: []
|
|
101
103
|
};
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
|
|
105
107
|
/**
|
|
106
|
-
* Thrown by EnvConfig.getAuthenticatedCredentials when
|
|
107
|
-
* insecure (local) channel. The message never includes the API key.
|
|
108
|
+
* Thrown by EnvConfig.getAuthenticatedCredentials when the service address is
|
|
109
|
+
* an insecure (local) channel. The message never includes the API key.
|
|
108
110
|
*/
|
|
109
111
|
export class InsecureChannelAuthError extends Error {
|
|
110
112
|
constructor() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unit tests for Issue #114: each wrapper service hands the generated gRPC
|
|
3
3
|
* client the authenticated credentials when given an apiKey, and
|
|
4
|
-
* EnvConfig.
|
|
4
|
+
* EnvConfig.credentialsFor(service) otherwise, for its own service (LM-287).
|
|
5
5
|
*
|
|
6
6
|
* The generated *_grpc_pb clients are mocked, so no channel is opened.
|
|
7
7
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Unit tests for Issue #114: each wrapper service hands the generated gRPC
|
|
4
4
|
* client the authenticated credentials when given an apiKey, and
|
|
5
|
-
* EnvConfig.
|
|
5
|
+
* EnvConfig.credentialsFor(service) otherwise, for its own service (LM-287).
|
|
6
6
|
*
|
|
7
7
|
* The generated *_grpc_pb clients are mocked, so no channel is opened.
|
|
8
8
|
*/
|
|
@@ -50,6 +50,7 @@ jest.mock('../../fintekkers/services/transaction-service/transaction_service_grp
|
|
|
50
50
|
}));
|
|
51
51
|
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
52
52
|
const requestcontext_1 = __importDefault(require("../models/utils/requestcontext"));
|
|
53
|
+
const serviceaddress_1 = require("../util/serviceaddress");
|
|
53
54
|
const portfolio_service_grpc_pb_1 = require("../../fintekkers/services/portfolio-service/portfolio_service_grpc_pb");
|
|
54
55
|
const position_service_grpc_pb_1 = require("../../fintekkers/services/position-service/position_service_grpc_pb");
|
|
55
56
|
const price_service_grpc_pb_1 = require("../../fintekkers/services/price-service/price_service_grpc_pb");
|
|
@@ -61,11 +62,11 @@ const PriceService_1 = require("./price-service/PriceService");
|
|
|
61
62
|
const SecurityService_1 = require("./security-service/SecurityService");
|
|
62
63
|
const TransactionService_1 = require("./transaction-service/TransactionService");
|
|
63
64
|
const cases = [
|
|
64
|
-
['PortfolioService', PortfolioService_1.PortfolioService, portfolio_service_grpc_pb_1.PortfolioClient],
|
|
65
|
-
['PositionService', PositionService_1.PositionService, position_service_grpc_pb_1.PositionClient],
|
|
66
|
-
['PriceService', PriceService_1.PriceService, price_service_grpc_pb_1.PriceClient],
|
|
67
|
-
['SecurityService', SecurityService_1.SecurityService, security_service_grpc_pb_1.SecurityClient],
|
|
68
|
-
['TransactionService', TransactionService_1.TransactionService, transaction_service_grpc_pb_1.TransactionClient],
|
|
65
|
+
['PortfolioService', PortfolioService_1.PortfolioService, portfolio_service_grpc_pb_1.PortfolioClient, serviceaddress_1.Service.PORTFOLIO],
|
|
66
|
+
['PositionService', PositionService_1.PositionService, position_service_grpc_pb_1.PositionClient, serviceaddress_1.Service.POSITION],
|
|
67
|
+
['PriceService', PriceService_1.PriceService, price_service_grpc_pb_1.PriceClient, serviceaddress_1.Service.PRICE],
|
|
68
|
+
['SecurityService', SecurityService_1.SecurityService, security_service_grpc_pb_1.SecurityClient, serviceaddress_1.Service.SECURITY],
|
|
69
|
+
['TransactionService', TransactionService_1.TransactionService, transaction_service_grpc_pb_1.TransactionClient, serviceaddress_1.Service.TRANSACTION],
|
|
69
70
|
];
|
|
70
71
|
beforeEach(() => {
|
|
71
72
|
jest.clearAllMocks();
|
|
@@ -73,7 +74,7 @@ beforeEach(() => {
|
|
|
73
74
|
afterEach(() => {
|
|
74
75
|
jest.restoreAllMocks();
|
|
75
76
|
});
|
|
76
|
-
describe.each(cases)('%s', (_name, Service, Client) => {
|
|
77
|
+
describe.each(cases)('%s', (_name, Service, Client, service) => {
|
|
77
78
|
const ClientMock = Client;
|
|
78
79
|
test('with apiKey, client gets the authenticated credentials', () => {
|
|
79
80
|
const sentinel = {
|
|
@@ -84,18 +85,19 @@ describe.each(cases)('%s', (_name, Service, Client) => {
|
|
|
84
85
|
.spyOn(requestcontext_1.default, 'getAuthenticatedClientOptions')
|
|
85
86
|
.mockReturnValue(sentinel);
|
|
86
87
|
new Service('k');
|
|
87
|
-
expect(authSpy).toHaveBeenCalledWith('k');
|
|
88
|
+
expect(authSpy).toHaveBeenCalledWith('k', service);
|
|
88
89
|
expect(ClientMock).toHaveBeenCalledTimes(1);
|
|
89
|
-
expect(ClientMock).toHaveBeenCalledWith(requestcontext_1.default.
|
|
90
|
+
expect(ClientMock).toHaveBeenCalledWith(requestcontext_1.default.urlFor(service), sentinel.credentials, { interceptors: sentinel.interceptors });
|
|
90
91
|
});
|
|
91
|
-
test('zero-arg constructor constructs with EnvConfig.
|
|
92
|
+
test('zero-arg constructor constructs with EnvConfig.credentialsFor(service)', () => {
|
|
92
93
|
const plain = grpc.credentials.createInsecure();
|
|
93
|
-
jest.spyOn(requestcontext_1.default, '
|
|
94
|
+
const credsSpy = jest.spyOn(requestcontext_1.default, 'credentialsFor').mockReturnValue(plain);
|
|
94
95
|
const authSpy = jest.spyOn(requestcontext_1.default, 'getAuthenticatedClientOptions');
|
|
95
96
|
expect(new Service()).toBeDefined();
|
|
96
97
|
expect(authSpy).not.toHaveBeenCalled();
|
|
98
|
+
expect(credsSpy).toHaveBeenCalledWith(service);
|
|
97
99
|
expect(ClientMock).toHaveBeenCalledTimes(1);
|
|
98
|
-
expect(ClientMock).toHaveBeenCalledWith(requestcontext_1.default.
|
|
100
|
+
expect(ClientMock).toHaveBeenCalledWith(requestcontext_1.default.urlFor(service), plain);
|
|
99
101
|
});
|
|
100
102
|
});
|
|
101
103
|
//# sourceMappingURL=apikey.credentials.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apikey.credentials.test.js","sourceRoot":"","sources":["apikey.credentials.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,IAAI,CAAC,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE,CAAC,CAAC;IACxF,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE,CAAC,CAAC;IACtF,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;CAC1B,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE,CAAC,CAAC;IAChF,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;CACvB,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE,CAAC,CAAC;IACtF,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;CAC1B,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5F,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE;CAC7B,CAAC,CAAC,CAAC;AAEJ,oDAAsC;AACtC,oFAAuD;AACvD,qHAAwG;AACxG,kHAAqG;AACrG,yGAA4F;AAC5F,kHAAqG;AACrG,2HAA8G;AAC9G,2EAAwE;AACxE,wEAAqE;AACrE,+DAA4D;AAC5D,wEAAqE;AACrE,iFAA8E;AAE9E,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"apikey.credentials.test.js","sourceRoot":"","sources":["apikey.credentials.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unit tests for Issue #114: each wrapper service hands the generated gRPC
|
|
3
3
|
* client the authenticated credentials when given an apiKey, and
|
|
4
|
-
* EnvConfig.
|
|
4
|
+
* EnvConfig.credentialsFor(service) otherwise, for its own service (LM-287).
|
|
5
5
|
*
|
|
6
6
|
* The generated *_grpc_pb clients are mocked, so no channel is opened.
|
|
7
7
|
*/
|
|
@@ -24,6 +24,7 @@ jest.mock('../../fintekkers/services/transaction-service/transaction_service_grp
|
|
|
24
24
|
|
|
25
25
|
import * as grpc from '@grpc/grpc-js';
|
|
26
26
|
import EnvConfig from '../models/utils/requestcontext';
|
|
27
|
+
import { Service as ServiceName } from '../util/serviceaddress';
|
|
27
28
|
import { PortfolioClient } from '../../fintekkers/services/portfolio-service/portfolio_service_grpc_pb';
|
|
28
29
|
import { PositionClient } from '../../fintekkers/services/position-service/position_service_grpc_pb';
|
|
29
30
|
import { PriceClient } from '../../fintekkers/services/price-service/price_service_grpc_pb';
|
|
@@ -35,12 +36,12 @@ import { PriceService } from './price-service/PriceService';
|
|
|
35
36
|
import { SecurityService } from './security-service/SecurityService';
|
|
36
37
|
import { TransactionService } from './transaction-service/TransactionService';
|
|
37
38
|
|
|
38
|
-
const cases: Array<[string, new (apiKey?: string) => unknown, unknown]> = [
|
|
39
|
-
['PortfolioService', PortfolioService, PortfolioClient],
|
|
40
|
-
['PositionService', PositionService, PositionClient],
|
|
41
|
-
['PriceService', PriceService, PriceClient],
|
|
42
|
-
['SecurityService', SecurityService, SecurityClient],
|
|
43
|
-
['TransactionService', TransactionService, TransactionClient],
|
|
39
|
+
const cases: Array<[string, new (apiKey?: string) => unknown, unknown, ServiceName]> = [
|
|
40
|
+
['PortfolioService', PortfolioService, PortfolioClient, ServiceName.PORTFOLIO],
|
|
41
|
+
['PositionService', PositionService, PositionClient, ServiceName.POSITION],
|
|
42
|
+
['PriceService', PriceService, PriceClient, ServiceName.PRICE],
|
|
43
|
+
['SecurityService', SecurityService, SecurityClient, ServiceName.SECURITY],
|
|
44
|
+
['TransactionService', TransactionService, TransactionClient, ServiceName.TRANSACTION],
|
|
44
45
|
];
|
|
45
46
|
|
|
46
47
|
beforeEach(() => {
|
|
@@ -51,7 +52,7 @@ afterEach(() => {
|
|
|
51
52
|
jest.restoreAllMocks();
|
|
52
53
|
});
|
|
53
54
|
|
|
54
|
-
describe.each(cases)('%s', (_name, Service, Client) => {
|
|
55
|
+
describe.each(cases)('%s', (_name, Service, Client, service) => {
|
|
55
56
|
const ClientMock = Client as jest.Mock;
|
|
56
57
|
|
|
57
58
|
test('with apiKey, client gets the authenticated credentials', () => {
|
|
@@ -65,24 +66,25 @@ describe.each(cases)('%s', (_name, Service, Client) => {
|
|
|
65
66
|
|
|
66
67
|
new Service('k');
|
|
67
68
|
|
|
68
|
-
expect(authSpy).toHaveBeenCalledWith('k');
|
|
69
|
+
expect(authSpy).toHaveBeenCalledWith('k', service);
|
|
69
70
|
expect(ClientMock).toHaveBeenCalledTimes(1);
|
|
70
71
|
expect(ClientMock).toHaveBeenCalledWith(
|
|
71
|
-
EnvConfig.
|
|
72
|
+
EnvConfig.urlFor(service),
|
|
72
73
|
sentinel.credentials,
|
|
73
74
|
{ interceptors: sentinel.interceptors }
|
|
74
75
|
);
|
|
75
76
|
});
|
|
76
77
|
|
|
77
|
-
test('zero-arg constructor constructs with EnvConfig.
|
|
78
|
+
test('zero-arg constructor constructs with EnvConfig.credentialsFor(service)', () => {
|
|
78
79
|
const plain = grpc.credentials.createInsecure();
|
|
79
|
-
jest.spyOn(EnvConfig, '
|
|
80
|
+
const credsSpy = jest.spyOn(EnvConfig, 'credentialsFor').mockReturnValue(plain);
|
|
80
81
|
const authSpy = jest.spyOn(EnvConfig, 'getAuthenticatedClientOptions');
|
|
81
82
|
|
|
82
83
|
expect(new Service()).toBeDefined();
|
|
83
84
|
|
|
84
85
|
expect(authSpy).not.toHaveBeenCalled();
|
|
86
|
+
expect(credsSpy).toHaveBeenCalledWith(service);
|
|
85
87
|
expect(ClientMock).toHaveBeenCalledTimes(1);
|
|
86
|
-
expect(ClientMock).toHaveBeenCalledWith(EnvConfig.
|
|
88
|
+
expect(ClientMock).toHaveBeenCalledWith(EnvConfig.urlFor(service), plain);
|
|
87
89
|
});
|
|
88
90
|
});
|
|
@@ -12,7 +12,7 @@ const PriceService_1 = require("./price-service/PriceService");
|
|
|
12
12
|
const SecurityService_1 = require("./security-service/SecurityService");
|
|
13
13
|
const TransactionService_1 = require("./transaction-service/TransactionService");
|
|
14
14
|
// No server connection is made in constructors — gRPC connects lazily.
|
|
15
|
-
//
|
|
15
|
+
// Addresses come from the environment (BROKER_HOST, API_URL, else localhost).
|
|
16
16
|
describe('PortfolioService', () => {
|
|
17
17
|
test('zero-arg constructor succeeds', () => {
|
|
18
18
|
expect(() => new PortfolioService_1.PortfolioService()).not.toThrow();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apikey.test.js","sourceRoot":"","sources":["apikey.test.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,2EAAwE;AACxE,wEAAqE;AACrE,+DAA4D;AAC5D,wEAAqE;AACrE,iFAA8E;AAE9E,uEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"apikey.test.js","sourceRoot":"","sources":["apikey.test.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,2EAAwE;AACxE,wEAAqE;AACrE,+DAA4D;AAC5D,wEAAqE;AACrE,iFAA8E;AAE9E,uEAAuE;AACvE,8EAA8E;AAE9E,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,2BAAY,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,iCAAe,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,uCAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -12,7 +12,7 @@ import { SecurityService } from './security-service/SecurityService';
|
|
|
12
12
|
import { TransactionService } from './transaction-service/TransactionService';
|
|
13
13
|
|
|
14
14
|
// No server connection is made in constructors — gRPC connects lazily.
|
|
15
|
-
//
|
|
15
|
+
// Addresses come from the environment (BROKER_HOST, API_URL, else localhost).
|
|
16
16
|
|
|
17
17
|
describe('PortfolioService', () => {
|
|
18
18
|
test('zero-arg constructor succeeds', () => {
|
|
@@ -6,7 +6,8 @@ import { PositionFilter } from '../../models/position/positionfilter';
|
|
|
6
6
|
import Portfolio from '../../models/portfolio/portfolio';
|
|
7
7
|
declare class PortfolioService {
|
|
8
8
|
private client;
|
|
9
|
-
|
|
9
|
+
/** Read on every access, so a changed environment is picked up. */
|
|
10
|
+
static get url(): string;
|
|
10
11
|
constructor(apiKey?: string);
|
|
11
12
|
validateCreatePortfolio(portfolio: PortfolioProto): Promise<SummaryProto>;
|
|
12
13
|
createPortfolio(portfolio: PortfolioProto): Promise<CreatePortfolioResponseProto>;
|
|
@@ -43,18 +43,23 @@ const portfolio_service_grpc_pb_1 = require("../../../fintekkers/services/portfo
|
|
|
43
43
|
const query_portfolio_request_pb_1 = require("../../../fintekkers/requests/portfolio/query_portfolio_request_pb");
|
|
44
44
|
const create_portfolio_request_pb_1 = require("../../../fintekkers/requests/portfolio/create_portfolio_request_pb");
|
|
45
45
|
const requestcontext_1 = __importDefault(require("../../models/utils/requestcontext"));
|
|
46
|
+
const serviceaddress_1 = require("../../util/serviceaddress");
|
|
46
47
|
const portfolio_1 = __importDefault(require("../../models/portfolio/portfolio"));
|
|
47
48
|
const uuid_1 = require("../../models/utils/uuid");
|
|
48
49
|
const datetime_1 = require("../../models/utils/datetime");
|
|
49
50
|
const LinkCacheModule = __importStar(require("../../util/link-cache"));
|
|
50
51
|
class PortfolioService {
|
|
52
|
+
/** Read on every access, so a changed environment is picked up. */
|
|
53
|
+
static get url() {
|
|
54
|
+
return requestcontext_1.default.urlFor(serviceaddress_1.Service.PORTFOLIO);
|
|
55
|
+
}
|
|
51
56
|
constructor(apiKey) {
|
|
52
57
|
if (apiKey) {
|
|
53
|
-
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(apiKey);
|
|
54
|
-
this.client = new portfolio_service_grpc_pb_1.PortfolioClient(requestcontext_1.default.
|
|
58
|
+
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(apiKey, serviceaddress_1.Service.PORTFOLIO);
|
|
59
|
+
this.client = new portfolio_service_grpc_pb_1.PortfolioClient(requestcontext_1.default.urlFor(serviceaddress_1.Service.PORTFOLIO), credentials, { interceptors });
|
|
55
60
|
}
|
|
56
61
|
else {
|
|
57
|
-
this.client = new portfolio_service_grpc_pb_1.PortfolioClient(requestcontext_1.default.
|
|
62
|
+
this.client = new portfolio_service_grpc_pb_1.PortfolioClient(requestcontext_1.default.urlFor(serviceaddress_1.Service.PORTFOLIO), requestcontext_1.default.credentialsFor(serviceaddress_1.Service.PORTFOLIO));
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
65
|
validateCreatePortfolio(portfolio) {
|
|
@@ -121,5 +126,4 @@ class PortfolioService {
|
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
128
|
exports.PortfolioService = PortfolioService;
|
|
124
|
-
PortfolioService.url = requestcontext_1.default.apiURL;
|
|
125
129
|
//# sourceMappingURL=PortfolioService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortfolioService.js","sourceRoot":"","sources":["PortfolioService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAOjC,cAAc;AAEd,sBAAsB;AACtB,wHAA2G;AAC3G,kHAA+G;AAE/G,oHAAiH;AAEjH,uFAA0D;
|
|
1
|
+
{"version":3,"file":"PortfolioService.js","sourceRoot":"","sources":["PortfolioService.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { QueryPortfolioResponseProto } from '../../../fintekkers/requests/portfo
|
|
|
14
14
|
import { CreatePortfolioRequestProto } from '../../../fintekkers/requests/portfolio/create_portfolio_request_pb';
|
|
15
15
|
import { CreatePortfolioResponseProto } from '../../../fintekkers/requests/portfolio/create_portfolio_response_pb';
|
|
16
16
|
import EnvConfig from '../../models/utils/requestcontext';
|
|
17
|
+
import { Service } from '../../util/serviceaddress';
|
|
17
18
|
import { PositionFilter } from '../../models/position/positionfilter';
|
|
18
19
|
import Portfolio from '../../models/portfolio/portfolio';
|
|
19
20
|
import { UUID } from '../../models/utils/uuid';
|
|
@@ -23,14 +24,17 @@ import * as LinkCacheModule from '../../util/link-cache';
|
|
|
23
24
|
class PortfolioService {
|
|
24
25
|
private client: PortfolioClient;
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
/** Read on every access, so a changed environment is picked up. */
|
|
28
|
+
static get url(): string {
|
|
29
|
+
return EnvConfig.urlFor(Service.PORTFOLIO);
|
|
30
|
+
}
|
|
27
31
|
|
|
28
32
|
constructor(apiKey?: string) {
|
|
29
33
|
if (apiKey) {
|
|
30
|
-
const { credentials, interceptors } = EnvConfig.getAuthenticatedClientOptions(apiKey);
|
|
31
|
-
this.client = new PortfolioClient(EnvConfig.
|
|
34
|
+
const { credentials, interceptors } = EnvConfig.getAuthenticatedClientOptions(apiKey, Service.PORTFOLIO);
|
|
35
|
+
this.client = new PortfolioClient(EnvConfig.urlFor(Service.PORTFOLIO), credentials, { interceptors });
|
|
32
36
|
} else {
|
|
33
|
-
this.client = new PortfolioClient(EnvConfig.
|
|
37
|
+
this.client = new PortfolioClient(EnvConfig.urlFor(Service.PORTFOLIO), EnvConfig.credentialsFor(Service.PORTFOLIO));
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
|
|
@@ -19,14 +19,15 @@ const position_1 = require("../../models/position/position");
|
|
|
19
19
|
const position_service_grpc_pb_1 = require("../../../fintekkers/services/position-service/position_service_grpc_pb");
|
|
20
20
|
//Utils
|
|
21
21
|
const requestcontext_1 = __importDefault(require("../../models/utils/requestcontext"));
|
|
22
|
+
const serviceaddress_1 = require("../../util/serviceaddress");
|
|
22
23
|
class PositionService {
|
|
23
24
|
constructor(apiKey) {
|
|
24
25
|
if (apiKey) {
|
|
25
|
-
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(apiKey);
|
|
26
|
-
this.client = new position_service_grpc_pb_1.PositionClient(requestcontext_1.default.
|
|
26
|
+
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(apiKey, serviceaddress_1.Service.POSITION);
|
|
27
|
+
this.client = new position_service_grpc_pb_1.PositionClient(requestcontext_1.default.urlFor(serviceaddress_1.Service.POSITION), credentials, { interceptors });
|
|
27
28
|
}
|
|
28
29
|
else {
|
|
29
|
-
this.client = new position_service_grpc_pb_1.PositionClient(requestcontext_1.default.
|
|
30
|
+
this.client = new position_service_grpc_pb_1.PositionClient(requestcontext_1.default.urlFor(serviceaddress_1.Service.POSITION), requestcontext_1.default.credentialsFor(serviceaddress_1.Service.POSITION));
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
validateRequest(positionRequest) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionService.js","sourceRoot":"","sources":["PositionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS;AACT,6DAA0D;AAM1D,sBAAsB;AACtB,qHAAwG;AAExG,OAAO;AACP,uFAA0D;
|
|
1
|
+
{"version":3,"file":"PositionService.js","sourceRoot":"","sources":["PositionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS;AACT,6DAA0D;AAM1D,sBAAsB;AACtB,qHAAwG;AAExG,OAAO;AACP,uFAA0D;AAC1D,8DAAoD;AAIpD,MAAM,eAAe;IAGnB,YAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAS,CAAC,6BAA6B,CAAC,MAAM,EAAE,wBAAO,CAAC,QAAQ,CAAC,CAAC;YACxG,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;SACrG;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAc,CAAC,wBAAS,CAAC,MAAM,CAAC,wBAAO,CAAC,QAAQ,CAAC,EAAE,wBAAS,CAAC,cAAc,CAAC,wBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClH;IACH,CAAC;IAEK,eAAe,CAAC,eAAqC;;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9B,MAAM,OAAO,GAA8B,eAAe,CAAC,OAAO,EAAE,CAAC;YAErE,OAAO,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBAC1D,IAAI,KAAK,EAAE;wBACT,MAAM,CAAC,KAAK,CAAC,CAAC;qBACf;yBAAM;wBACL,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAAoC;qBACxD;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,MAAM,CAAC,eAAqC;;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9B,MAAM,aAAa,GAAe,EAAE,CAAC;YACrC,MAAM,OAAO,GAA8B,eAAe,CAAC,OAAO,EAAE,CAAC;YAErE,MAAM,eAAe,GAAG,IAAI,CAAC;YAE7B,SAAe,0BAA0B;;oBACvC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAE1C,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACjD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAoC,EAAE,EAAE;4BAC1D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gCAC/C,aAAa,CAAC,IAAI,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAC7C,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;4BACrB,OAAO,CAAC,aAAa,CAAC,CAAC;wBACzB,CAAC,CAAC,CAAC;wBAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;4BAC1B,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;4BAC3C,MAAM,CAAC,GAAG,CAAC,CAAC;wBACd,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;aAAA;YAED,OAAO,MAAM,0BAA0B,EAAE,CAAC;QAC5C,CAAC;KAAA;CACF;AAEQ,0CAAe"}
|
|
@@ -10,6 +10,7 @@ import { PositionClient } from '../../../fintekkers/services/position-service/po
|
|
|
10
10
|
|
|
11
11
|
//Utils
|
|
12
12
|
import EnvConfig from '../../models/utils/requestcontext';
|
|
13
|
+
import { Service } from '../../util/serviceaddress';
|
|
13
14
|
import { QueryPositionRequest } from '../../requests/position/QueryPositionRequest';
|
|
14
15
|
import { SummaryProto } from '../../../fintekkers/requests/util/errors/summary_pb';
|
|
15
16
|
|
|
@@ -18,10 +19,10 @@ class PositionService {
|
|
|
18
19
|
|
|
19
20
|
constructor(apiKey?: string) {
|
|
20
21
|
if (apiKey) {
|
|
21
|
-
const { credentials, interceptors } = EnvConfig.getAuthenticatedClientOptions(apiKey);
|
|
22
|
-
this.client = new PositionClient(EnvConfig.
|
|
22
|
+
const { credentials, interceptors } = EnvConfig.getAuthenticatedClientOptions(apiKey, Service.POSITION);
|
|
23
|
+
this.client = new PositionClient(EnvConfig.urlFor(Service.POSITION), credentials, { interceptors });
|
|
23
24
|
} else {
|
|
24
|
-
this.client = new PositionClient(EnvConfig.
|
|
25
|
+
this.client = new PositionClient(EnvConfig.urlFor(Service.POSITION), EnvConfig.credentialsFor(Service.POSITION));
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
|
|
@@ -46,16 +46,17 @@ const create_price_request_pb_1 = require("../../../fintekkers/requests/price/cr
|
|
|
46
46
|
const uuid_1 = require("../../models/utils/uuid");
|
|
47
47
|
const dt = __importStar(require("../../models/utils/datetime"));
|
|
48
48
|
const requestcontext_1 = __importDefault(require("../../models/utils/requestcontext"));
|
|
49
|
+
const serviceaddress_1 = require("../../util/serviceaddress");
|
|
49
50
|
const link_resolver_1 = __importDefault(require("../../util/link-resolver"));
|
|
50
51
|
const LinkCacheModule = __importStar(require("../../util/link-cache"));
|
|
51
52
|
class PriceService {
|
|
52
53
|
constructor(apiKey) {
|
|
53
54
|
if (apiKey) {
|
|
54
|
-
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(apiKey);
|
|
55
|
-
this.client = new price_service_grpc_pb_1.PriceClient(requestcontext_1.default.
|
|
55
|
+
const { credentials, interceptors } = requestcontext_1.default.getAuthenticatedClientOptions(apiKey, serviceaddress_1.Service.PRICE);
|
|
56
|
+
this.client = new price_service_grpc_pb_1.PriceClient(requestcontext_1.default.urlFor(serviceaddress_1.Service.PRICE), credentials, { interceptors });
|
|
56
57
|
}
|
|
57
58
|
else {
|
|
58
|
-
this.client = new price_service_grpc_pb_1.PriceClient(requestcontext_1.default.
|
|
59
|
+
this.client = new price_service_grpc_pb_1.PriceClient(requestcontext_1.default.urlFor(serviceaddress_1.Service.PRICE), requestcontext_1.default.credentialsFor(serviceaddress_1.Service.PRICE));
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceService.js","sourceRoot":"","sources":["PriceService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiC;AAEjC,qEAA6C;AAC7C,yEAAsE;AACtE,2EAA0E;AAK1E,4GAA+F;AAC/F,sGAAmG;AAEnG,wGAAqG;AAGrG,kDAA+C;AAC/C,gEAAkD;AAClD,uFAA0D;AAC1D,6EAAoD;AACpD,uEAAyD;AAEzD,MAAM,YAAY;IAGhB,YAAY,MAAe;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,wBAAS,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PriceService.js","sourceRoot":"","sources":["PriceService.ts"],"names":[],"mappings":"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"}
|