@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,515 +0,0 @@
1
- 'use strict'
2
-
3
- const commons = require('../../odata-commons')
4
- const RepresentationKind = commons.format.RepresentationKind
5
- const ContentTypes = commons.format.ContentTypeInfo.ContentTypes
6
- const HttpStatusCode = commons.http.HttpStatusCode
7
- const ExpressionKind = commons.uri.Expression.ExpressionKind
8
- const TransformationKind = commons.uri.apply.Transformation.TransformationKind
9
- const AggregateMethod = commons.uri.apply.AggregateExpression.StandardMethod
10
- const BottomTopMethod = commons.uri.apply.BottomTopTransformation.Method
11
- const UriHelper = require('../utils/UriHelper')
12
-
13
- class DebugJsonSerializer {
14
- /**
15
- * Creats an instance of the debug-view JSON serializer.
16
- * @param {Object} context - The OData context
17
- * @param {string} payload - The response body. It is the result of the previous serializer, referring either to data (e.g. metadata, service, entity collection, .. etc.) for successful request, or to an error (any).
18
- * @param {string} err - Error
19
- */
20
- constructor (context, payload, err) {
21
- this._context = context
22
- this._payload = payload
23
- this._error = err
24
- }
25
-
26
- /**
27
- * Serializes the debug view and returns a stringified JSON object with the following structure:
28
- * {
29
- * request: {...},
30
- * response: {...},
31
- * context: {...},
32
- * }
33
- *
34
- * @returns {string} - Stringified JSON object of the debug view
35
- */
36
- serialize () {
37
- const request = this._context.getRequest()
38
- const response = this._context.getResponse()
39
-
40
- let body = request.getBody() || ''
41
- if (request.getContract().getRepresentationKind() === RepresentationKind.Kinds.BATCH) body = ''
42
-
43
- let output = {
44
- request: {
45
- method: request.getMethod(),
46
- uri: request.getUrlObject().href,
47
- headers: request.getHeaders(),
48
- body
49
- },
50
- response: {
51
- headers: response.getHeaders(),
52
- status: {
53
- code: response.getOriginalStatusCode(),
54
- info: response.getStatusMessage() || HttpStatusCode.Texts[response.getOriginalStatusCode()]
55
- },
56
- body: this._payload
57
- },
58
- context: {
59
- uriInfo: null,
60
- requestRepresentationKind: request.getContract().getRepresentationKind(),
61
- responseRepresentationKind: response.getOriginalContract().getRepresentationKind()
62
- },
63
- server: {
64
- environment: {
65
- platform: process.platform,
66
- arch: process.arch,
67
- node: {
68
- version: process.version
69
- },
70
- process: {
71
- uptime: Math.trunc(process.uptime() / 60) + ' minutes'
72
- }
73
- }
74
- },
75
- log: this._context.getLogger().getLog()
76
- }
77
-
78
- try {
79
- if (
80
- response
81
- .getOriginalContract()
82
- .getContentTypeInfo()
83
- .getMimeType() === ContentTypes.JSON
84
- ) {
85
- output.response.body = JSON.parse(this._payload)
86
- }
87
- } catch (error) {
88
- // A possible error can be ignored if the payload is not in JSON.
89
- // The payload itself is already in the output.
90
- }
91
-
92
- try {
93
- output.context.uriInfo = this._buildUriInfo(request.getUriInfo())
94
- } catch (error) {
95
- this._error = error
96
- }
97
-
98
- if (this._error) {
99
- output.server.stacktrace = this._collectErrorStacktrace(this._error, [])
100
- }
101
-
102
- const mainPm = this._context.getPerformanceMonitor()
103
- if (!mainPm.isNoOpMonitor()) {
104
- output.profile = mainPm.getResult()
105
- }
106
-
107
- return JSON.stringify(output)
108
- }
109
-
110
- /**
111
- * Build the error stacktrace recursive. If there is a getRootCause method and this methods
112
- * returns a root error the stack of the root error will be pushed to the stacktrace.
113
- *
114
- * @param {Error} error The error to build the stacktrace from.
115
- * @param {Array} stacktrace This array will be filled with the stacktrace.
116
- * Each element is a nested root error.
117
- * @returns {Array} the stacktrace
118
- * @private
119
- */
120
- _collectErrorStacktrace (error, stacktrace) {
121
- stacktrace.push(error.stack)
122
- if (error.getRootCause && error.getRootCause()) {
123
- let innerError = error.getRootCause()
124
- this._collectErrorStacktrace(innerError, stacktrace)
125
- }
126
- return stacktrace
127
- }
128
-
129
- /**
130
- * Serializes the URI info object.
131
- * @param {Object} uriInfo - The URI info
132
- * @returns {Object} - Serialized JSON object
133
- * @private
134
- */
135
- _buildUriInfo (uriInfo) {
136
- if (!uriInfo) return null
137
- return {
138
- pathSegments: this._buildPathSegments(uriInfo.getPathSegments()),
139
- queryOptions: this._buildQueryOptions(uriInfo.getQueryOptions())
140
- }
141
- }
142
-
143
- /**
144
- * Prepare the provided resource-path segments for serialization.
145
- * @param {UriResource[]} segments the resource-path segments
146
- * @returns {Array} the built segments prepared for serialization
147
- * @private
148
- */
149
- _buildPathSegments (segments) {
150
- return segments.map(segment => {
151
- let result = {
152
- kind: segment.getKind(),
153
- name: segment.getPathSegmentIdentifier()
154
- }
155
-
156
- let keyPredicates = UriHelper.buildKeyPredicates(segment.getKeyPredicates())
157
- for (let keyPredicate of keyPredicates) {
158
- keyPredicate.type = keyPredicate.type.getFullQualifiedName().toString()
159
- }
160
- if (keyPredicates.length) result.keyPredicates = keyPredicates
161
-
162
- if (segment.getProperty()) {
163
- const property = segment.getProperty()
164
- if (property.getType()) {
165
- result.type = property
166
- .getType()
167
- .getFullQualifiedName()
168
- .toString()
169
- }
170
- result.isCollection = property.isCollection()
171
- result.isNullable = property.isNullable()
172
- }
173
-
174
- if (segment.getNavigationProperty()) {
175
- const edmNavigationProperty = segment.getNavigationProperty()
176
- result.isCollection = edmNavigationProperty.isCollection()
177
- result.isNullable = edmNavigationProperty.isNullable()
178
- const partner = edmNavigationProperty.getPartner()
179
- if (partner) {
180
- result.partner = {
181
- name: partner.getName(),
182
- type: partner
183
- .getEntityType()
184
- .getFullQualifiedName()
185
- .toString(),
186
- isCollection: partner.isCollection(),
187
- isNullable: partner.isNullable()
188
- }
189
- const partnerConstraints = partner.getReferentialConstraints()
190
- if (partnerConstraints && partnerConstraints.size) {
191
- result.partner.constraints = Array.from(partnerConstraints.values()).map(constraint => {
192
- return {
193
- property: constraint.getPropertyName(),
194
- referencedProperty: constraint.getReferencedPropertyName()
195
- }
196
- })
197
- }
198
- }
199
- const constraints = edmNavigationProperty.getReferentialConstraints()
200
- if (constraints && constraints.size) {
201
- result.constraints = Array.from(constraints.values()).map(constraint => {
202
- return {
203
- property: constraint.getPropertyName(),
204
- referencedProperty: constraint.getReferencedPropertyName()
205
- }
206
- })
207
- }
208
- }
209
-
210
- if (segment.getExpression()) result.expression = this._buildExpression(segment.getExpression())
211
- if (segment.getExpressionVariableName()) result.variableName = segment.getExpressionVariableName()
212
- if (segment.getFunction()) {
213
- result.parameters = segment.getFunctionParameters().map(this._buildParameter, this)
214
- }
215
-
216
- let type = segment.getEdmType()
217
- if (type) result.type = type.getFullQualifiedName().toString()
218
-
219
- return result
220
- })
221
- }
222
-
223
- /**
224
- * Prepare the provided expression for serialization.
225
- * @param {Expression} expression the expression to build
226
- * @returns {Object} The built expression prepared for serialization
227
- * @private
228
- */
229
- _buildExpression (expression) {
230
- let result = {}
231
-
232
- switch (expression.getKind()) {
233
- case ExpressionKind.LITERAL:
234
- result.nodeType = 'LiteralExpression'
235
- result.value = expression.getText()
236
- break
237
-
238
- case ExpressionKind.ALIAS:
239
- result.nodeType = 'AliasExpression'
240
- result.alias = expression.getAlias()
241
- result.expression = this._buildExpression(expression.getExpression())
242
- break
243
-
244
- case ExpressionKind.UNARY:
245
- result.nodeType = 'UnaryExpression'
246
- result.operator = expression.getOperator()
247
- result.operand = this._buildExpression(expression.getOperand())
248
- break
249
-
250
- case ExpressionKind.BINARY:
251
- result.nodeType = 'BinaryExpression'
252
- result.operator = expression.getOperator()
253
- result.left = this._buildExpression(expression.getLeftOperand())
254
- result.right = this._buildExpression(expression.getRightOperand())
255
- break
256
-
257
- case ExpressionKind.MEMBER:
258
- result.nodeType = 'MemberExpression'
259
- result.pathSegments = this._buildPathSegments(expression.getPathSegments())
260
- break
261
-
262
- case ExpressionKind.METHOD:
263
- result.nodeType = 'MethodExpression'
264
- result.operator = expression.getMethod()
265
- result.parameters = expression.getParameters().map(this._buildExpression, this)
266
- break
267
-
268
- default:
269
- break
270
- }
271
-
272
- let type = expression.getType()
273
- if (type) result.type = type.getFullQualifiedName().toString()
274
-
275
- return result
276
- }
277
-
278
- /**
279
- * Prepare the provided expand query option for serialization.
280
- * The preparation is done recursively for all available expands.
281
- *
282
- * @param {Object} $expand The query option to build
283
- * @returns {Object} The built query expand option prepared for serialization
284
- * @private
285
- */
286
- _buildExpandQueryOption ($expand) {
287
- return $expand.map(expandItem => {
288
- let context = {}
289
-
290
- context.$expandPath = this._buildPathSegments(expandItem.getPathSegments())
291
-
292
- const $select = expandItem.getOption('$select')
293
- if ($select) context.$select = this._buildSelectQueryOption($select)
294
-
295
- const nextExpand = expandItem.getOption('$expand')
296
- if (nextExpand) context.$expand = this._buildExpandQueryOption(nextExpand)
297
-
298
- if (expandItem.isAll()) context.isAll = true
299
-
300
- return context
301
- })
302
- }
303
-
304
- /**
305
- * Prepare the provided select query option for serialization.
306
- * @param {Object} $select The query option to build
307
- * @returns {string[]} The built query select option prepared for serialization
308
- * @private
309
- */
310
- _buildSelectQueryOption ($select) {
311
- return $select.map(selectItem => {
312
- const pathSegments = selectItem.getPathSegments()
313
- if (pathSegments.length > 0) {
314
- return pathSegments.map(segment => segment.getPathSegmentIdentifier()).join('/')
315
- }
316
-
317
- if (selectItem.isAllOperationsInSchema()) {
318
- return selectItem.getAllOperationsInSchemaNamespace() + '.*'
319
- }
320
-
321
- return '*'
322
- })
323
- }
324
-
325
- /**
326
- * Prepare the provided orderby query option for serialization.
327
- * @param {Object} $orderby The query option to build
328
- * @returns {Object} The built query orderby option prepared for serialization
329
- * @private
330
- */
331
- _buildOrderByQueryOption ($orderby) {
332
- return $orderby.map(this._buildOrderByItem, this)
333
- }
334
-
335
- /**
336
- * Prepare the provided order-by item for serialization.
337
- * @param {OrderByItem} item the order-by item
338
- * @returns {Object} the built order-by item prepared for serialization
339
- * @private
340
- */
341
- _buildOrderByItem (item) {
342
- return {
343
- nodeType: 'Orderby',
344
- sortOrder: item.isDescending() ? 'desc' : 'asc',
345
- expression: this._buildExpression(item.getExpression())
346
- }
347
- }
348
-
349
- /**
350
- * Prepare the provided apply query option for serialization.
351
- * @param {Transformation[]} apply the query option to build
352
- * @returns {Array} the built apply query option prepared for serialization
353
- * @private
354
- */
355
- _buildApplyQueryOption (apply) {
356
- return apply.map(transformation => {
357
- let result = {
358
- transformation: Object.keys(TransformationKind).find(
359
- name => TransformationKind[name] === transformation.getKind()
360
- )
361
- }
362
-
363
- switch (transformation.getKind()) {
364
- case TransformationKind.AGGREGATE:
365
- result.aggregate = transformation.getExpressions().map(this._buildAggregateExpression, this)
366
- break
367
-
368
- case TransformationKind.BOTTOM_TOP:
369
- result.method = Object.keys(BottomTopMethod).find(
370
- name => BottomTopMethod[name] === transformation.getMethod()
371
- )
372
- result.number = this._buildExpression(transformation.getNumber())
373
- result.value = this._buildExpression(transformation.getValue())
374
- break
375
-
376
- case TransformationKind.COMPUTE:
377
- result.expressions = transformation.getExpressions().map(computeExpression => {
378
- return {
379
- expression: this._buildExpression(computeExpression.getExpression()),
380
- alias: computeExpression.getAlias()
381
- }
382
- })
383
- break
384
-
385
- case TransformationKind.CONCAT:
386
- result.sequences = transformation.getSequences().map(this._buildApplyQueryOption, this)
387
- break
388
-
389
- case TransformationKind.CUSTOM_FUNCTION:
390
- result.function = transformation
391
- .getFunction()
392
- .getFullQualifiedName()
393
- .toString()
394
- if (transformation.getParameters()) {
395
- result.parameters = transformation.getParameters().map(this._buildParameter, this)
396
- }
397
- break
398
-
399
- case TransformationKind.EXPAND:
400
- result.expand = this._buildExpandQueryOption([transformation.getExpand()])[0]
401
- break
402
-
403
- case TransformationKind.FILTER:
404
- result.filter = this._buildExpression(transformation.getFilter())
405
- break
406
-
407
- case TransformationKind.GROUP_BY:
408
- result.items = transformation.getGroupByItems().map(this._buildGroupByItem, this)
409
- result.transformations = this._buildApplyQueryOption(transformation.getTransformations())
410
- break
411
-
412
- case TransformationKind.ORDER_BY:
413
- result.items = this._buildOrderByQueryOption(transformation.getOrderByItems())
414
- break
415
-
416
- case TransformationKind.SEARCH:
417
- result.search = this._buildExpression(transformation.getSearch())
418
- break
419
-
420
- case TransformationKind.SKIP:
421
- result.skip = transformation.getSkip()
422
- break
423
-
424
- case TransformationKind.TOP:
425
- result.top = transformation.getTop()
426
- break
427
-
428
- default:
429
- }
430
- return result
431
- })
432
- }
433
-
434
- /**
435
- * Prepare the provided aggregation expression for serialization.
436
- * @param {AggregateExpression} expression the aggregation expression
437
- * @returns {Object} the built aggregation expression prepared for serialization
438
- * @private
439
- */
440
- _buildAggregateExpression (expression) {
441
- let result = {}
442
- if (expression.getPathSegments().length) {
443
- result.pathSegments = this._buildPathSegments(expression.getPathSegments())
444
- }
445
- if (expression.getExpression()) result.expression = this._buildExpression(expression.getExpression())
446
- if (expression.getAlias()) result.alias = expression.getAlias()
447
- if (expression.getStandardMethod() !== null) {
448
- result.standardMethod = Object.keys(AggregateMethod).find(
449
- name => AggregateMethod[name] === expression.getStandardMethod()
450
- )
451
- }
452
- if (expression.getCustomMethod()) result.customMethod = expression.getCustomMethod().toString()
453
- if (expression.getFrom().length) {
454
- result.from = expression.getFrom().map(this._buildAggregateExpression, this)
455
- }
456
- if (expression.getInlineAggregateExpression()) {
457
- result.inlineAggregateExpression = this._buildAggregateExpression(expression.getInlineAggregateExpression())
458
- }
459
- return result
460
- }
461
-
462
- /**
463
- * Prepare the provided group-by item for serialization.
464
- * @param {GroupByItem} item the group-by item
465
- * @returns {Object} the built group-by item prepared for serialization
466
- * @private
467
- */
468
- _buildGroupByItem (item) {
469
- let result = {}
470
- if (item.getPathSegments().length) result.pathSegments = this._buildPathSegments(item.getPathSegments())
471
- if (item.isRollupAll()) result.isRollupAll = true
472
- if (item.getRollup().length) result.rollup = item.getRollup().map(this._buildGroupByItem, this)
473
- return result
474
- }
475
- /**
476
- * Prepare the provided URI parameter for serialization.
477
- * @param {UriParameter} parameter the parameter
478
- * @returns {Object} the built parameter prepared for serialization
479
- * @private
480
- */
481
- _buildParameter (parameter) {
482
- let result = { name: parameter.getEdmRef().getName() }
483
- if (parameter.getText() !== undefined) result.value = parameter.getText()
484
- if (parameter.getAlias()) result.alias = parameter.getAlias()
485
- if (parameter.getAliasValue()) result.aliasValue = parameter.getAliasValue()
486
- if (parameter.getExpression()) result.expression = this._buildExpression(parameter.getExpression())
487
- return result
488
- }
489
-
490
- /**
491
- * Prepare the provided query options for serialization.
492
- * @param {Object} queryOptions The query options to build
493
- * @param {Object} queryOptions.$filter Odata $filter query option to build
494
- * @param {Object} queryOptions.$orderby Odata $orderby query option to build
495
- * @param {Object} queryOptions.$search Odata $search query option to build
496
- * @returns {Object} The built query options prepared for serialization
497
- * @private
498
- */
499
- _buildQueryOptions (queryOptions) {
500
- const result = Object.assign({}, queryOptions)
501
-
502
- if (queryOptions) {
503
- if (queryOptions.$apply) result.$apply = this._buildApplyQueryOption(queryOptions.$apply)
504
- if (queryOptions.$filter) result.$filter = this._buildExpression(queryOptions.$filter)
505
- if (queryOptions.$orderby) result.$orderby = this._buildOrderByQueryOption(queryOptions.$orderby)
506
- if (queryOptions.$expand) result.$expand = this._buildExpandQueryOption(queryOptions.$expand)
507
- if (queryOptions.$search) result.$search = this._buildExpression(queryOptions.$search)
508
- if (queryOptions.$select) result.$select = this._buildSelectQueryOption(queryOptions.$select)
509
- }
510
-
511
- return result
512
- }
513
- }
514
-
515
- module.exports = DebugJsonSerializer
@@ -1,47 +0,0 @@
1
- 'use strict'
2
-
3
- const ErrorSerializer = require('./ErrorSerializer')
4
-
5
- /**
6
- * The ErrorJsonSerializer serializes an error to an OData error in JSON format.
7
- * @extends ErrorSerializer
8
- */
9
- class ErrorJsonSerializer extends ErrorSerializer {
10
- /**
11
- * Serializes the provided error to an OData error in JSON format.
12
- * @returns {string} an OData error JSON string
13
- */
14
- serialize () {
15
- function addAnnotations (source, target) {
16
- for (const name in source) if (name[0] === '@') target[name] = source[name]
17
- }
18
-
19
- let result = {
20
- code: this._error.code || 'null',
21
- message: this._error.message,
22
- target: this._error.target,
23
- }
24
- // REVISIT: We should also pass stack traces in development
25
- // if (!cds.env.production) result.stack = this._error.stack
26
-
27
- if (this._error.details) {
28
- result.details = this._error.details.map(d => {
29
- let detail = {
30
- code: d.code || 'null',
31
- message: d.message,
32
- target: d.target
33
- }
34
- addAnnotations(d, detail)
35
- return detail
36
- })
37
- }
38
-
39
- if (this._error.innererror) result.innererror = this._error.innererror
40
-
41
- addAnnotations(this._error, result)
42
-
43
- return JSON.stringify({ error: result })
44
- }
45
- }
46
-
47
- module.exports = ErrorJsonSerializer
@@ -1,39 +0,0 @@
1
- 'use strict'
2
-
3
- const validateThat = require('../../odata-commons').validator.ParameterValidator.validateThat
4
-
5
- /**
6
- * The ErrorSerializer serializes an error to an OData error.
7
- * @abstract
8
- */
9
- class ErrorSerializer {
10
- /**
11
- * Creates an instance of ErrorSerializer.
12
- * @param {Error} error The error to serialize.
13
- * @throws {IllegalArgumentError} if the provided error is undefined or does not have the correct structure
14
- */
15
- constructor (error) {
16
- validateThat('error', error).truthy()
17
- validateThat('error.message', error.message).typeOf('string')
18
- if (error.code) validateThat('error.code', error.code).typeOf('string')
19
- if (error.target) validateThat('error.target', error.target).typeOf('string')
20
- if (error.details) {
21
- validateThat('error.details', error.details)
22
- .array()
23
- .containsElementsOfType('object')
24
- for (let index = 0; index < error.details.length; index++) {
25
- validateThat('error.details[' + index + '].message', error.details[index].message).typeOf('string')
26
- if (error.details[index].code) {
27
- validateThat('error.details[' + index + '].code', error.details[index].code).typeOf('string')
28
- }
29
- if (error.details[index].target) {
30
- validateThat('error.details[' + index + '].target', error.details[index].target).typeOf('string')
31
- }
32
- }
33
- }
34
-
35
- this._error = error
36
- }
37
- }
38
-
39
- module.exports = ErrorSerializer
@@ -1,98 +0,0 @@
1
- 'use strict'
2
-
3
- const ErrorSerializer = require('./ErrorSerializer')
4
-
5
- /**
6
- * The ErrorXmlSerializer serializes an error to an OData error in XML format.
7
- * @extends ErrorSerializer
8
- */
9
- class ErrorXmlSerializer extends ErrorSerializer {
10
- /**
11
- * Serializes the provided error to an OData error in XML format.
12
- * @returns {string} an OData error XML string
13
- */
14
- serialize () {
15
- let result =
16
- '<?xml version="1.0" encoding="UTF-8"?>' +
17
- '<error xmlns="http://docs.oasis-open.org/odata/ns/metadata">' +
18
- '<code>' +
19
- this._escapeXmlChars(this._error.code || 'null') +
20
- '</code>' +
21
- '<message>' +
22
- this._escapeXmlChars(this._error.message) +
23
- '</message>'
24
- if (this._error.target) result += '<target>' + this._escapeXmlChars(this._error.target) + '</target>'
25
- if (this._error.details && this._error.details.length) {
26
- result += '<details>'
27
- for (const detail of this._error.details) {
28
- result +=
29
- '<detail>' +
30
- '<code>' +
31
- this._escapeXmlChars(detail.code || 'null') +
32
- '</code>' +
33
- '<message>' +
34
- this._escapeXmlChars(detail.message) +
35
- '</message>'
36
- if (detail.target) result += '<target>' + this._escapeXmlChars(detail.target) + '</target>'
37
- result += this._serializeAnnnotations(detail) + '</detail>'
38
- }
39
- result += '</details>'
40
- }
41
- result += this._serializeAnnnotations(this._error) + '</error>'
42
- return result
43
- }
44
-
45
- /**
46
- * Serializes the annotations of an element.
47
- * @param {string} element the annnotated element
48
- * @returns {string} the serialized annotation
49
- * @private
50
- */
51
- _serializeAnnnotations (element) {
52
- let result = ''
53
- for (const name in element) {
54
- if (name[0] !== '@') continue
55
- const value = element[name]
56
- if (value !== null && typeof value === 'object') {
57
- throw new Error('Only primitive annotation values are supported in error XML serialization')
58
- }
59
- // "If the type of the annotation value being specified is anything other than
60
- // Edm.String the metadata:annotation element MUST contain a metadata:type
61
- // attribute to specify the appropriate type of the annotation value."
62
- // TODO: Determine the type for string- or number-valued annotation values
63
- // that are not of type 'Edm.String' or 'Edm.Decimal', respectively.
64
- let type
65
- if (typeof value === 'boolean') type = 'Edm.Boolean'
66
- if (typeof value === 'number') type = 'Edm.Decimal'
67
- let valueLiteral = value === null ? '' : String(value)
68
- if (!type) valueLiteral = this._escapeXmlChars(valueLiteral)
69
- result +=
70
- '<annotation term="' +
71
- name.substring(1) +
72
- '"' +
73
- (value === null ? ' null="true"' : '') +
74
- (type ? ' type="' + type + '"' : '') +
75
- '>' +
76
- valueLiteral +
77
- '</annotation>'
78
- }
79
- return result
80
- }
81
-
82
- /**
83
- * Escapes XML characters &,",',<,> with corresponding escapes sequences.
84
- * @param {string} input the original string
85
- * @returns {string} the modified string
86
- * @private
87
- */
88
- _escapeXmlChars (input) {
89
- return input
90
- .replace(/&/g, '&amp;')
91
- .replace(/"/g, '&quot;')
92
- .replace(/'/g, '&apos;')
93
- .replace(/</g, '&lt;')
94
- .replace(/>/g, '&gt;')
95
- }
96
- }
97
-
98
- module.exports = ErrorXmlSerializer