@sap/cds 8.9.3 → 9.0.2

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 +122 -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/classes.js +1 -0
  18. package/lib/core/linked-csn.js +8 -8
  19. package/lib/dbs/cds-deploy.js +4 -3
  20. package/lib/env/cds-env.js +9 -9
  21. package/lib/env/cds-requires.js +23 -50
  22. package/lib/env/defaults.js +15 -44
  23. package/lib/env/schemas/cds-package.js +1 -1
  24. package/lib/i18n/index.js +1 -0
  25. package/lib/i18n/locale.js +41 -0
  26. package/lib/index.js +25 -15
  27. package/lib/log/cds-error.js +12 -3
  28. package/lib/log/cds-log.js +43 -18
  29. package/lib/log/format/aspects/als.js +2 -15
  30. package/lib/plugins.js +11 -11
  31. package/lib/ql/CREATE.js +1 -1
  32. package/lib/ql/DELETE.js +1 -1
  33. package/lib/ql/DROP.js +1 -1
  34. package/lib/ql/INSERT.js +9 -18
  35. package/lib/ql/SELECT.js +12 -19
  36. package/lib/ql/UPDATE.js +1 -1
  37. package/lib/ql/UPSERT.js +1 -0
  38. package/lib/ql/Whereable.js +7 -6
  39. package/lib/ql/cds-ql.js +0 -12
  40. package/lib/ql/cds.ql-Query.js +28 -68
  41. package/lib/ql/cds.ql-infer.js +97 -108
  42. package/lib/ql/resolve.js +2 -3
  43. package/lib/req/context.js +5 -4
  44. package/lib/req/request.js +46 -42
  45. package/lib/req/response.js +5 -9
  46. package/lib/req/spawn.js +38 -0
  47. package/lib/req/validate.js +9 -8
  48. package/lib/srv/bindings.js +2 -1
  49. package/lib/srv/cds-connect.js +5 -2
  50. package/lib/srv/cds-serve.js +0 -2
  51. package/lib/srv/cds.Service.js +146 -86
  52. package/lib/srv/middlewares/auth/ias-auth.js +99 -88
  53. package/lib/srv/middlewares/auth/jwt-auth.js +44 -57
  54. package/lib/srv/middlewares/cds-context.js +1 -1
  55. package/lib/srv/middlewares/ctx-model.js +1 -1
  56. package/lib/srv/middlewares/errors.js +34 -42
  57. package/lib/srv/protocols/hcql.js +35 -25
  58. package/lib/srv/protocols/index.js +0 -9
  59. package/lib/srv/protocols/odata-v4.js +1 -6
  60. package/lib/srv/srv-dispatch.js +29 -31
  61. package/lib/srv/srv-handlers.js +14 -46
  62. package/lib/srv/srv-methods.js +15 -37
  63. package/lib/srv/srv-tx.js +19 -25
  64. package/lib/test/cds-test.js +4 -263
  65. package/lib/utils/cds-utils.js +18 -2
  66. package/lib/utils/tar.js +6 -8
  67. package/lib/utils/unit.js +19 -0
  68. package/libx/_runtime/.eslintrc +1 -1
  69. package/libx/_runtime/cds-services/util/assert.js +2 -72
  70. package/libx/_runtime/cds.js +13 -6
  71. package/libx/_runtime/common/Service.js +33 -75
  72. package/libx/_runtime/common/aspects/any.js +0 -38
  73. package/libx/_runtime/common/constants/events.js +5 -13
  74. package/libx/_runtime/common/generic/auth/autoexpose.js +10 -24
  75. package/libx/_runtime/common/generic/auth/capabilities.js +23 -20
  76. package/libx/_runtime/common/generic/auth/expand.js +3 -3
  77. package/libx/_runtime/common/generic/auth/index.js +3 -3
  78. package/libx/_runtime/common/generic/auth/insertOnly.js +3 -3
  79. package/libx/_runtime/common/generic/auth/readOnly.js +4 -4
  80. package/libx/_runtime/common/generic/auth/requires.js +4 -4
  81. package/libx/_runtime/common/generic/auth/restrict.js +12 -29
  82. package/libx/_runtime/common/generic/auth/service.js +3 -3
  83. package/libx/_runtime/common/generic/auth/utils.js +2 -12
  84. package/libx/_runtime/common/generic/crud.js +22 -53
  85. package/libx/_runtime/common/generic/etag.js +18 -31
  86. package/libx/_runtime/common/generic/input.js +51 -123
  87. package/libx/_runtime/common/generic/paging.js +4 -4
  88. package/libx/_runtime/common/generic/sorting.js +8 -19
  89. package/libx/_runtime/common/generic/stream-only.js +26 -0
  90. package/libx/_runtime/common/generic/stream.js +16 -48
  91. package/libx/_runtime/common/generic/temporal.js +15 -6
  92. package/libx/_runtime/common/utils/binary.js +1 -26
  93. package/libx/_runtime/common/utils/compareJson.js +1 -2
  94. package/libx/_runtime/common/utils/cqn.js +15 -14
  95. package/libx/_runtime/common/utils/differ.js +121 -44
  96. package/libx/_runtime/common/utils/keys.js +4 -5
  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 +106 -142
  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 +1 -4
  140. package/libx/odata/utils/normalizeTimeData.js +4 -7
  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 +530 -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
