@sap/cds 9.6.3 → 9.6.4
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 +7 -0
- package/lib/srv/bindings.js +8 -1
- package/libx/queue/index.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
- The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
5
5
|
- This project adheres to [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## Version 9.6.4 - 2026-01-20
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- `queue`: Too eager removal of control data from deserialized task
|
|
12
|
+
- Stop overriding existing `cds.requires.[service].credentials` configurations using values from `.cds-services.json`
|
|
13
|
+
|
|
7
14
|
## Version 9.6.3 - 2026-01-14
|
|
8
15
|
|
|
9
16
|
### Fixed
|
package/lib/srv/bindings.js
CHANGED
|
@@ -20,16 +20,21 @@ class Bindings {
|
|
|
20
20
|
bind (service) {
|
|
21
21
|
let required = cds.requires [service]
|
|
22
22
|
let binding = this.provides [required?.service || service]
|
|
23
|
-
|
|
23
|
+
|
|
24
|
+
if (binding?.endpoints && !required.credentials) {
|
|
25
|
+
// > Re-route requests to the mock service running locally
|
|
26
|
+
|
|
24
27
|
const server = this.servers [binding.server]
|
|
25
28
|
const kind = [ required?.kind, 'hcql', 'rest', 'odata' ].find (k => k in binding.endpoints)
|
|
26
29
|
const path = binding.endpoints [kind]
|
|
30
|
+
|
|
27
31
|
// in case of cds.requires.Foo = { ... }
|
|
28
32
|
if (typeof required === 'object') required.credentials = {
|
|
29
33
|
...required.credentials,
|
|
30
34
|
...binding.credentials,
|
|
31
35
|
url: server.url + path
|
|
32
36
|
}
|
|
37
|
+
|
|
33
38
|
// in case of cds.requires.Foo = true
|
|
34
39
|
else required = cds.requires[service] = cds.env.requires[service] = {
|
|
35
40
|
...cds.requires.kinds [binding.kind],
|
|
@@ -38,11 +43,13 @@ class Bindings {
|
|
|
38
43
|
url: server.url + path
|
|
39
44
|
}
|
|
40
45
|
}
|
|
46
|
+
|
|
41
47
|
required.kind = kind
|
|
42
48
|
// REVISIT: temporary fix to inherit kind as well for mocked odata services
|
|
43
49
|
// otherwise mocking with two services does not work for kind:odata-v2
|
|
44
50
|
if (kind === 'odata-v2' || kind === 'odata-v4') required.kind = 'odata'
|
|
45
51
|
}
|
|
52
|
+
|
|
46
53
|
return required
|
|
47
54
|
}
|
|
48
55
|
|
package/libx/queue/index.js
CHANGED
|
@@ -191,7 +191,8 @@ const _processTasks = (target, tenant, _opts = {}) => {
|
|
|
191
191
|
const _msg = _safeJSONParse(_task.msg)
|
|
192
192
|
|
|
193
193
|
const context = _msg.context || {}
|
|
194
|
-
|
|
194
|
+
// REVISIT: controlled context propagation
|
|
195
|
+
// delete _msg.context
|
|
195
196
|
|
|
196
197
|
const userId = _msg[INTERNAL_USER]
|
|
197
198
|
delete _msg[INTERNAL_USER]
|