@sap/cds 8.9.4 → 9.0.3

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.
Files changed (622) hide show
  1. package/CHANGELOG.md +121 -680
  2. package/LICENSE +15 -21
  3. package/README.md +1 -1
  4. package/_i18n/i18n_sl.properties +3 -3
  5. package/_i18n/messages.properties +1 -1
  6. package/app/index.js +1 -1
  7. package/bin/serve.js +17 -19
  8. package/eslint.config.mjs +7 -1
  9. package/lib/compile/etc/_localized.js +3 -24
  10. package/lib/compile/etc/yaml.js +6 -15
  11. package/lib/compile/for/odata.js +2 -2
  12. package/lib/compile/load.js +15 -4
  13. package/lib/compile/minify.js +1 -0
  14. package/lib/compile/to/edm-files.js +4 -33
  15. package/lib/compile/to/hdbtabledata.js +16 -3
  16. package/lib/compile/to/sql.js +1 -2
  17. package/lib/core/linked-csn.js +7 -8
  18. package/lib/dbs/cds-deploy.js +4 -3
  19. package/lib/env/cds-env.js +9 -9
  20. package/lib/env/cds-requires.js +23 -50
  21. package/lib/env/defaults.js +15 -44
  22. package/lib/env/schemas/cds-package.js +1 -1
  23. package/lib/i18n/index.js +1 -0
  24. package/lib/i18n/locale.js +41 -0
  25. package/lib/index.js +25 -15
  26. package/lib/log/cds-error.js +13 -3
  27. package/lib/log/cds-log.js +43 -18
  28. package/lib/log/format/aspects/als.js +2 -15
  29. package/lib/plugins.js +11 -11
  30. package/lib/ql/CREATE.js +1 -1
  31. package/lib/ql/DELETE.js +1 -1
  32. package/lib/ql/DROP.js +1 -1
  33. package/lib/ql/INSERT.js +9 -18
  34. package/lib/ql/SELECT.js +12 -19
  35. package/lib/ql/UPDATE.js +1 -1
  36. package/lib/ql/UPSERT.js +1 -0
  37. package/lib/ql/Whereable.js +7 -6
  38. package/lib/ql/cds-ql.js +0 -12
  39. package/lib/ql/cds.ql-Query.js +28 -68
  40. package/lib/ql/cds.ql-infer.js +97 -108
  41. package/lib/ql/resolve.js +1 -3
  42. package/lib/req/context.js +5 -4
  43. package/lib/req/request.js +46 -42
  44. package/lib/req/response.js +5 -9
  45. package/lib/req/spawn.js +38 -0
  46. package/lib/req/validate.js +9 -8
  47. package/lib/srv/bindings.js +2 -1
  48. package/lib/srv/cds-connect.js +5 -2
  49. package/lib/srv/cds-serve.js +0 -2
  50. package/lib/srv/cds.Service.js +146 -86
  51. package/lib/srv/middlewares/auth/ias-auth.js +99 -88
  52. package/lib/srv/middlewares/auth/jwt-auth.js +44 -57
  53. package/lib/srv/middlewares/cds-context.js +1 -1
  54. package/lib/srv/middlewares/ctx-model.js +1 -1
  55. package/lib/srv/middlewares/errors.js +34 -42
  56. package/lib/srv/protocols/hcql.js +35 -25
  57. package/lib/srv/protocols/index.js +0 -9
  58. package/lib/srv/protocols/odata-v4.js +1 -6
  59. package/lib/srv/srv-dispatch.js +29 -31
  60. package/lib/srv/srv-handlers.js +14 -46
  61. package/lib/srv/srv-methods.js +15 -37
  62. package/lib/srv/srv-tx.js +19 -25
  63. package/lib/test/cds-test.js +4 -263
  64. package/lib/utils/cds-utils.js +18 -2
  65. package/lib/utils/tar.js +6 -8
  66. package/lib/utils/unit.js +19 -0
  67. package/libx/_runtime/.eslintrc +1 -1
  68. package/libx/_runtime/cds-services/util/assert.js +2 -72
  69. package/libx/_runtime/cds.js +13 -6
  70. package/libx/_runtime/common/Service.js +33 -75
  71. package/libx/_runtime/common/aspects/any.js +0 -38
  72. package/libx/_runtime/common/constants/events.js +5 -13
  73. package/libx/_runtime/common/generic/auth/autoexpose.js +10 -24
  74. package/libx/_runtime/common/generic/auth/capabilities.js +23 -20
  75. package/libx/_runtime/common/generic/auth/expand.js +3 -3
  76. package/libx/_runtime/common/generic/auth/index.js +3 -3
  77. package/libx/_runtime/common/generic/auth/insertOnly.js +3 -3
  78. package/libx/_runtime/common/generic/auth/readOnly.js +4 -4
  79. package/libx/_runtime/common/generic/auth/requires.js +4 -4
  80. package/libx/_runtime/common/generic/auth/restrict.js +12 -29
  81. package/libx/_runtime/common/generic/auth/service.js +3 -3
  82. package/libx/_runtime/common/generic/auth/utils.js +2 -12
  83. package/libx/_runtime/common/generic/crud.js +22 -53
  84. package/libx/_runtime/common/generic/etag.js +18 -31
  85. package/libx/_runtime/common/generic/input.js +51 -123
  86. package/libx/_runtime/common/generic/paging.js +4 -4
  87. package/libx/_runtime/common/generic/sorting.js +8 -19
  88. package/libx/_runtime/common/generic/stream-only.js +26 -0
  89. package/libx/_runtime/common/generic/stream.js +16 -48
  90. package/libx/_runtime/common/generic/temporal.js +15 -7
  91. package/libx/_runtime/common/utils/binary.js +1 -26
  92. package/libx/_runtime/common/utils/compareJson.js +1 -2
  93. package/libx/_runtime/common/utils/cqn.js +15 -14
  94. package/libx/_runtime/common/utils/differ.js +121 -44
  95. package/libx/_runtime/common/utils/keys.js +4 -5
  96. package/libx/_runtime/common/utils/normalizeTimestamp.js +10 -1
  97. package/libx/_runtime/common/utils/postProcess.js +2 -2
  98. package/libx/_runtime/common/utils/propagateForeignKeys.js +21 -36
  99. package/libx/_runtime/common/utils/resolveView.js +105 -141
  100. package/libx/_runtime/common/utils/rewriteAsterisks.js +45 -12
  101. package/libx/_runtime/common/utils/streamProp.js +3 -9
  102. package/libx/_runtime/common/utils/waitingTime.js +13 -1
  103. package/libx/_runtime/fiori/lean-draft.js +174 -196
  104. package/libx/_runtime/messaging/common-utils/connections.js +1 -1
  105. package/libx/_runtime/messaging/enterprise-messaging-utils/EMManagement.js +1 -0
  106. package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +3 -3
  107. package/libx/_runtime/messaging/enterprise-messaging.js +2 -2
  108. package/libx/_runtime/messaging/file-based.js +2 -4
  109. package/libx/_runtime/messaging/redis-messaging.js +1 -1
  110. package/libx/_runtime/messaging/service.js +5 -19
  111. package/libx/_runtime/remote/Service.js +20 -33
  112. package/libx/_runtime/remote/utils/client.js +7 -25
  113. package/libx/_runtime/remote/utils/cloudSdkProvider.js +8 -13
  114. package/libx/_runtime/remote/utils/data.js +3 -34
  115. package/libx/_runtime/types/api.js +0 -8
  116. package/libx/_runtime/ucl/Service.js +1 -9
  117. package/libx/common/utils/path.js +2 -3
  118. package/libx/common/utils/streaming.js +2 -1
  119. package/libx/http/HttpRequest.js +13 -0
  120. package/libx/{odata/middleware → http}/body-parser.js +7 -5
  121. package/libx/http/location.js +41 -0
  122. package/libx/http/put.js +36 -0
  123. package/libx/odata/ODataAdapter.js +25 -59
  124. package/libx/odata/index.js +10 -23
  125. package/libx/odata/middleware/batch.js +29 -20
  126. package/libx/odata/middleware/create.js +6 -13
  127. package/libx/odata/middleware/delete.js +0 -4
  128. package/libx/odata/middleware/error.js +83 -27
  129. package/libx/odata/middleware/metadata.js +14 -25
  130. package/libx/odata/middleware/operation.js +10 -26
  131. package/libx/odata/middleware/read.js +10 -18
  132. package/libx/odata/middleware/stream.js +14 -34
  133. package/libx/odata/middleware/update.js +17 -26
  134. package/libx/odata/parse/afterburner.js +20 -16
  135. package/libx/odata/parse/cqn2odata.js +3 -1
  136. package/libx/odata/parse/grammar.peggy +221 -114
  137. package/libx/odata/parse/parser.js +1 -1
  138. package/libx/odata/utils/index.js +10 -38
  139. package/libx/odata/utils/metadata.js +10 -8
  140. package/libx/odata/utils/normalizeTimeData.js +5 -8
  141. package/libx/odata/utils/readAfterWrite.js +1 -1
  142. package/libx/{outbox/OutboxRunner.js → queue/TaskRunner.js} +17 -22
  143. package/libx/queue/index.js +531 -0
  144. package/libx/rest/RestAdapter.js +43 -82
  145. package/libx/rest/middleware/create.js +35 -33
  146. package/libx/rest/middleware/delete.js +9 -7
  147. package/libx/rest/middleware/error.js +11 -18
  148. package/libx/rest/middleware/operation.js +44 -137
  149. package/libx/rest/middleware/parse.js +114 -130
  150. package/libx/rest/middleware/read.js +23 -21
  151. package/libx/rest/middleware/update.js +20 -32
  152. package/libx/rest/middleware/upsert.js +31 -0
  153. package/libx/rest/pre-processing.js +8 -18
  154. package/package.json +6 -7
  155. package/srv/outbox.cds +1 -0
  156. package/bin/test.js +0 -125
  157. package/lib/env/plugins.js +0 -18
  158. package/lib/req/cds-context.js +0 -52
  159. package/lib/req/locale.js +0 -35
  160. package/lib/srv/cds.ServiceClient.js +0 -96
  161. package/lib/srv/cds.ServiceProvider.js +0 -20
  162. package/lib/srv/protocols/okra.js +0 -22
  163. package/lib/test/axios.js +0 -63
  164. package/lib/test/data.js +0 -52
  165. package/lib/test/expect.js +0 -343
  166. package/lib/test/reporter.js +0 -176
  167. package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +0 -275
  168. package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +0 -217
  169. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +0 -101
  170. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +0 -79
  171. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/debug.js +0 -6
  172. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/delete.js +0 -60
  173. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +0 -161
  174. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/language.js +0 -7
  175. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +0 -59
  176. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +0 -602
  177. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +0 -64
  178. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +0 -238
  179. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +0 -327
  180. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/applyToCQN.js +0 -243
  181. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/boundToCQN.js +0 -43
  182. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/createToCQN.js +0 -37
  183. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/deleteToCQN.js +0 -36
  184. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +0 -250
  185. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +0 -81
  186. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/orderByToCQN.js +0 -51
  187. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +0 -389
  188. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/searchToCQN.js +0 -43
  189. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/selectToCQN.js +0 -35
  190. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/updateToCQN.js +0 -38
  191. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/utils.js +0 -217
  192. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FeatureSupport.js +0 -70
  193. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/FullQualifiedName.js +0 -94
  194. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAction.js +0 -139
  195. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlActionImport.js +0 -82
  196. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAliasInfo.js +0 -44
  197. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotation.js +0 -104
  198. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlAnnotations.js +0 -71
  199. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlComplexType.js +0 -133
  200. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainer.js +0 -142
  201. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityContainerInfo.js +0 -37
  202. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntitySet.js +0 -107
  203. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEntityType.js +0 -177
  204. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumMember.js +0 -61
  205. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlEnumType.js +0 -105
  206. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunction.js +0 -149
  207. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlFunctionImport.js +0 -105
  208. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlInclude.js +0 -68
  209. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlIncludeAnnotation.js +0 -71
  210. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlJsonProvider.js +0 -1365
  211. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationProperty.js +0 -190
  212. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlNavigationPropertyBinding.js +0 -37
  213. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlOnDelete.js +0 -70
  214. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlParameter.js +0 -227
  215. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProperty.js +0 -250
  216. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlPropertyRef.js +0 -49
  217. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlProvider.js +0 -190
  218. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReference.js +0 -97
  219. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReferentialConstraint.js +0 -60
  220. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlReturnType.js +0 -216
  221. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSchema.js +0 -328
  222. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlSingleton.js +0 -84
  223. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTerm.js +0 -320
  224. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/CsdlTypeDefinition.js +0 -193
  225. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationExpression.js +0 -73
  226. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlAnnotationPathExpression.js +0 -33
  227. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlApplyExpression.js +0 -105
  228. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlArithmeticExpression.js +0 -72
  229. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlBinaryExpression.js +0 -110
  230. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCastExpression.js +0 -188
  231. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlCollectionExpression.js +0 -48
  232. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlConstantExpression.js +0 -116
  233. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIfExpression.js +0 -62
  234. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlIsOfExpression.js +0 -200
  235. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementExpression.js +0 -42
  236. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlLabeledElementReferenceExpression.js +0 -31
  237. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlModelElementPathExpression.js +0 -29
  238. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNavigationPropertyPathExpression.js +0 -31
  239. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNegationExpression.js +0 -27
  240. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNotExpression.js +0 -31
  241. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlNullExpression.js +0 -18
  242. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPathExpression.js +0 -32
  243. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyPathExpression.js +0 -32
  244. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlPropertyValueExpression.js +0 -55
  245. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlRecordExpression.js +0 -54
  246. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUnknownExpression.js +0 -44
  247. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/csdl/annotationExpression/CsdlUrlRefExpression.js +0 -31
  248. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmBindingTarget.js +0 -163
  249. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmFaceted.js +0 -136
  250. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperation.js +0 -205
  251. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmOperationImport.js +0 -126
  252. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmStructuredType.js +0 -275
  253. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Edm.js +0 -775
  254. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAction.js +0 -15
  255. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmActionImport.js +0 -39
  256. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotation.js +0 -106
  257. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmAnnotations.js +0 -57
  258. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmComplexType.js +0 -48
  259. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityContainer.js +0 -455
  260. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntitySet.js +0 -43
  261. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEntityType.js +0 -119
  262. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumMember.js +0 -69
  263. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmEnumType.js +0 -117
  264. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunction.js +0 -39
  265. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmFunctionImport.js +0 -59
  266. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmInclude.js +0 -65
  267. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmIncludeAnnotation.js +0 -48
  268. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmKeyPropertyRef.js +0 -79
  269. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationProperty.js +0 -182
  270. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmNavigationPropertyBinding.js +0 -46
  271. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmOnDelete.js +0 -44
  272. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmParameter.js +0 -22
  273. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveType.js +0 -31
  274. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmPrimitiveTypeKind.js +0 -70
  275. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProperty.js +0 -39
  276. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmProvider.js +0 -399
  277. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReference.js +0 -88
  278. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReferentialConstraint.js +0 -71
  279. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmReturnType.js +0 -14
  280. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSchema.js +0 -355
  281. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmSingleton.js +0 -15
  282. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTerm.js +0 -75
  283. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmType.js +0 -95
  284. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeDefinition.js +0 -121
  285. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmTypeFactory.js +0 -28
  286. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/EdmVocabularyTermType.js +0 -41
  287. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/KeyFactory.js +0 -67
  288. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/Target.js +0 -56
  289. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/TransientStructuredType.js +0 -244
  290. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/AnnotationExpressionFactory.js +0 -130
  291. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationExpression.js +0 -28
  292. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmAnnotationPathExpression.js +0 -42
  293. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmApplyExpression.js +0 -85
  294. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmArithmeticExpression.js +0 -92
  295. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmBinaryExpression.js +0 -96
  296. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCastExpression.js +0 -129
  297. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmCollectionExpression.js +0 -52
  298. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmConstantExpression.js +0 -83
  299. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIfExpression.js +0 -103
  300. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmIsOfExpression.js +0 -125
  301. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementExpression.js +0 -83
  302. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmLabeledElementReferenceExpression.js +0 -41
  303. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmModelElementPathExpression.js +0 -35
  304. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNavigationPropertyPathExpression.js +0 -37
  305. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNegationExpression.js +0 -70
  306. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNotExpression.js +0 -75
  307. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmNullExpression.js +0 -50
  308. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPathExpression.js +0 -38
  309. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyPathExpression.js +0 -37
  310. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmPropertyValueExpression.js +0 -72
  311. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmRecordExpression.js +0 -100
  312. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUnknownExpression.js +0 -72
  313. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/annotationExpression/EdmUrlRefExpression.js +0 -73
  314. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/AbstractError.js +0 -82
  315. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalArgumentError.js +0 -58
  316. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/IllegalCallError.js +0 -21
  317. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/NotImplementedError.js +0 -19
  318. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriQueryOptionSemanticError.js +0 -49
  319. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSemanticError.js +0 -48
  320. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/errors/UriSyntaxError.js +0 -65
  321. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/ContentTypeInfo.js +0 -105
  322. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonContentTypeInfo.js +0 -83
  323. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/JsonFormat.js +0 -141
  324. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/format/RepresentationKind.js +0 -251
  325. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeader.js +0 -42
  326. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpHeaderReader.js +0 -318
  327. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpMethod.js +0 -25
  328. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/HttpStatusCode.js +0 -52
  329. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/http/Preferences.js +0 -32
  330. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/index.js +0 -69
  331. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/logging/LoggerFacade.js +0 -183
  332. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/AliasExpression.js +0 -47
  333. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ApplyParser.js +0 -946
  334. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/BinaryExpression.js +0 -124
  335. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandItem.js +0 -76
  336. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpandParser.js +0 -384
  337. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/Expression.js +0 -46
  338. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ExpressionParser.js +0 -1988
  339. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FilterParser.js +0 -34
  340. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/FunctionParameterParser.js +0 -106
  341. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyPredicateParser.js +0 -155
  342. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/KeyValueParser.js +0 -213
  343. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/LiteralExpression.js +0 -43
  344. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MemberExpression.js +0 -44
  345. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/MethodExpression.js +0 -146
  346. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByItem.js +0 -53
  347. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/OrderByParser.js +0 -69
  348. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/ResourcePathParser.js +0 -848
  349. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SearchParser.js +0 -127
  350. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectItem.js +0 -80
  351. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/SelectParser.js +0 -294
  352. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/TypeLiteralExpression.js +0 -28
  353. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UnaryExpression.js +0 -64
  354. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriHelper.js +0 -65
  355. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriInfo.js +0 -165
  356. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParameter.js +0 -107
  357. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriParser.js +0 -350
  358. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriResource.js +0 -602
  359. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/UriTokenizer.js +0 -1156
  360. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateExpression.js +0 -164
  361. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/AggregateTransformation.js +0 -38
  362. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/BottomTopTransformation.js +0 -93
  363. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeExpression.js +0 -52
  364. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ComputeTransformation.js +0 -38
  365. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ConcatTransformation.js +0 -38
  366. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/CustomFunctionTransformation.js +0 -59
  367. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/ExpandTransformation.js +0 -37
  368. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/FilterTransformation.js +0 -37
  369. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByItem.js +0 -71
  370. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/GroupByTransformation.js +0 -58
  371. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/IdentityTransformation.js +0 -17
  372. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/OrderByTransformation.js +0 -37
  373. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SearchTransformation.js +0 -37
  374. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/SkipTransformation.js +0 -37
  375. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/TopTransformation.js +0 -37
  376. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/apply/Transformation.js +0 -53
  377. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/uri/info.md +0 -116
  378. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueDecoder.js +0 -667
  379. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/PrimitiveValueEncoder.js +0 -349
  380. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js +0 -545
  381. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ParameterValidator.js +0 -124
  382. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/validator/ValueValidator.js +0 -743
  383. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/ServiceFactory.js +0 -234
  384. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchContext.js +0 -351
  385. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchErrorInfo.js +0 -61
  386. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchExitHandler.js +0 -239
  387. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchProcessor.js +0 -281
  388. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchValidator.js +0 -133
  389. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/batch/BatchedRequestExecutor.js +0 -92
  390. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ComponentManager.js +0 -63
  391. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Context.js +0 -96
  392. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Dispatcher.js +0 -147
  393. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequest.js +0 -458
  394. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequestInBatch.js +0 -147
  395. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponse.js +0 -314
  396. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataResponseInBatch.js +0 -83
  397. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpRequest.js +0 -175
  398. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/PlainHttpResponse.js +0 -106
  399. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/RequestContract.js +0 -111
  400. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseContract.js +0 -111
  401. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ResponseHeaderSetter.js +0 -240
  402. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/Service.js +0 -417
  403. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/ServiceResolutions.js +0 -24
  404. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ApplicationHttpReader.js +0 -157
  405. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchJsonDeserializer.js +0 -171
  406. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchRequestListBuilder.js +0 -196
  407. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Cache.js +0 -154
  408. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ContentDeserializer.js +0 -222
  409. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DataReader.js +0 -220
  410. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/DeserializerFactory.js +0 -240
  411. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/HeaderReader.js +0 -133
  412. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/LineReader.js +0 -61
  413. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/MultipartReader.js +0 -419
  414. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/PartReader.js +0 -99
  415. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/Reader.js +0 -52
  416. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js +0 -673
  417. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ApplicationError.js +0 -108
  418. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/BadRequestError.js +0 -21
  419. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/ConflictError.js +0 -11
  420. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/DeserializationError.js +0 -19
  421. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/InternalServerError.js +0 -20
  422. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/MethodNotAllowedError.js +0 -17
  423. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotAcceptableError.js +0 -21
  424. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/NotFoundError.js +0 -33
  425. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionFailedError.js +0 -11
  426. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/PreconditionRequiredError.js +0 -11
  427. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/SerializationError.js +0 -19
  428. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/errors/UnauthorizedError.js +0 -17
  429. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/AcceptTypeInfo.js +0 -86
  430. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/CharsetInfo.js +0 -76
  431. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatDescription.js +0 -43
  432. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/FormatManager.js +0 -91
  433. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/RequestContentNegotiator.js +0 -62
  434. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/format/ResponseContentNegotiator.js +0 -321
  435. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/BatchHandler.js +0 -36
  436. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/MetadataHandler.js +0 -21
  437. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/ServiceHandler.js +0 -25
  438. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/CustomPreference.js +0 -31
  439. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HeaderInfo.js +0 -79
  440. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeader.js +0 -59
  441. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpHeaderReader.js +0 -452
  442. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/HttpStatusCode.js +0 -117
  443. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/Preferences.js +0 -222
  444. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/http/PreferencesApplied.js +0 -199
  445. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/index.js +0 -37
  446. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/Command.js +0 -31
  447. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandExecutor.js +0 -94
  448. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/CommandFactory.js +0 -203
  449. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestControlCommand.js +0 -52
  450. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ConditionalRequestPreValidationCommand.js +0 -59
  451. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ContentNegotiatorCommand.js +0 -70
  452. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugContentNegotiatorCommand.js +0 -59
  453. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugDeserializingCommand.js +0 -44
  454. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DebugSerializingCommand.js +0 -51
  455. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DeserializingCommand.js +0 -69
  456. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DispatcherCommand.js +0 -95
  457. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorContentNegotiatorCommand.js +0 -44
  458. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ErrorSerializingCommand.js +0 -51
  459. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/EventListenerCommand.js +0 -59
  460. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/LocaleNegotiatorCommand.js +0 -56
  461. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OdataVersionValidationCommand.js +0 -41
  462. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/OperationValidationCommand.js +0 -34
  463. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/ParsePreferHeaderCommand.js +0 -47
  464. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/PresetResponseHeadersCommand.js +0 -47
  465. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsParserCommand.js +0 -43
  466. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/QueryOptionsValidationCommand.js +0 -62
  467. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/RequestContentValidationCommand.js +0 -51
  468. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SendResponseCommand.js +0 -37
  469. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SerializingCommand.js +0 -159
  470. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetResponseHeadersCommand.js +0 -90
  471. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/SetStatuscodeCommand.js +0 -51
  472. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/UriParserCommand.js +0 -47
  473. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/logging/DebugLogger.js +0 -97
  474. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ApplicationHttpWriter.js +0 -65
  475. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchJsonSerializer.js +0 -46
  476. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/BatchMultipartSerializer.js +0 -113
  477. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ContextURLFactory.js +0 -405
  478. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugHtmlSerializer.js +0 -302
  479. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/DebugJsonSerializer.js +0 -515
  480. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorJsonSerializer.js +0 -47
  481. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorSerializer.js +0 -39
  482. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ErrorXmlSerializer.js +0 -98
  483. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ExpressionTreeImage.js +0 -404
  484. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MetadataXmlSerializer.js +0 -1416
  485. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/MultipartWriter.js +0 -202
  486. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/NextLinkSerializer.js +0 -330
  487. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ResourceJsonSerializer.js +0 -1220
  488. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/SerializerFactory.js +0 -484
  489. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ServiceJsonSerializer.js +0 -89
  490. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/TrustedResourceJsonSerializer.js +0 -612
  491. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/debugview.html +0 -157
  492. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js +0 -59
  493. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/ExpandHelper.js +0 -96
  494. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/MetadataCache.js +0 -136
  495. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/PerformanceMonitor.js +0 -221
  496. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/UriHelper.js +0 -157
  497. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/ConditionalRequestValidator.js +0 -79
  498. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/OperationValidator.js +0 -199
  499. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/RequestValidator.js +0 -392
  500. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/validator/VersionValidator.js +0 -62
  501. package/libx/_runtime/cds-services/adapter/odata-v4/to.js +0 -51
  502. package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +0 -331
  503. package/libx/_runtime/cds-services/adapter/odata-v4/utils/handlerUtils.js +0 -159
  504. package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +0 -404
  505. package/libx/_runtime/cds-services/adapter/odata-v4/utils/oDataConfiguration.js +0 -55
  506. package/libx/_runtime/cds-services/adapter/odata-v4/utils/omitValues.js +0 -86
  507. package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +0 -107
  508. package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +0 -64
  509. package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +0 -385
  510. package/libx/_runtime/cds-services/adapter/odata-v4/utils/stream.js +0 -12
  511. package/libx/_runtime/cds-services/util/errors.js +0 -15
  512. package/libx/_runtime/common/aspects/relation.js +0 -40
  513. package/libx/_runtime/common/composition/data.js +0 -370
  514. package/libx/_runtime/common/composition/delete.js +0 -313
  515. package/libx/_runtime/common/composition/index.js +0 -22
  516. package/libx/_runtime/common/composition/insert.js +0 -108
  517. package/libx/_runtime/common/composition/tree.js +0 -275
  518. package/libx/_runtime/common/composition/update.js +0 -354
  519. package/libx/_runtime/common/composition/utils.js +0 -95
  520. package/libx/_runtime/common/error/constants.js +0 -20
  521. package/libx/_runtime/common/error/entry.js +0 -36
  522. package/libx/_runtime/common/error/frontend.js +0 -199
  523. package/libx/_runtime/common/error/index.js +0 -12
  524. package/libx/_runtime/common/error/log.js +0 -35
  525. package/libx/_runtime/common/error/standardError.js +0 -11
  526. package/libx/_runtime/common/error/utils.js +0 -18
  527. package/libx/_runtime/common/generic/auth/constants.js +0 -17
  528. package/libx/_runtime/common/generic/put.js +0 -85
  529. package/libx/_runtime/common/utils/columns.js +0 -177
  530. package/libx/_runtime/common/utils/compareJsonOLD.js +0 -280
  531. package/libx/_runtime/common/utils/cqn2cqn4sql.js +0 -1039
  532. package/libx/_runtime/common/utils/data.js +0 -16
  533. package/libx/_runtime/common/utils/dollar.js +0 -27
  534. package/libx/_runtime/common/utils/generateOnCond.js +0 -127
  535. package/libx/_runtime/common/utils/onlyKeysRemain.js +0 -10
  536. package/libx/_runtime/common/utils/path.js +0 -20
  537. package/libx/_runtime/common/utils/quotingStyles.js +0 -29
  538. package/libx/_runtime/common/utils/restrictions.js +0 -67
  539. package/libx/_runtime/common/utils/search2cqn4sql.js +0 -37
  540. package/libx/_runtime/common/utils/searchToLike.js +0 -56
  541. package/libx/_runtime/common/utils/stream.js +0 -103
  542. package/libx/_runtime/common/utils/ucsn.js +0 -119
  543. package/libx/_runtime/common/utils/union.js +0 -31
  544. package/libx/_runtime/common/utils/unionCqnTemplate.js +0 -174
  545. package/libx/_runtime/db/Service.js +0 -93
  546. package/libx/_runtime/db/data-conversion/post-processing.js +0 -175
  547. package/libx/_runtime/db/expand/expand-v2.js +0 -147
  548. package/libx/_runtime/db/expand/expandCQNToJoin.js +0 -1775
  549. package/libx/_runtime/db/expand/index.js +0 -13
  550. package/libx/_runtime/db/expand/rawToExpanded.js +0 -250
  551. package/libx/_runtime/db/generic/create.js +0 -30
  552. package/libx/_runtime/db/generic/delete.js +0 -18
  553. package/libx/_runtime/db/generic/index.js +0 -25
  554. package/libx/_runtime/db/generic/input.js +0 -227
  555. package/libx/_runtime/db/generic/read.js +0 -16
  556. package/libx/_runtime/db/generic/rewrite.js +0 -68
  557. package/libx/_runtime/db/generic/structured.js +0 -92
  558. package/libx/_runtime/db/generic/update.js +0 -97
  559. package/libx/_runtime/db/generic/virtual.js +0 -83
  560. package/libx/_runtime/db/query/delete.js +0 -39
  561. package/libx/_runtime/db/query/index.js +0 -13
  562. package/libx/_runtime/db/query/insert.js +0 -21
  563. package/libx/_runtime/db/query/read.js +0 -97
  564. package/libx/_runtime/db/query/run.js +0 -30
  565. package/libx/_runtime/db/query/update.js +0 -94
  566. package/libx/_runtime/db/result/InsertResult.js +0 -87
  567. package/libx/_runtime/db/sql-builder/BaseBuilder.js +0 -65
  568. package/libx/_runtime/db/sql-builder/CreateBuilder.js +0 -212
  569. package/libx/_runtime/db/sql-builder/DeleteBuilder.js +0 -87
  570. package/libx/_runtime/db/sql-builder/DropBuilder.js +0 -63
  571. package/libx/_runtime/db/sql-builder/ExpressionBuilder.js +0 -345
  572. package/libx/_runtime/db/sql-builder/FunctionBuilder.js +0 -232
  573. package/libx/_runtime/db/sql-builder/InsertBuilder.js +0 -494
  574. package/libx/_runtime/db/sql-builder/ReferenceBuilder.js +0 -135
  575. package/libx/_runtime/db/sql-builder/SelectBuilder.js +0 -482
  576. package/libx/_runtime/db/sql-builder/UpdateBuilder.js +0 -207
  577. package/libx/_runtime/db/sql-builder/UpsertBuilder.js +0 -25
  578. package/libx/_runtime/db/sql-builder/annotations.js +0 -50
  579. package/libx/_runtime/db/sql-builder/arrayed.js +0 -4
  580. package/libx/_runtime/db/sql-builder/dataTypes.js +0 -59
  581. package/libx/_runtime/db/sql-builder/dollar.js +0 -37
  582. package/libx/_runtime/db/sql-builder/index.js +0 -28
  583. package/libx/_runtime/db/sql-builder/sqlFactory.js +0 -104
  584. package/libx/_runtime/db/utils/coloredTxCommands.js +0 -7
  585. package/libx/_runtime/db/utils/columns.js +0 -41
  586. package/libx/_runtime/db/utils/deep.js +0 -71
  587. package/libx/_runtime/db/utils/generateAliases.js +0 -160
  588. package/libx/_runtime/db/utils/localized.js +0 -77
  589. package/libx/_runtime/db/utils/normalizeTimeData.js +0 -98
  590. package/libx/_runtime/db/utils/stream.js +0 -41
  591. package/libx/_runtime/hana/Service.js +0 -173
  592. package/libx/_runtime/hana/conversion.js +0 -73
  593. package/libx/_runtime/hana/customBuilder/CustomCreateBuilder.js +0 -11
  594. package/libx/_runtime/hana/customBuilder/CustomDeleteBuilder.js +0 -17
  595. package/libx/_runtime/hana/customBuilder/CustomDropBuilder.js +0 -12
  596. package/libx/_runtime/hana/customBuilder/CustomExpressionBuilder.js +0 -23
  597. package/libx/_runtime/hana/customBuilder/CustomFunctionBuilder.js +0 -34
  598. package/libx/_runtime/hana/customBuilder/CustomReferenceBuilder.js +0 -38
  599. package/libx/_runtime/hana/customBuilder/CustomSelectBuilder.js +0 -90
  600. package/libx/_runtime/hana/customBuilder/index.js +0 -11
  601. package/libx/_runtime/hana/driver.js +0 -205
  602. package/libx/_runtime/hana/dynatrace.js +0 -130
  603. package/libx/_runtime/hana/execute.js +0 -429
  604. package/libx/_runtime/hana/localized.js +0 -39
  605. package/libx/_runtime/hana/pool.js +0 -186
  606. package/libx/_runtime/hana/search.js +0 -20
  607. package/libx/_runtime/hana/search2Contains.js +0 -106
  608. package/libx/_runtime/hana/search2cqn4sql.js +0 -98
  609. package/libx/_runtime/hana/streaming.js +0 -248
  610. package/libx/_runtime/messaging/Outbox.js +0 -15
  611. package/libx/_runtime/sqlite/Service.js +0 -153
  612. package/libx/_runtime/sqlite/conversion.js +0 -47
  613. package/libx/_runtime/sqlite/convertAssocToOneManaged.js +0 -60
  614. package/libx/_runtime/sqlite/convertDraftAdminPathExpression.js +0 -74
  615. package/libx/_runtime/sqlite/customBuilder/CustomExpressionBuilder.js +0 -24
  616. package/libx/_runtime/sqlite/customBuilder/CustomFunctionBuilder.js +0 -102
  617. package/libx/_runtime/sqlite/customBuilder/CustomSelectBuilder.js +0 -16
  618. package/libx/_runtime/sqlite/customBuilder/CustomUpsertBuilder.js +0 -47
  619. package/libx/_runtime/sqlite/customBuilder/index.js +0 -49
  620. package/libx/_runtime/sqlite/execute.js +0 -345
  621. package/libx/_runtime/sqlite/localized.js +0 -49
  622. package/libx/outbox/index.js +0 -307