@@ -1,243 +0,0 @@
1
- const odata = require('../okra/odata-server')
2
- const ResourceKind = odata.uri.UriResource.ResourceKind
3
- const TransformationKind = odata.uri.Transformation.TransformationKind
4
- const ExpressionKind = odata.uri.Expression.ExpressionKind
5
- const StandardMethod = odata.uri.AggregateExpression.StandardMethod
6
- const BottomTopMethod = odata.uri.BottomTopTransformation.Method
7
-
8
- const ExpressionToCQN = require('./ExpressionToCQN')
9
- const { getFeatureNotSupportedError } = require('../../../util/errors')
10
-
11
- const AGGREGATION_METHODS = {
12
- [StandardMethod.SUM]: x => `sum(${x})`,
13
- [StandardMethod.MIN]: x => `min(${x})`,
14
- [StandardMethod.MAX]: x => `max(${x})`,
15
- [StandardMethod.AVERAGE]: x => `avg(${x})`,
16
- [StandardMethod.COUNT_DISTINCT]: x => `count(distinct ${x})`
17
- }
18
-
19
- const BOTTOMTOP_METHODS = {
20
- [BottomTopMethod.TOP_COUNT]: (x, y) => `topcount(${x},${y})`,
21
- [BottomTopMethod.BOTTOM_COUNT]: (x, y) => `bottomcount(${x},${y})`
22
- }
23
-
24
- const AGGREGATION_DEFAULT = '@Aggregation.default'
25
-
26
- const _createNavGroupBy = pathSegments => {
27
- let name = pathSegments[0].getNavigationProperty().getName()
28
- for (let i = 1; i < pathSegments.length; i++) {
29
- name += pathSegments[i].getProperty()
30
- ? '.' + pathSegments[i].getProperty().getName()
31
- : '.' + pathSegments[i].getNavigationProperty().getName()
32
- }
33
- return name
34
- }
35
-
36
- const _getColumnName = expression => {
37
- if (expression.getKind() === ExpressionKind.MEMBER) {
38
- const pathSegments = expression.getPathSegments()
39
-
40
- if (pathSegments[0].getKind() === 'COMPLEX.PROPERTY') {
41
- return _complexProperty(pathSegments)
42
- }
43
- return pathSegments[0].getNavigationProperty()
44
- ? _createNavGroupBy(pathSegments)
45
- : pathSegments[0].getProperty().getName()
46
- }
47
- throw getFeatureNotSupportedError(`Expression ${expression.getKind()} with query option $apply`)
48
- }
49
-
50
- const _checkAggregateExpression = aggregateExpression => {
51
- if (
52
- aggregateExpression.getInlineAggregateExpression() ||
53
- aggregateExpression.getFrom().length ||
54
- (aggregateExpression.getPathSegments().length &&
55
- aggregateExpression.getPathSegments()[0].getKind() !== ResourceKind.COUNT)
56
- ) {
57
- throw getFeatureNotSupportedError('Only simple aggregate expressions are supported with query option $apply')
58
- }
59
- }
60
-
61
- const _addAggregation = aggregateExpression => {
62
- const columnName = _getColumnName(aggregateExpression.getExpression())
63
- const aggregate = AGGREGATION_METHODS[aggregateExpression.getStandardMethod()]
64
- if (!aggregate) throw new Error('Unsupported aggregate function: ' + aggregateExpression.getStandardMethod())
65
- const aggregation = aggregate(columnName)
66
- const alias = aggregateExpression.getAlias()
67
- if (alias) {
68
- const column = {}
69
- column[aggregation] = alias
70
- return column
71
- } else {
72
- return aggregation
73
- }
74
- }
75
-
76
- const _addCount = aggregateExpression => {
77
- const alias = aggregateExpression.getAlias()
78
- if (alias) {
79
- return { 'count(1)': alias }
80
- } else {
81
- return 'count(1)'
82
- }
83
- }
84
-
85
- const _createColumnsForAggregateExpressions = (aggregateExpressions, entity) => {
86
- const columns = []
87
- let defaultAggregation
88
- for (const aggregateExpression of aggregateExpressions) {
89
- // custom aggregates
90
- if (aggregateExpression.getPathSegments() && aggregateExpression.getPathSegments().length === 1) {
91
- const name =
92
- aggregateExpression.getPathSegments()[0].getProperty() &&
93
- aggregateExpression.getPathSegments()[0].getProperty().getName()
94
- if (
95
- name &&
96
- entity[`@Aggregation.CustomAggregate#${name}`] &&
97
- entity.elements[name] &&
98
- entity.elements[name][AGGREGATION_DEFAULT] &&
99
- entity.elements[name][AGGREGATION_DEFAULT]['#']
100
- ) {
101
- defaultAggregation = entity.elements[name][AGGREGATION_DEFAULT]['#'].toLowerCase()
102
- if (defaultAggregation === 'count_distinct') defaultAggregation = 'countdistinct'
103
- columns.push({ [`${defaultAggregation}(${name})`]: name })
104
- continue
105
- }
106
- }
107
-
108
- _checkAggregateExpression(aggregateExpression)
109
- if (aggregateExpression.getExpression() && aggregateExpression.getStandardMethod() !== null) {
110
- columns.push(_addAggregation(aggregateExpression))
111
- } else {
112
- // checked in checkAggregateExpression to be ResourceKind.COUNT
113
- columns.push(_addCount(aggregateExpression))
114
- }
115
- }
116
- return columns
117
- }
118
-
119
- const _addAggregationToResult = (transformation, entity, result) => {
120
- const expressions = transformation.getExpressions()
121
-
122
- if (expressions.length) {
123
- result.aggregations = result.aggregations || []
124
- result.aggregations.push(..._createColumnsForAggregateExpressions(expressions, entity))
125
- }
126
- }
127
-
128
- const _methodName = transformation => {
129
- if (transformation.constructor.Method) {
130
- for (const method in transformation.constructor.Method) {
131
- if (transformation.getMethod() === transformation.constructor.Method[method]) {
132
- return method
133
- }
134
- }
135
- }
136
- return transformation.getMethod() // old behaviour if no method can be found
137
- }
138
-
139
- const _addBottomTopTransformation = (transformation, result, withGroupBy) => {
140
- const method = transformation.getMethod()
141
-
142
- if (!BOTTOMTOP_METHODS[method]) {
143
- throw getFeatureNotSupportedError(`Transformation "${_methodName(transformation)}" with query option $apply`)
144
- } else if (!withGroupBy) {
145
- result.orderBy = []
146
- result.orderBy.push({
147
- [_getColumnName(transformation.getValue())]: method === BottomTopMethod.TOP_COUNT ? 'desc' : 'asc'
148
- })
149
- result.limit = { top: transformation.getNumber().getText() }
150
- } else {
151
- result.bottomTop = result.bottomTop || []
152
- const bottomTop = BOTTOMTOP_METHODS[method]
153
- result.bottomTop.push(bottomTop(transformation.getNumber().getText(), _getColumnName(transformation.getValue())))
154
- }
155
- }
156
-
157
- const _handleTransformation = (transformation, entity, res) => {
158
- if (transformation.getTransformations()[0].getKind() === TransformationKind.AGGREGATE) {
159
- _addAggregationToResult(transformation.getTransformations()[0], entity, res)
160
- } else if (transformation.getTransformations()[0].getKind() === TransformationKind.BOTTOM_TOP) {
161
- _addBottomTopTransformation(transformation.getTransformations()[0], res, true)
162
- } else {
163
- throw getFeatureNotSupportedError(
164
- `Transformation "${_methodName(transformation.getTransformations()[0])}" with query option $apply`
165
- )
166
- }
167
- }
168
-
169
- function _complexProperty(pathSegments) {
170
- const name = []
171
- for (const pathSegment of pathSegments) {
172
- if (pathSegment.getProperty()) {
173
- name.push(pathSegment.getProperty().getName())
174
- } else if (pathSegment.getNavigationProperty()) {
175
- // future support for assocs in structured
176
- // TODO
177
- }
178
- }
179
- return name.join('.')
180
- }
181
-
182
- /**
183
- * Add odata apply to a CQN object.
184
- *
185
- * @param {Array<import('../okra/odata-commons/uri/apply/Transformation')>} transformations - odata-v4 transformation object
186
- * @param {object} entity - csn entity targeted by the request
187
- * @param {object} model - reflected model
188
- *
189
- * @private
190
- */
191
- const applyToCQN = (transformations, entity, model) => {
192
- const res = {}
193
- for (const transformation of transformations) {
194
- switch (transformation.getKind()) {
195
- case TransformationKind.GROUP_BY:
196
- res.groupBy = []
197
- if (transformation.getTransformations().length) {
198
- _handleTransformation(transformation, entity, res)
199
- }
200
- for (const item of transformation.getGroupByItems()) {
201
- const pathSegment = item.getPathSegments().length > 0 && item.getPathSegments()[0]
202
- if (!pathSegment) {
203
- throw getFeatureNotSupportedError(
204
- 'Transformation "groupby" with query option $apply does not support this request'
205
- )
206
- }
207
- if (pathSegment.getKind() === 'COMPLEX.PROPERTY') {
208
- throw getFeatureNotSupportedError(
209
- 'Transformation "groupby" with query option $apply does not support complex properties'
210
- )
211
- // TODO support annotations Groupable
212
- // Odata spec: http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/cs01/odata-data-aggregation-ext-v4.0-cs01.html#_Toc378326318
213
- // res.groupBy.push(_complexProperty(item.getPathSegments()))
214
- } else if (pathSegment.getProperty()) {
215
- const name = item.getPathSegments()[0].getProperty().getName()
216
- res.groupBy.push(name)
217
- } else if (pathSegment.getNavigationProperty()) {
218
- res.groupBy.push(_createNavGroupBy(item.getPathSegments()))
219
- }
220
- }
221
- break
222
- case TransformationKind.AGGREGATE:
223
- _addAggregationToResult(transformation, entity, res)
224
- break
225
- case TransformationKind.FILTER:
226
- res.filter = new ExpressionToCQN(entity, model).parse(transformation.getFilter())
227
- break
228
- case TransformationKind.BOTTOM_TOP:
229
- _addBottomTopTransformation(transformation, res)
230
- break
231
- default: {
232
- const numericKind = transformation.getKind()
233
- // eslint-disable-next-line no-unused-vars
234
- const stringKind = Object.entries(TransformationKind).find(([_, v]) => v === numericKind)?.[0]
235
- throw getFeatureNotSupportedError(`Transformation "${stringKind || numericKind}" with query option $apply`)
236
- }
237
- }
238
- }
239
-
240
- return res
241
- }
242
-
243
- module.exports = applyToCQN
@@ -1,43 +0,0 @@
1
- const cds = require('../../../../cds')
2
- const { SELECT } = cds.ql
3
-
4
- const { convertUrlPathToCqn, isPathSupported } = require('./utils')
5
-
6
- const {
7
- BOUND_ACTION,
8
- BOUND_FUNCTION,
9
- COUNT,
10
- ENTITY,
11
- ENTITY_COLLECTION,
12
- NAVIGATION_TO_MANY,
13
- NAVIGATION_TO_ONE,
14
- PRIMITIVE_PROPERTY,
15
- SINGLETON
16
- } = require('../okra/odata-server').uri.UriResource.ResourceKind
17
-
18
- const SUPPORTED_SEGMENT_KINDS = {
19
- [BOUND_ACTION]: 1,
20
- [BOUND_FUNCTION]: 1,
21
- [COUNT]: 1,
22
- [ENTITY]: 1,
23
- [ENTITY_COLLECTION]: 1,
24
- [NAVIGATION_TO_ONE]: 1,
25
- [NAVIGATION_TO_MANY]: 1,
26
- [PRIMITIVE_PROPERTY]: 1,
27
- [SINGLETON]: 1
28
- }
29
-
30
- /**
31
- * Transform odata bound action or functiuon request into a CQN object.
32
- *
33
- * @param {object} odataReq - An odata request.
34
- * @private
35
- */
36
- const boundToCQN = (service, odataReq) => {
37
- const segments = odataReq.getUriInfo().getPathSegments()
38
- isPathSupported(SUPPORTED_SEGMENT_KINDS, segments)
39
-
40
- return SELECT.from(convertUrlPathToCqn(segments.slice(0, segments.length - 1), service))
41
- }
42
-
43
- module.exports = boundToCQN
@@ -1,37 +0,0 @@
1
- const cds = require('../../../../cds')
2
- const { INSERT } = cds.ql
3
-
4
- const { getFeatureNotSupportedError } = require('../../../util/errors')
5
- const { convertUrlPathToCqn } = require('./utils')
6
-
7
- const { ENTITY, SINGLETON, NAVIGATION_TO_ONE } = require('../okra/odata-server').uri.UriResource.ResourceKind
8
-
9
- const UPSERT_KINDS = {
10
- [ENTITY]: 1,
11
- [SINGLETON]: 1,
12
- [NAVIGATION_TO_ONE]: 1
13
- }
14
-
15
- /**
16
- * Transform odata CREATE request into a CQN object.
17
- *
18
- * @param {object} target
19
- * @param {object | Array} data
20
- * @param {object} odataReq - OKRA's req
21
- * @param {boolean} upsert - CREATE on PUT/PATCH
22
- * @throw Error - if invalid segments are provided in request
23
- * @private
24
- */
25
- const createToCQN = (service, target, data, odataReq, upsert) => {
26
- const segments = odataReq.getUriInfo().getPathSegments()
27
- const lastSegment = odataReq.getUriInfo().getLastSegment()
28
-
29
- const kind = lastSegment.getKind()
30
- if (kind === 'ENTITY.COLLECTION' || kind === 'NAVIGATION.TO.MANY' || (upsert && UPSERT_KINDS[kind])) {
31
- return INSERT.into(convertUrlPathToCqn(segments, service)).entries(data)
32
- }
33
-
34
- throw getFeatureNotSupportedError(`INSERT of kind "${lastSegment.getKind()}"`)
35
- }
36
-
37
- module.exports = createToCQN
@@ -1,36 +0,0 @@
1
- const cds = require('../../../../cds')
2
- const { UPDATE, DELETE } = cds.ql
3
-
4
- const { getFeatureNotSupportedError } = require('../../../util/errors')
5
- const { convertUrlPathToCqn } = require('./utils')
6
-
7
- const { ENTITY, NAVIGATION_TO_ONE, SINGLETON } = require('../okra/odata-server').uri.UriResource.ResourceKind
8
-
9
- const SUPPORTED_KINDS = {
10
- [ENTITY]: 1,
11
- [SINGLETON]: 1,
12
- [NAVIGATION_TO_ONE]: 1
13
- }
14
-
15
- /**
16
- * Transform odata DELETE request into a CQN object.
17
- *
18
- * @param {object} odataReq - OKRA's req
19
- * @throws Error - If invalid path segment provided
20
- * @private
21
- */
22
- const deleteToCQN = (service, odataReq) => {
23
- const segments = odataReq.getUriInfo().getPathSegments()
24
- const segment = segments[segments.length - 1]
25
-
26
- if (SUPPORTED_KINDS[segment.getKind()]) {
27
- return DELETE.from(convertUrlPathToCqn(segments, service))
28
- }
29
- if (segment.getKind() === 'PRIMITIVE.PROPERTY') {
30
- return UPDATE(convertUrlPathToCqn(segments, service)).data({ [segment.getProperty().getName()]: null })
31
- }
32
-
33
- throw getFeatureNotSupportedError(`DELETE of kind "${segment.getKind()}"`)
34
- }
35
-
36
- module.exports = deleteToCQN
@@ -1,250 +0,0 @@
1
- const cds = require('../../../../cds')
2
- const { SELECT } = cds.ql
3
-
4
- const {
5
- QueryOptions,
6
- edm: { EdmTypeKind }
7
- } = require('../okra/odata-server')
8
-
9
- const { getFeatureNotSupportedError } = require('../../../util/errors')
10
- const orderByToCQN = require('./orderByToCQN')
11
- const ExpressionToCQN = require('./ExpressionToCQN')
12
- const { getColumns } = require('../../../../common/utils/columns')
13
- const { addLimit, isSameArray } = require('./utils')
14
- const { findCsnTargetFor } = require('../../../../common/utils/csn')
15
- const getError = require('../../../../common/error')
16
- /**
17
- * Check which element(s) of the entity has been expanded.
18
- *
19
- * @param isAll
20
- * @param {Array} expandItems
21
- * @param name
22
- * @returns {Array | null}
23
- * @private
24
- */
25
- const _getExpandItem = (isAll, expandItems, name) => {
26
- if (isAll) return null
27
-
28
- return expandItems.find(item => {
29
- const pathSegments = item.getPathSegments()
30
- if (pathSegments[pathSegments.length - 1].getKind() === 'COUNT') {
31
- throw getError(501, '"/$count" is not supported for expand operation')
32
- }
33
-
34
- const navigation = pathSegments[pathSegments.length - 1].getNavigationProperty()
35
- return navigation && navigation.getName() === name
36
- })
37
- }
38
-
39
- /**
40
- * Check if not supported function is used and if so, throw an error.
41
- *
42
- * @param expandItem
43
- * @private
44
- */
45
- const _notSupported = expandItem => {
46
- if (!expandItem) return
47
-
48
- if (expandItem.getOption(QueryOptions.COUNT)) {
49
- throw getFeatureNotSupportedError(`Expand with query option "${QueryOptions.COUNT}"`)
50
- }
51
-
52
- if (expandItem.getOption(QueryOptions.SEARCH)) {
53
- throw getFeatureNotSupportedError(`Expand with query option "${QueryOptions.SEARCH}"`)
54
- }
55
- }
56
-
57
- /**
58
- * No lookup at the CSN needed. Get columns from target.
59
- *
60
- * @param targetType
61
- * @param relatedEntity
62
- * @param all
63
- * @returns {Array}
64
- * @private
65
- */
66
- const _getColumnsFromTargetType = (targetType, relatedEntity, all = false) => {
67
- if (!targetType || targetType.getKind() !== EdmTypeKind.ENTITY) {
68
- return []
69
- }
70
-
71
- if (all) {
72
- return getColumns(relatedEntity, { onlyNames: true, removeIgnore: true, filterDraft: false })
73
- .filter(column => column !== 'DraftAdministrativeData_DraftUUID')
74
- .map(column => ({
75
- ref: [column]
76
- }))
77
- }
78
-
79
- const columnNames = []
80
-
81
- const keyNames = Object.keys(relatedEntity.keys).filter(keyName => {
82
- const key = relatedEntity.keys[keyName]
83
- return !key.is2one && !key.is2many
84
- })
85
-
86
- columnNames.push(...keyNames)
87
- return columnNames.map(element => ({ ref: [element] }))
88
- }
89
-
90
- const _getInnerSelect = expandItem => {
91
- if (!expandItem) return []
92
- return expandItem.getOption(QueryOptions.SELECT) || []
93
- }
94
-
95
- const _isProxy = (service, targetType, relatedEntity) => {
96
- // REVISIT still not perfect solution
97
- if (!cds.env.effective.odata.proxies && !cds.env.effective.odata.xrefs) return
98
- // proxy => target entity not exposed in service (model.namespace)
99
- if (targetType.getName() in service.entities()) return
100
- for (const key of targetType.getProperties().keys()) {
101
- if (!relatedEntity.keys[key]) return
102
- }
103
- return true
104
- }
105
-
106
- /**
107
- * Get the selected columns and navigation paths.
108
- *
109
- * @param expandItem
110
- * @param targetType
111
- * @param relatedEntity
112
- * @returns {Array}
113
- * @private
114
- */
115
- const _getSelectedElements = (expandItem, targetType, service, options) => {
116
- const { name: entityName, namespace } = targetType.getFullQualifiedName()
117
-
118
- // autoexposed entities now used . in csn and _ in edm
119
- const relatedEntity = findCsnTargetFor(entityName, service.model, namespace)
120
- // proxy target?
121
- if (_isProxy(service, targetType, relatedEntity)) {
122
- return _getColumnsFromTargetType(targetType, relatedEntity)
123
- }
124
-
125
- let innerSelectItems = _getInnerSelect(expandItem)
126
-
127
- if (innerSelectItems.length === 0 || innerSelectItems.some(item => item.isAll())) {
128
- // REVISIT: Remove once we clean up our draft handling
129
- if (options && options.rewriteAsterisks) return _getColumnsFromTargetType(targetType, relatedEntity, true)
130
- return ['*']
131
- }
132
-
133
- // remove navigations from select clause
134
- innerSelectItems = innerSelectItems.filter(item => {
135
- // check only last segment, could be complex type
136
- return !_getNavigationProperty(item.getPathSegments())
137
- })
138
-
139
- const selectedPaths = _getColumnsFromTargetType(targetType, relatedEntity)
140
-
141
- for (const selectItem of innerSelectItems) {
142
- const selectRef = { ref: [] }
143
- for (const segment of selectItem.getPathSegments()) {
144
- selectRef.ref.push(segment.getPathSegmentIdentifier())
145
- }
146
-
147
- // don't add already existing refs
148
- if (selectedPaths.some(ref => isSameArray(ref.ref, selectRef.ref))) {
149
- continue
150
- }
151
-
152
- if (selectRef.ref.length) {
153
- selectedPaths.push(selectRef)
154
- }
155
- }
156
-
157
- return selectedPaths
158
- }
159
-
160
- const _filter = (item, expression) => {
161
- if (!expression) return
162
- const expressionToCQN = new ExpressionToCQN()
163
- item.where = SELECT.from('a').where(expressionToCQN.parse(expression)).SELECT.where
164
- }
165
-
166
- const _getItemCQN = (service, name, navigationProperty, expandItem, options) => {
167
- _notSupported(expandItem)
168
-
169
- const targetType = navigationProperty.getEntityType()
170
-
171
- const expand = _getSelectedElements(expandItem, targetType, service, options)
172
- const item = {
173
- ref: name, // ['structured', 'nested_', nestedAssocToOne] if expand on structured
174
- expand
175
- }
176
-
177
- if (!expandItem) {
178
- // $expand=* can't have own query options -> no limit, orderBy, etc. needed
179
- return item
180
- }
181
-
182
- item.expand.push(...expandToCQN(expandItem.getOption(QueryOptions.EXPAND), targetType, service, options))
183
-
184
- const orderBy = expandItem.getOption(QueryOptions.ORDERBY)
185
- if (orderBy) {
186
- orderByToCQN(item, orderBy)
187
- }
188
-
189
- const top = expandItem.getOption(QueryOptions.TOP)
190
- if (navigationProperty.isCollection())
191
- addLimit(item, top != null ? top : null, expandItem.getOption(QueryOptions.SKIP) || 0)
192
-
193
- _filter(item, expandItem.getOption(QueryOptions.FILTER))
194
- return item
195
- }
196
-
197
- const _getNavigationProperty = pathSegments => {
198
- if (pathSegments.length === 0) return
199
- return pathSegments[pathSegments.length - 1].getNavigationProperty()
200
- }
201
-
202
- const _name = expandItem =>
203
- expandItem
204
- .getPathSegments()
205
- .map(
206
- item =>
207
- (item.getProperty() && item.getProperty().getName()) ||
208
- (item.getNavigationProperty() && item.getNavigationProperty().getName())
209
- )
210
-
211
- /**
212
- * Convert odata-v4 expand to into argument for query API.
213
- *
214
- * @param model
215
- * @param expandItems
216
- * @param type
217
- * @returns {Array}
218
- */
219
- const expandToCQN = (expandItems, type, service, options) => {
220
- if (!expandItems || !expandItems.length) return []
221
-
222
- const allElements = []
223
- const isAll = expandItems.some(item => item.isAll())
224
-
225
- for (const [name, navigationProperty] of type.getNavigationProperties()) {
226
- const expandItem = _getExpandItem(isAll, expandItems, name)
227
-
228
- if (isAll || expandItem) {
229
- const itemCQN = _getItemCQN(service, [name], navigationProperty, expandItem, options)
230
- allElements.push(itemCQN)
231
- }
232
- }
233
-
234
- // structured
235
- for (const expandItem of expandItems) {
236
- const pathSegments = expandItem.getPathSegments()
237
-
238
- if (pathSegments.length && pathSegments[0].getKind() === 'COMPLEX.PROPERTY') {
239
- const navigationProperty = _getNavigationProperty(pathSegments)
240
-
241
- if (isAll || expandItem) {
242
- allElements.push(_getItemCQN(service, _name(expandItem), navigationProperty, expandItem))
243
- }
244
- }
245
- }
246
-
247
- return allElements
248
- }
249
-
250
- module.exports = expandToCQN
@@ -1,81 +0,0 @@
1
- const cds = require('../../../../cds')
2
-
3
- const {
4
- Components: { DATA_CREATE_HANDLER, DATA_DELETE_HANDLER, DATA_READ_HANDLER, DATA_UPDATE_HANDLER }
5
- } = require('../okra/odata-server')
6
-
7
- const boundToCQN = require('./boundToCQN')
8
- const readToCQN = require('./readToCQN')
9
- const updateToCQN = require('./updateToCQN')
10
- const createToCQN = require('./createToCQN')
11
- const deleteToCQN = require('./deleteToCQN')
12
-
13
- const parseToCqn = (component, service, target, data, odataReq, upsert) => {
14
- let query = cds.odata.parse(odataReq.getIncomingRequest().url, { service, protocol: 'odata' })
15
-
16
- // for concat
17
- if (component === 'READ' && Array.isArray(query)) return query
18
-
19
- const _target = query.SELECT && query.SELECT.from
20
-
21
- const {
22
- SELECT: { one }
23
- } = query
24
-
25
- switch (component) {
26
- case 'CREATE':
27
- // create
28
- // error in cases like `POST Books(1)` i.e. `POST` with navigation to single entity
29
- if (one && !upsert) cds.error('POST not allowed on entity', { code: 400 })
30
- return INSERT.into(_target).entries(data)
31
- case 'DELETE':
32
- if (!one) cds.error('DELETE not allowed on collection', { code: 400 })
33
- // eslint-disable-next-line no-case-declarations
34
- const last = query._propertyAccess || (_target.ref && _target.ref[_target.ref.length - 1])
35
- if (target.elements[last] || target.elements[query._propertyAccess]) {
36
- // delete simple property
37
- const ref = { ref: query._propertyAccess ? _target.ref : _target.ref.slice(0, -1) }
38
- return UPDATE(ref).data({ [last]: null })
39
- } else {
40
- return DELETE.from(_target)
41
- }
42
- case 'UPDATE':
43
- if (!one) throw { statusCode: 400, code: '400', message: `INVALID_${odataReq.getMethod()}` }
44
- return UPDATE(_target).data(data)
45
- default:
46
- return query
47
- }
48
- }
49
-
50
- /**
51
- * This method transforms an odata request into a CQN object.
52
- *
53
- * @param {string} component - Component name
54
- * @param {object} service - Service, which will process this request
55
- * @param {object} target - The target entity
56
- * @param {object | Array} data - A copy of the request payload
57
- * @param {object} odataReq - OKRA's req
58
- * @param {boolean} upsert - CREATE on PUT/PATCH
59
- * @returns {object} - The CQN object
60
- */
61
- module.exports = (component, service, target, data, odataReq, upsert) => {
62
- if (cds.env.features.odata_new_parser) {
63
- return parseToCqn(component, service, target, data, odataReq, upsert)
64
- }
65
-
66
- switch (component) {
67
- case DATA_CREATE_HANDLER:
68
- return createToCQN(service, target, data, odataReq, upsert)
69
- case DATA_DELETE_HANDLER:
70
- return deleteToCQN(service, odataReq)
71
- case DATA_READ_HANDLER:
72
- return readToCQN(service, target, odataReq)
73
- case DATA_UPDATE_HANDLER:
74
- return updateToCQN(service, data, odataReq)
75
- case 'BOUND.ACTION':
76
- case 'BOUND.FUNCTION':
77
- return boundToCQN(service, odataReq)
78
- default:
79
- return {}
80
- }
81
- }