@restorecommerce/acs-client 3.0.13 → 3.0.15
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 +20 -0
- package/lib/acs/decorators.d.ts +2 -0
- package/lib/acs/decorators.d.ts.map +1 -1
- package/lib/acs/decorators.js +38 -23
- package/lib/acs/decorators.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.0.15](https://github.com/restorecommerce/libs/compare/@restorecommerce/acs-client@3.0.14...@restorecommerce/acs-client@3.0.15) (2025-05-19)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @restorecommerce/acs-client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.0.14](https://github.com/restorecommerce/libs/compare/@restorecommerce/acs-client@3.0.13...@restorecommerce/acs-client@3.0.14) (2025-05-14)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **acs-client:** correct abstraction of ServiceConfig ([2660594](https://github.com/restorecommerce/libs/commit/2660594ae91ca07586abc3d1a091603c3562d29c))
|
|
20
|
+
* **protos:** fix typos in proto, load meta in acs decorater, refactor logger filePath detector ([8f02eee](https://github.com/restorecommerce/libs/commit/8f02eee6460b9c48f2f8416b08017f6ba11caf4e))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
6
26
|
## [3.0.13](https://github.com/restorecommerce/libs/compare/@restorecommerce/acs-client@3.0.12...@restorecommerce/acs-client@3.0.13) (2025-03-31)
|
|
7
27
|
|
|
8
28
|
**Note:** Version bump only for package @restorecommerce/acs-client
|
package/lib/acs/decorators.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type CallOptions } from 'nice-grpc';
|
|
2
|
+
import { Logger } from '@restorecommerce/logger';
|
|
2
3
|
import { Client } from '@restorecommerce/grpc-client';
|
|
3
4
|
import { UserServiceDefinition } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/user';
|
|
4
5
|
import { ResourceList } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/resource_base';
|
|
@@ -12,6 +13,7 @@ export type SubjectResolver<T extends ResourceList> = (self: any, request: T, ..
|
|
|
12
13
|
export interface AccessControlledService {
|
|
13
14
|
readonly __userService: Client<UserServiceDefinition>;
|
|
14
15
|
readonly __acsDatabaseProvider: DatabaseProvider;
|
|
16
|
+
readonly logger?: Logger;
|
|
15
17
|
}
|
|
16
18
|
export declare const DefaultACSClientContextFactory: <T extends ResourceList>(self: any, request: T, context: any) => Promise<ACSClientContext>;
|
|
17
19
|
export declare function DefaultResourceFactory<T extends ResourceList>(...resourceNames: string[]): ResourceFactory<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/acs/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/acs/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/acs/decorators.js
CHANGED
|
@@ -19,6 +19,7 @@ const resolver_1 = require("./resolver");
|
|
|
19
19
|
const config_1 = require("../config");
|
|
20
20
|
const utils_1 = require("../utils");
|
|
21
21
|
const crypto_1 = require("crypto");
|
|
22
|
+
const filter_1 = require("@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/filter");
|
|
22
23
|
const DefaultACSClientContextFactory = async (self, request, context) => ({
|
|
23
24
|
...context,
|
|
24
25
|
subject: request.subject,
|
|
@@ -47,29 +48,42 @@ const DefaultSubjectResolver = async (self, request, ...args) => {
|
|
|
47
48
|
exports.DefaultSubjectResolver = DefaultSubjectResolver;
|
|
48
49
|
const DefaultMetaDataInjector = async (self, request, ...args) => {
|
|
49
50
|
const urns = config_1.cfg.get('authorization:urns');
|
|
51
|
+
const ids = [...new Set(request.items?.map((item) => item.id).filter(id => id) ?? []).values()];
|
|
52
|
+
const meta_map = ids.length ? await self.read({
|
|
53
|
+
filters: [{
|
|
54
|
+
filters: [{
|
|
55
|
+
field: '_key',
|
|
56
|
+
operation: filter_1.Filter_Operation.in,
|
|
57
|
+
value: JSON.stringify(ids),
|
|
58
|
+
type: filter_1.Filter_ValueType.ARRAY,
|
|
59
|
+
}]
|
|
60
|
+
}],
|
|
61
|
+
limit: ids.length,
|
|
62
|
+
subject: request.subject
|
|
63
|
+
}).then((response) => new Map(response.items?.filter(item => item.payload).map(item => [item.payload.id, item.payload.meta]))) : undefined;
|
|
50
64
|
request.items?.forEach((item) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
item.meta ??= meta_map?.get(item.id) ?? {};
|
|
66
|
+
item.meta.modified ??= new Date();
|
|
67
|
+
item.meta.modified_by ??= request.subject?.id;
|
|
68
|
+
item.meta.owners ??= [
|
|
69
|
+
request.subject?.scope ? {
|
|
70
|
+
id: urns.ownerIndicatoryEntity,
|
|
71
|
+
value: urns.organization,
|
|
72
|
+
attributes: [{
|
|
73
|
+
id: urns.ownerInstance,
|
|
74
|
+
value: request.subject.scope
|
|
75
|
+
}],
|
|
76
|
+
} : undefined,
|
|
77
|
+
request.subject?.id ? {
|
|
78
|
+
id: urns.ownerIndicatoryEntity,
|
|
79
|
+
value: urns.user,
|
|
80
|
+
attributes: [{
|
|
81
|
+
id: urns.ownerInstance,
|
|
82
|
+
value: request.subject.id
|
|
83
|
+
}],
|
|
84
|
+
} : undefined,
|
|
85
|
+
].filter(i => i);
|
|
86
|
+
item.id ??= (0, crypto_1.randomUUID)().replace(/-/g, '');
|
|
73
87
|
});
|
|
74
88
|
return request;
|
|
75
89
|
};
|
|
@@ -156,9 +170,10 @@ function access_controlled_function(kwargs) {
|
|
|
156
170
|
return property?.length ? utils_1._.omitDeep(appResponse, property) : appResponse;
|
|
157
171
|
}
|
|
158
172
|
catch (err) {
|
|
173
|
+
that.logger?.error('Operation Status Error:', err);
|
|
159
174
|
return {
|
|
160
175
|
operation_status: {
|
|
161
|
-
code: err.code
|
|
176
|
+
code: Number.isInteger(err.code) ? err.code : 500,
|
|
162
177
|
message: err.details ?? err.message ?? err,
|
|
163
178
|
}
|
|
164
179
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/acs/decorators.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/acs/decorators.ts"],"names":[],"mappings":"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"}
|