@@ -8,6 +8,7 @@ exports = module.exports = {
8
8
  multitenancy: undefined,
9
9
  extensibility: undefined,
10
10
  toggles: undefined,
11
+ queue: true,
11
12
 
12
13
  auth: {
13
14
  '[development]': { kind: 'mocked-auth' },
@@ -113,17 +114,6 @@ const _services = {
113
114
 
114
115
  }
115
116
 
116
- const better_sqlite = '@cap-js/sqlite'
117
- const better_hana = '@cap-js/hana'
118
-
119
- const legacy_sqlite = `${_runtime}/sqlite/Service.js`
120
- const legacy_hana = `${_runtime}/hana/Service.js`
121
-
122
- const _resolve = (preferred, fallback) => {
123
- try { return require.resolve(preferred) && preferred }
124
- catch { return fallback }
125
- }
126
-
127
117
 
128
118
  const _databases = {
129
119
 
@@ -134,35 +124,15 @@ const _databases = {
134
124
  },
135
125
 
136
126
  "sqlite": {
137
- '[legacy-sqlite!]': { impl: legacy_sqlite },
138
- '[better-sqlite!]': { impl: better_sqlite },
139
- impl: _resolve (better_sqlite, legacy_sqlite),
140
- credentials: { url: 'db.sqlite' },
141
- },
142
- "better-sqlite": {
143
- credentials: { url: ":memory:" },
144
- impl: "@cap-js/sqlite",
145
- kind: 'sqlite'
146
- },
147
- "legacy-sqlite": {
148
- impl: legacy_sqlite,
127
+ impl: '@cap-js/sqlite',
149
128
  credentials: { url: 'db.sqlite' },
150
- kind: 'sqlite'
151
129
  },
152
-
153
130
  "hana": {
154
- '[legacy-hana]': { impl: legacy_hana },
155
- '[better-hana]': { impl: better_hana },
156
- impl: _resolve (better_hana, legacy_hana),
131
+ impl: '@cap-js/hana',
157
132
  },
158
133
  "hana-cloud": {
159
134
  kind: 'hana', "deploy-format": "hdbtable",
160
135
  },
161
- "legacy-hana": {
162
- impl: legacy_hana,
163
- kind: 'hana'
164
- },
165
-
166
136
  "sql-mt": { // For compatibility only
167
137
  '[development]': { kind: 'sqlite' },
168
138
  '[production]': { kind: 'hana-mt' },
@@ -176,19 +146,22 @@ const _databases = {
176
146
  }
177
147
 
178
148
 
179
- const _outbox = {
180
-
181
- outbox: "persistent-outbox",
182
-
183
- "in-memory-outbox": {},
184
- "persistent-outbox": {
149
+ const _queue = {
150
+ queue: "persistent-queue",
151
+ "in-memory-queue": {},
152
+ "persistent-queue": {
185
153
  model: "@sap/cds/srv/outbox",
186
154
  maxAttempts: 20,
187
- chunkSize: 100,
155
+ chunkSize: 10,
188
156
  parallel: true,
189
- storeLastError: true
190
- }
191
-
157
+ storeLastError: true,
158
+ timeout: '1h',
159
+ legacyLocking: true,
160
+ ignoredContext: ['user', 'http', 'model', 'timestamp']
161
+ },
162
+ // legacy
163
+ "in-memory-outbox": "in-memory-queue",
164
+ "persistent-outbox": "persistent-queue",
192
165
  }
193
166
 
194
167
 
@@ -216,7 +189,7 @@ const _messaging = {
216
189
  "file-based-messaging": {
217
190
  impl: `${_runtime}/messaging/file-based.js`,
218
191
  file:'~/.cds-msg-box',
219
- outbox: true
192
+ outboxed: true
220
193
  },
221
194
  "enterprise-messaging": {
222
195
  kind: "enterprise-messaging-http",
@@ -228,21 +201,21 @@ const _messaging = {
228
201
  deployForProvider: true,
229
202
  impl: `${_runtime}/messaging/enterprise-messaging.js`,
230
203
  vcap: { label: "enterprise-messaging" },
231
- outbox: true
204
+ outboxed: true
232
205
  },
233
206
  "enterprise-messaging-amqp": {
234
207
  impl: `${_runtime}/messaging/enterprise-messaging-shared.js`,
235
208
  vcap: { label: "enterprise-messaging" },
236
- outbox: true
209
+ outboxed: true
237
210
  },
238
211
  'message-queuing': {
239
212
  impl: `${_runtime}/messaging/message-queuing.js`,
240
- outbox: true
213
+ outboxed: true
241
214
  },
242
215
  'kafka': {
243
216
  impl: `${_runtime}/messaging/kafka.js`,
244
217
  topic: 'cds.default',
245
- outbox: true,
218
+ outboxed: true,
246
219
  local: false
247
220
  },
248
221
  "composite-messaging": {
@@ -257,7 +230,7 @@ const _messaging = {
257
230
  "redis-messaging": {
258
231
  impl: `${_runtime}/messaging/redis-messaging.js`,
259
232
  vcap: { label: "redis-cache" },
260
- outbox: true
233
+ outboxed: true
261
234
  }
262
235
 
263
236
  }
@@ -292,7 +265,7 @@ exports.kinds = {
292
265
  ..._authentication_strategies,
293
266
  ..._databases,
294
267
  ..._services,
295
- ..._outbox,
268
+ ..._queue,
296
269
  ..._messaging,
297
270
  ..._platform_services,
298
271
  }
@@ -1,6 +1,6 @@
1
1
  const production = process.env.NODE_ENV === 'production'
2
2
 
3
- const defaults = module.exports = {
3
+ module.exports = {
4
4
 
5
5
  /**
6
6
  * For our own tests to replace hard-coded checks for CDS_ENV === 'better-sqlite'
@@ -13,34 +13,19 @@ const defaults = module.exports = {
13
13
  else return false
14
14
  },
15
15
 
16
- "[attic!]": {
17
- features: {
18
- pre_compile_edmxs: false,
19
- odata_new_adapter: false,
20
- odata_new_parser: false,
21
- base64_binaries: true
22
- },
23
- requires: {
24
- kinds: {
25
- sqlite: { impl: '@sap/cds/libx/_runtime/sqlite/Service.js' },
26
- hana: { impl: '@sap/cds/libx/_runtime/hana/Service.js' },
27
- },
28
- },
29
- },
30
-
31
- "[noa]": {
32
- features: {
33
- odata_new_adapter: true,
34
- odata_new_parser: true,
35
- },
36
- },
37
-
38
16
  production,
39
17
 
40
18
  requires: require('./cds-requires'),
41
19
 
20
+ runtime: {
21
+ patch_as_upsert: false,
22
+ put_as_upsert: true,
23
+ put_as_replace: false,
24
+ },
25
+
42
26
  server: {
43
27
  shutdown_on_uncaught_errors: true,
28
+ exit_on_multi_install: true,
44
29
  force_exit_timeout: 1111,
45
30
  body_parser: undefined, // Allows to configure all body parser options, e.g. limit
46
31
  cors: !production, // CORS middleware is off in production
@@ -51,7 +36,6 @@ const defaults = module.exports = {
51
36
  protocols: {
52
37
  'odata-v4' : { path: '/odata/v4' },
53
38
  'odata-v2' : { path: '/odata/v2' },
54
- 'okra' : { path: '/okra' },
55
39
  'rest' : { path: '/rest' },
56
40
  'hcql' : { path: '/hcql' },
57
41
  },
@@ -60,9 +44,6 @@ const defaults = module.exports = {
60
44
  folders: 'fts/*', // where to find feature toggles -> switch on by default when released
61
45
  sql_simple_queries: 0,
62
46
  pre_compile_edmxs: false,
63
- odata_new_adapter: true,
64
- odata_new_parser: true,
65
- get cds_validate() { return this.odata_new_adapter },
66
47
  live_reload: !production,
67
48
  in_memory_db: !production,
68
49
  test_data: !production,
@@ -75,6 +56,7 @@ const defaults = module.exports = {
75
56
  assert_integrity: false,
76
57
  precise_timestamps: false,
77
58
  ieee754compatible: undefined,
59
+ consistent_params: true, //> remove with cds^10
78
60
  // compat for db
79
61
  get string_decimals() { return this.ieee754compatible }
80
62
  },
@@ -85,9 +67,7 @@ const defaults = module.exports = {
85
67
  lean_draft: true,
86
68
  wrap_multiple_errors: true,
87
69
  draft_lock_timeout: true,
88
- draft_deletion_timeout: true,
89
- draft_compat: undefined,
90
- '[draft-compat]': { draft_compat: true },
70
+ draft_deletion_timeout: true
91
71
  },
92
72
 
93
73
  ql: {
@@ -149,8 +129,6 @@ const defaults = module.exports = {
149
129
  'zh_HK',
150
130
  'zh_TW'
151
131
  ],
152
- /** @deprecated */ for_sqlite: ['de', 'fr'],
153
- /** @deprecated */ for_sql: ['de', 'fr'],
154
132
  /** @deprecated */ fallback_bundle: '',
155
133
  /** @deprecated */ fatjson: true, // REVISIT: remove in cds9
156
134
  },
@@ -211,6 +189,11 @@ const defaults = module.exports = {
211
189
  'deploy-format': 'hdbtable',
212
190
  journal: {
213
191
  'change-mode': 'alter'
192
+ },
193
+ table_data: {
194
+ column_mapping: {
195
+ LargeBinary: 'decodeBase64'
196
+ }
214
197
  }
215
198
  },
216
199
 
@@ -221,16 +204,6 @@ const defaults = module.exports = {
221
204
  }
222
205
  },
223
206
 
224
- mtx: {
225
- api: {
226
- model: true,
227
- provisioning: true,
228
- metadata: true,
229
- diagnose: true
230
- },
231
- domain: '__default__'
232
- },
233
-
234
207
  cdsc: {
235
208
  moduleLookupDirectories: ['node_modules/'],
236
209
  '[java]': {
@@ -252,5 +225,3 @@ const defaults = module.exports = {
252
225
  },
253
226
 
254
227
  }
255
-
256
- require('./plugins')(defaults)
@@ -19,7 +19,7 @@ module.exports = {
19
19
  cds: {
20
20
  type: 'object',
21
21
  additionalProperties: true,
22
- $ref: 'cdsJsonSchema://schemas/cds-rc.json#/$defs/cdsRoot',
22
+ $ref: 'cdsjsonschema://schemas/cds-rc.json#/$defs/cdsRoot',
23
23
  description: 'CDS configuration root',
24
24
  default: {}
25
25
  }
package/lib/i18n/index.js CHANGED
@@ -61,3 +61,4 @@ const _is_model = x => typeof x === 'object' && '$sources' in x
61
61
  const _is_string = x => typeof x === 'string'
62
62
 
63
63
  module.exports = exports = new I18nFacade
64
+ exports.locale = require('./locale')
@@ -0,0 +1,41 @@
1
+ exports = module.exports = normalized_locale_from
2
+ exports.from = normalized_locale_from
3
+ exports.header = raw_locale_from
4
+
5
+ const cds = require('../index'), {i18n} = cds.env
6
+ // REVISIT: remove fallback with cds^10
7
+ const _default = cds.env.features.locale_fallback ? i18n.default_language : undefined
8
+
9
+ function normalized_locale_from (req) {
10
+ if (!req) return _default
11
+ if ('locale' in req) return req.locale
12
+ const header = raw_locale_from (req); if (!header) return req.locale = _default
13
+ const locale = header .match (/^[^,; ]*/)[0] .replace (/-/g,'_')
14
+ return req.locale = COMMON[locale]
15
+ || locale.match(/[A-Za-z]+/)?.[0].toLowerCase()
16
+ || i18n.default_language // wildcard or invalid header, fall back to default
17
+ }
18
+
19
+ function raw_locale_from (req) {
20
+ return !req ? undefined :
21
+ req.query['sap-locale'] || SAP_LANGUAGES[req.query['sap-language']] ||
22
+ req.headers['x-sap-request-language'] ||
23
+ req.headers['accept-language']
24
+ }
25
+
26
+ const SAP_LANGUAGES = {
27
+ '1Q': 'en_US_x_saptrc',
28
+ '2Q': 'en_US_x_sappsd',
29
+ '3Q': 'en_US_x_saprigi'
30
+ }
31
+
32
+ const COMMON = {
33
+ ...Object.fromEntries (i18n.preserved_locales.map(l=>[l.toUpperCase(),l])), // REVISIT: why uppercase?
34
+ ...Object.fromEntries (i18n.preserved_locales.map(l=>[l,l])),
35
+ en_US_x_saptrc: 'en_US_saptrc',
36
+ en_US_x_sappsd: 'en_US_sappsd',
37
+ en_US_x_saprigi: 'en_US_saprigi',
38
+ // Gain a tiny bit of lookup speed by listing some common locales
39
+ de:'de', en:'en', es:'es', fr:'fr', in:'in', it:'it',
40
+ ja:'ja', ko:'ko', pt:'pt', ru:'ru', zh:'zh',
41
+ }
package/lib/index.js CHANGED
@@ -1,11 +1,24 @@
1
1
  if (process.env.CDS_STRICT_NODE_VERSION !== 'false') require ('./utils/check-version.js')
2
- ! (global.__cds_loaded_from ??= new Set).add(__filename) // track from where we loaded cds
2
+ ! (global.__cds_loaded_from ??= new Set).add(__filename.toLowerCase()) // track from where we loaded cds, lowercase to avoid path duplicates on Windows
3
+
4
+ const { AsyncLocalStorage } = require ('async_hooks')
5
+ const context = new AsyncLocalStorage
3
6
 
4
7
  const { EventEmitter } = require('node:events')
5
- const cds = module.exports = global.cds = new class cds extends EventEmitter {
8
+ const cds = module.exports = global.cds = new class cds_facade extends EventEmitter {
9
+
10
+ /** Contexts and Transactions @type {import('./req/context')} */
11
+ get context() { return context.getStore() }
12
+ set context(x) { this._with(x) }
13
+ _with (x,fn,...args) {
14
+ const ctx = typeof x !== 'object' || x instanceof cds.EventContext ? x : x.context || cds.EventContext.for(x)
15
+ return fn ? context.run (ctx,fn,...args) : context.enterWith (ctx)
16
+ }
17
+ get spawn() { return super.spawn = require('./req/spawn') }
6
18
 
7
- /** @typedef {import('./srv/cds.ServiceProvider')} Service */
8
- /** @type {import('./core/linked-csn')} */ model = undefined
19
+ /** @import {LinkedCSN} from './core/linked-csn' */
20
+ /** @import {Service} from './srv/cds.Service' */
21
+ /** @type LinkedCSN */ model = undefined
9
22
  /** @type Service */ db = undefined
10
23
  /** CLI args */ cli = { command:'', options:{}, argv:[] }
11
24
  /** Working dir */ root = process.cwd()
@@ -22,7 +35,7 @@ const cds = module.exports = global.cds = new class cds extends EventEmitter {
22
35
  get requires() { return super.requires = this.env.requires._resolved() }
23
36
  get plugins() { return super.plugins = require('./plugins').activate() }
24
37
  get version() { return super.version = require('../package.json').version }
25
- get env() { return super.env = require('./env/cds-env').for('cds',this.root) }
38
+ get env() { return super.env = require('./env/cds-env').for(this) }
26
39
  get home() { return super.home = __dirname.slice(0,-4) }
27
40
  get schema() { return super.schema = require('./env/schemas') } // REVISIT: Better move that to cds-dk?
28
41
 
@@ -64,15 +77,17 @@ const cds = module.exports = global.cds = new class cds extends EventEmitter {
64
77
  get server() { return super.server = require('../server.js') }
65
78
  get serve() { return super.serve = require('./srv/cds-serve') }
66
79
  get connect() { return super.connect = require('./srv/cds-connect') }
67
- get outboxed() { return super.outboxed = require('../libx/outbox').outboxed }
68
- get unboxed() { return super.unboxed = require('../libx/outbox').unboxed }
80
+ get outboxed() { return this.queued }
81
+ get unboxed() { return this.unqueued }
82
+ get queued() { return super.queued = require('../libx/queue').queued }
83
+ get unqueued() { return super.unqueued = require('../libx/queue').unqueued }
69
84
  get middlewares() { return super.middlewares = require('./srv/middlewares') }
70
85
  get odata() { return super.odata = require('../libx/odata') }
71
86
  get auth() { return super.auth = require('./auth') }
72
87
  shutdown() { this.app?.server && process.exit() } // is overridden in bin/serve.js
73
88
 
74
89
  // Core Services API
75
- get Service() { return super.Service = require('./srv/cds.ServiceProvider') }
90
+ get Service() { return super.Service = require('./srv/cds.Service') }
76
91
  get EventContext() { return super.EventContext = require('./req/context') }
77
92
  get Request() { return super.Request = require('./req/request') }
78
93
  get Event() { return super.Event = require('./req/event') }
@@ -82,15 +97,9 @@ const cds = module.exports = global.cds = new class cds extends EventEmitter {
82
97
  // Services, Protocols and Periphery
83
98
  get ApplicationService() { return super.ApplicationService = require('../libx/_runtime/common/Service.js') }
84
99
  get MessagingService() { return super.MessagingService = require('../libx/_runtime/messaging/service.js') }
85
- get DatabaseService() { return super.DatabaseService = require('../libx/_runtime/db/Service.js') }
100
+ get DatabaseService() { return super.DatabaseService = require('@cap-js/db-service').DatabaseService }
86
101
  get RemoteService() { return super.RemoteService = require('../libx/_runtime/remote/Service.js') }
87
102
 
88
- /** Contexts and Transactions @type {import('./req/context')} */
89
- get context() { return this._context.getStore() }
90
- set context(x) { this._context.enterWith(x) }
91
- get spawn() { return super.spawn = this._context.spawn }
92
- get _context() { return super._context = require('./req/cds-context') }
93
-
94
103
  // Helpers
95
104
  get utils() { return super.utils = require('./utils/cds-utils') }
96
105
  get error() { return super.error = require('./log/cds-error') }
@@ -104,6 +113,7 @@ const cds = module.exports = global.cds = new class cds extends EventEmitter {
104
113
  get infer(){ return super.infer = require('./ql/cds.ql-infer.js') }
105
114
  get txs() { return super.txs = new this.Service('cds.tx') }
106
115
  get ql() { return super.ql = require('./ql/cds-ql') }
116
+ // get tx() { return super.tx = this.Service.prototype.tx.bind (new this.Service) } // Note: this would break too much of existing code/tests
107
117
  tx (..._) { return (this.db || this.txs).tx(..._) }
108
118
  run (..._) { return (this.db || typeof _[0] === 'function' && this.txs || this.error._no_primary_db).run(..._) }
109
119
  foreach (..._) { return (this.db || this.error._no_primary_db).foreach(..._) }
@@ -22,11 +22,11 @@ const { format, inspect } = require('../utils/cds-utils')
22
22
  * @param {Function} [caller] - The function calling this
23
23
  */
24
24
  const error = exports = module.exports = function cds_error ( status, message, details, caller ) {
25
- if (typeof status !== 'number') [ status, message, details, caller, status ] = status.raw ? [ undefined, error.message(...arguments) ] : [ undefined, status, message, details ]
25
+ if (typeof status !== 'number') [ status, message, details, caller ] = status.raw ? [ undefined, error.message(...arguments) ] : [ undefined, status, message, details ]
26
26
  if (typeof message === 'object') [ message, details, caller ] = [ undefined, message, details ]
27
- const err = details?.stack ? details : Object.assign (new Error (message, details), details)
27
+ let err = details && 'stack' in details ? details : Object.assign (new Error (message, details), details)
28
28
  if (caller) Error.captureStackTrace (err, caller); else Error.captureStackTrace (err, error)
29
- if (status) err.status = status
29
+ if (status) Object.defineProperty (err, 'status', {value:status})
30
30
  if (new.target) return err
31
31
  else throw err
32
32
  }
@@ -62,6 +62,16 @@ exports.expected = ([,type], arg) => {
62
62
  }
63
63
 
64
64
 
65
+ const system_errors = [
66
+ TypeError,
67
+ ReferenceError,
68
+ SyntaxError,
69
+ RangeError,
70
+ URIError
71
+ ]
72
+ exports.isSystemError = err => system_errors.some(e => err instanceof e)
73
+
74
+
65
75
  //
66
76
  // Private helpers ...
67
77
  //
@@ -1,6 +1,6 @@
1
- const cds = require('../index'), conf = cds.env.log
2
1
  const log = module.exports = exports = cds_log
3
- const path = require('path')
2
+ const cds = require('../index'), defaults = { format: 'plain', levels: {} }
3
+ let conf = Object.hasOwn(cds,'env') ? cds.env.log : defaults
4
4
  /* eslint-disable no-console */
5
5
 
6
6
 
@@ -68,6 +68,7 @@ function cds_log (module, options) { // NOSONAR
68
68
  /**
69
69
  * Shortcut to `cds.log(...).debug`, returning undefined if `cds.log(...)._debug` is false.
70
70
  * @param {string} [module] the module for which a logger is requested
71
+ * @param {object} [options] logger options
71
72
  */
72
73
  exports.debug = function cds_debug (id, options) {
73
74
  const L = cds_log (id, options)
@@ -136,18 +137,9 @@ exports.winstonLogger = (options) => (label, level) => {
136
137
  /**
137
138
  * Built-in formatters
138
139
  */
139
- const { _simple, _mt } = exports.formatters = {
140
- _simple: (label, level, ...args) => [ `[${label}] -`, ...args ],
141
- _mt: (label, level, ...args) => {
142
- const t = cds.context?.tenant; if (t) label += '|'+t
143
- return _simple (label, level, ...args)
144
- },
145
- get plain() {
146
- return this._plain || (this._plain = cds.requires.multitenancy ? _mt : _simple)
147
- },
148
- get json() {
149
- return this._json || (this._json = require('./format/json'))
150
- }
140
+ exports.formatters = new class {
141
+ plain (label, level, ...args) { return [ `[${label}] -`, ...args ] }
142
+ get json() { return super.json = require('./format/json') }
151
143
  }
152
144
 
153
145
 
@@ -162,7 +154,7 @@ exports.winstonLogger = (options) => (label, level) => {
162
154
  * @param {number} level the log level to enable -> 0=off, 1=error, 2=warn, 3=info, 4=debug, 5=trace
163
155
  * @param {any[]} args the arguments passed to Logger.debug|log|info|warn|error()
164
156
  */
165
- exports.format = log.formatters[cds.env.log.format || 'plain']
157
+ exports.format = log.formatters[conf.format || 'plain']
166
158
 
167
159
 
168
160
  const DEBUG_matches = (m) => process.env.DEBUG?.match(RegExp(`\\b(y|all|${m||'any'})\\b`))
@@ -171,9 +163,42 @@ const { ERROR, WARN, INFO, DEBUG, TRACE } = exports.levels = {
171
163
  }
172
164
 
173
165
 
174
- ;(function _init() {
175
- const conf = cds.env.log
166
+ // If cds.env is not yet loaded, update the loggers when it is
167
+ if (conf === defaults) cds.once ('env', ()=>{
168
+ let { loggers, format } = exports, fmt = format
169
+ let { plain } = log.formatters
170
+ conf = cds.env.log
171
+
172
+ // Update log levels for already existing loggers
173
+ if (conf.levels) {
174
+ for (let each in conf.levels) cds_log (each, conf.levels[each])
175
+ }
176
+
177
+ // User configured formatter, if any
178
+ if (conf.format) {
179
+ fmt = exports.format = log.formatters [conf.format]
180
+ }
181
+
182
+ // Include tenant in plain log output if multitenancy is enabled
183
+ if (fmt === plain && cds.env.requires.multitenancy) {
184
+ fmt = exports.format = (label, level, ...args) => {
185
+ const t = cds.context?.tenant; if (t) label += '|'+t
186
+ return plain (label, level, ...args)
187
+ }
188
+ }
189
+
190
+ // If formatter got changed above, propagate to all loggers
191
+ if (fmt !== format) {
192
+ for (let each in loggers) loggers[each] .setFormat (fmt)
193
+ }
194
+
195
+ _init()
196
+ }); else _init()
197
+
198
+
199
+ function _init() {
176
200
  if (conf.Logger) {
201
+ const path = require('path')
177
202
  let resolvedPath
178
203
  try { resolvedPath = require.resolve(conf.Logger) } catch {
179
204
  try { resolvedPath = require.resolve(path.join(cds.root, conf.Logger)) } catch {
@@ -186,4 +211,4 @@ const { ERROR, WARN, INFO, DEBUG, TRACE } = exports.levels = {
186
211
  const {app} = cds, serveIn = app => require('./service').serveIn(app)
187
212
  app ? setImmediate(() => serveIn(app)) : cds.on('bootstrap', app => serveIn(app))
188
213
  }
189
- })()
214
+ }
@@ -1,20 +1,7 @@
1
1
  const cds = require('../../..')
2
2
 
3
- let _kibana_custom_fields_deprecation_logged = false
4
- const _get_als_custom_fields = () => {
5
- const { als_custom_fields, kibana_custom_fields } = cds.env.log
6
- if (kibana_custom_fields) {
7
- if (!_kibana_custom_fields_deprecation_logged) {
8
- _kibana_custom_fields_deprecation_logged = true
9
- cds.utils.deprecated({ old: 'cds.env.log.kibana_custom_fields', use: 'cds.env.log.als_custom_fields' })
10
- }
11
- return kibana_custom_fields
12
- }
13
- return als_custom_fields
14
- }
15
-
16
3
  function als_aspect(module, level, args, toLog) {
17
- this._ALS_CUSTOM_FIELDS ??= { ..._get_als_custom_fields() }
4
+ this._ALS_CUSTOM_FIELDS ??= { ...cds.env.log.als_custom_fields }
18
5
  this._ALS_HAS_CUSTOM_FIELDS ??= Object.keys(this._ALS_CUSTOM_FIELDS).length > 0
19
6
 
20
7
  // ALS custom fields
@@ -31,6 +18,6 @@ function als_aspect(module, level, args, toLog) {
31
18
  }
32
19
  }
33
20
 
34
- als_aspect.cf = () => Object.keys({ ..._get_als_custom_fields() })
21
+ als_aspect.cf = () => Object.keys({ ...cds.env.log.als_custom_fields })
35
22
 
36
23
  module.exports = process.env.VCAP_SERVICES?.match(/"label":\s*"application-logs"/) ? als_aspect : () => {}
package/lib/plugins.js CHANGED
@@ -1,27 +1,28 @@
1
+ const DEBUG = /plugins/.test(process.env.DEBUG) ? console : undefined // eslint-disable-line no-console
1
2
  const cds = require('.')
2
3
  const prio_plugins = {
3
- '@cap-js/telemetry': true // to allow better instrumentation.
4
+ '@sap/cds-mtxs': true, // plugins may register handlers for mtxs services
5
+ '@cap-js/telemetry': true // to allow better instrumentation
4
6
  }
5
7
 
6
- exports.require = require
7
-
8
8
  /**
9
9
  * Fetch cds-plugins from project's package dependencies.
10
10
  * Used in and made available through cds.env.plugins.
11
11
  */
12
12
  exports.fetch = function (DEV = process.env.NODE_ENV !== 'production') {
13
+ DEBUG?.time ('[cds.plugins] - fetched plugins in')
13
14
  const plugins = {}
14
15
  fetch_plugins_in (cds.home, false)
15
16
  fetch_plugins_in (cds.root, DEV)
16
17
  function fetch_plugins_in (root, dev) {
17
- let pkg; try { pkg = exports.require(root + '/package.json') } catch { return }
18
+ let pkg; try { pkg = require(root + '/package.json') } catch { return }
18
19
  let deps = { ...pkg.dependencies, ...dev && pkg.devDependencies }
19
20
  for (let each in deps) try {
20
- let impl = exports.require.resolve(each + '/cds-plugin', { paths: [root] })
21
- const packageJson = exports.require.resolve(each + '/package.json', { paths: [root] })
22
- plugins[each] = { impl, packageJson }
21
+ let impl = require.resolve(each + '/cds-plugin', { paths: [root] })
22
+ plugins[each] = { impl }
23
23
  } catch { /* no cds-plugin.js */ }
24
24
  }
25
+ DEBUG?.timeEnd ('[cds.plugins] - fetched plugins in')
25
26
  return plugins
26
27
  }
27
28
 
@@ -30,11 +31,10 @@ exports.fetch = function (DEV = process.env.NODE_ENV !== 'production') {
30
31
  * Used in and made available through cds.plugins.
31
32
  */
32
33
  exports.activate = async function () {
33
- const DEBUG = cds.debug ('plugins', {label:'cds'})
34
- DEBUG?.time ('[cds] - loaded plugins in')
34
+ DEBUG?.time ('[cds.plugins] - loaded plugins in')
35
35
  const { plugins } = cds.env, { local } = cds.utils
36
36
  const loadPlugin = async ([plugin, conf]) => {
37
- DEBUG?.(`loading plugin ${plugin}:`, { impl: local(conf.impl) })
37
+ DEBUG?.log(`[cds.plugins] - loading ${plugin}:`, { impl: local(conf.impl) })
38
38
  const p = cds.utils._import (conf.impl)
39
39
  if (p.activate) {
40
40
  cds.log('plugins').warn(`WARNING: \n
@@ -48,6 +48,6 @@ exports.activate = async function () {
48
48
  const all = Object.entries(plugins)
49
49
  await Promise.all (all .filter(([name]) => prio_plugins[name]) .map (loadPlugin))
50
50
  await Promise.all (all .filter(([name]) => !prio_plugins[name]) .map (loadPlugin))
51
- DEBUG?.timeEnd ('[cds] - loaded plugins in')
51
+ DEBUG?.timeEnd ('[cds.plugins] - loaded plugins in')
52
52
  return plugins
53
53
  }
package/lib/ql/CREATE.js CHANGED
@@ -23,7 +23,7 @@ class CREATE extends Query {
23
23
  return this
24
24
  }
25
25
 
26
- get _target_ref(){ return this.CREATE.entity }
26
+ get _subject(){ return this.CREATE.entity }
27
27
  }
28
28
 
29
29
  /** @type CREATE.API & (...entries:[]) => CREATE */
package/lib/ql/DELETE.js CHANGED
@@ -19,7 +19,7 @@ class DELETE extends Whereable {
19
19
  return super.valueOf('DELETE FROM')
20
20
  }
21
21
 
22
- get _target_ref(){ return this.DELETE.from }
22
+ get _subject(){ return this.DELETE.from }
23
23
  }
24
24
 
25
25
  /** @type DELETE.API & (...entries:[]) => DELETE */
package/lib/ql/DROP.js CHANGED
@@ -26,7 +26,7 @@ class DROP extends Query {
26
26
  return this
27
27
  }
28
28
 
29
- get _target_ref(){ return this.DROP.entity }
29
+ get _subject(){ return this.DROP.entity }
30
30
  }
31
31
 
32
32
  /** @type DROP.API & (...entries:[]) => DROP */