diff --git a/.cdsrc.json b/.cdsrc.json
index 751f9d85..8b1c3585 100644
--- a/.cdsrc.json
+++ b/.cdsrc.json
@@ -5,8 +5,14 @@
"toggles": true
},
"profile": "with-mtx-sidecar",
+ "odata": {
+ "containment": true
+ },
"cdsc": {
- "newParser": true
+ "newParser": true,
+ "beta": {
+ "draftMessages": true
+ }
},
"sql": {
"native_hana_associations": false
diff --git a/app/addresses/webapp/manifest.json b/app/addresses/webapp/manifest.json
index 5266df52..8a535985 100644
--- a/app/addresses/webapp/manifest.json
+++ b/app/addresses/webapp/manifest.json
@@ -86,7 +86,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "Addresses",
+ "contextPath" : "/Addresses",
"navigation" : {
"Addresses" : {
"detail" : {
@@ -103,7 +103,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Addresses",
+ "contextPath" : "/Addresses",
"navigation" : {
"notes" : {
"detail" : {
@@ -120,7 +120,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet": "Notes"
+ "contextPath": "/Addresses/notes"
}
}
}
diff --git a/app/admin/webapp/manifest.json b/app/admin/webapp/manifest.json
index 4225597f..29ac7e46 100644
--- a/app/admin/webapp/manifest.json
+++ b/app/admin/webapp/manifest.json
@@ -86,7 +86,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "Books",
+ "contextPath" : "/Books",
"navigation" : {
"Books" : {
"detail" : {
@@ -113,7 +113,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Books",
+ "contextPath" : "/Books",
"navigation" : {
"Authors" : {
"detail" : {
@@ -130,7 +130,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Authors"
+ "contextPath" : "/Authors"
}
}
}
diff --git a/app/browse/webapp/manifest.json b/app/browse/webapp/manifest.json
index ec7a8840..1b9f2d3f 100644
--- a/app/browse/webapp/manifest.json
+++ b/app/browse/webapp/manifest.json
@@ -86,7 +86,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "Books",
+ "contextPath" : "/Books",
"navigation" : {
"Books" : {
"detail" : {
@@ -103,7 +103,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Books",
+ "contextPath" : "/Books",
"navigation" : {
"Authors" : {
"detail" : {
@@ -120,7 +120,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Authors"
+ "contextPath" : "/Authors"
}
}
}
diff --git a/app/genres/webapp/manifest.json b/app/genres/webapp/manifest.json
index ab4a7d46..68d48208 100644
--- a/app/genres/webapp/manifest.json
+++ b/app/genres/webapp/manifest.json
@@ -82,7 +82,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "GenreHierarchy",
+ "contextPath" : "/GenreHierarchy",
"navigation" : {
"GenreHierarchy" : {
"detail" : {
@@ -107,7 +107,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet": "GenreHierarchy"
+ "contextPath": "/GenreHierarchy"
}
}
}
diff --git a/app/notes/webapp/manifest.json b/app/notes/webapp/manifest.json
index f75a99b2..1a87691c 100644
--- a/app/notes/webapp/manifest.json
+++ b/app/notes/webapp/manifest.json
@@ -81,7 +81,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "Notes",
+ "contextPath" : "/Notes",
"navigation" : {
"Notes" : {
"detail" : {
@@ -98,7 +98,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Notes"
+ "contextPath" : "/Notes"
}
}
}
diff --git a/app/orders/webapp/manifest.json b/app/orders/webapp/manifest.json
index 758e31f2..02cf3bcf 100644
--- a/app/orders/webapp/manifest.json
+++ b/app/orders/webapp/manifest.json
@@ -91,7 +91,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "Orders",
+ "contextPath" : "/Orders",
"navigation" : {
"Orders" : {
"detail" : {
@@ -108,7 +108,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet": "Orders",
+ "contextPath": "/Orders",
"navigation" : {
"Items": {
"detail": {
@@ -135,7 +135,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet": "OrderItems"
+ "contextPath": "/Orders/Items"
}
}
},
@@ -145,7 +145,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet": "Books",
+ "contextPath": "/Books",
"navigation": {
"author": {
"detail": {
@@ -162,7 +162,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet": "Authors"
+ "contextPath": "/Authors"
}
}
}
diff --git a/app/package-lock.json b/app/package-lock.json
index 2fe4a66c..f8cf3891 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -497,9 +497,9 @@
}
},
"node_modules/call-bind-apply-helpers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
- "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
@@ -510,13 +510,13 @@
}
},
"node_modules/call-bound": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
- "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "get-intrinsic": "^1.2.6"
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
@@ -879,6 +879,21 @@
"node": ">= 0.4"
}
},
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -1072,13 +1087,14 @@
}
},
"node_modules/form-data": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
- "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
+ "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
"mime-types": "^2.1.12"
},
"engines": {
@@ -1104,17 +1120,17 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
- "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
+ "call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
+ "es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
- "get-proto": "^1.0.0",
+ "get-proto": "^1.0.1",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
@@ -1170,6 +1186,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -1598,9 +1629,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.13.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
- "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -1899,9 +1930,9 @@
"license": "MIT"
},
"node_modules/semver": {
- "version": "7.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz",
- "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==",
+ "version": "7.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
diff --git a/app/reviews/webapp/manifest.json b/app/reviews/webapp/manifest.json
index 78dd8f8c..ccf35060 100644
--- a/app/reviews/webapp/manifest.json
+++ b/app/reviews/webapp/manifest.json
@@ -86,7 +86,7 @@
"name": "sap.fe.templates.ListReport",
"options": {
"settings" : {
- "entitySet" : "Reviews",
+ "contextPath" : "/Reviews",
"navigation" : {
"Reviews" : {
"detail" : {
@@ -103,7 +103,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Reviews",
+ "contextPath" : "/Reviews",
"navigation" : {
"Books" : {
"detail" : {
@@ -120,7 +120,7 @@
"name": "sap.fe.templates.ObjectPage",
"options": {
"settings" : {
- "entitySet" : "Books"
+ "contextPath" : "/Books"
}
}
}
diff --git a/db/package-lock.json b/db/package-lock.json
index ad277cf7..cc04938d 100644
--- a/db/package-lock.json
+++ b/db/package-lock.json
@@ -38,12 +38,12 @@
}
},
"node_modules/@sap/hdi-deploy": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-5.3.2.tgz",
- "integrity": "sha512-1QvlrMdeVXCIc2DSLjR5ZIKFz9GVcuC8JvXtifU7bYetajc6mgU5FRR9zseZgrHVdCveeRIURmoPplUl4Hszag==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-5.4.1.tgz",
+ "integrity": "sha512-tTdbxFJadgf0cLjTe+O/CgNUOY6ZYUu/eFyALuR2w6V9JRUKSPaZcFM2uMiWbCM5OYJGUGfNRJYRYC6sVIDQRg==",
"license": "See LICENSE file",
"dependencies": {
- "@sap/hdi": "^4.6.0",
+ "@sap/hdi": "^4.7.0",
"@sap/xsenv": "^5.2.0",
"async": "^3.2.6",
"dotenv": "^16.4.5",
@@ -51,7 +51,7 @@
"micromatch": "^4.0.8"
},
"engines": {
- "node": "^18.0.0 || ^20.0.0"
+ "node": ">=18.x"
},
"peerDependencies": {
"@sap/hana-client": "^2 >= 2.6",
diff --git a/mtx/sidecar/package-lock.json b/mtx/sidecar/package-lock.json
index 23cce481..0e8e11c2 100644
--- a/mtx/sidecar/package-lock.json
+++ b/mtx/sidecar/package-lock.json
@@ -19,9 +19,9 @@
}
},
"node_modules/@cap-js/db-service": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@cap-js/db-service/-/db-service-1.17.0.tgz",
- "integrity": "sha512-n2hna2hh2eg588KmXUvDj2n/1UnlaUcIKSRuQCVDoYnGex8fFP58nqZCJzJnLsr0UYqm5+yO2AK5hwHlvJ2hzA==",
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/@cap-js/db-service/-/db-service-1.18.0.tgz",
+ "integrity": "sha512-Gv0X+GZx85Op8GZ+xbkt49Nrrha68jPfV5+Uo023Xqsbv7HhoFPkI1t1IVI+isZRz04dx4MW573b0KKGEFDAFg==",
"license": "SEE LICENSE",
"dependencies": {
"generic-pool": "^3.9.0"
@@ -31,12 +31,12 @@
}
},
"node_modules/@cap-js/hana": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@cap-js/hana/-/hana-1.6.0.tgz",
- "integrity": "sha512-z9TrqwX72yT1WeTsSIaaXD2CTJgVTlklPbvMzKoCaCpnAknKcBSuNyakrmlSRIs8E0ci/YJ2b0mBajQmkOSURg==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@cap-js/hana/-/hana-1.7.0.tgz",
+ "integrity": "sha512-QaFQAKT6beFIC61I+3BSq4aSmVydzTziEUy/eb+hWZqfUaqZjujgnI9OPrnLaDeE4dZkOGYj/GAGy39t5vaagA==",
"license": "SEE LICENSE",
"dependencies": {
- "@cap-js/db-service": "^1.17.0",
+ "@cap-js/db-service": "^1.18.0",
"hdb": "^0.19.5"
},
"peerDependencies": {
@@ -50,13 +50,13 @@
}
},
"node_modules/@cap-js/sqlite": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@cap-js/sqlite/-/sqlite-1.8.0.tgz",
- "integrity": "sha512-Qd/IrSksT+NWUopwtKnKMSs4pPnzfXJiILycK5CkZH3dKju9xpUvHBYxJF5uXBnN6UOhFURXXyvJ0BArk40nvQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@cap-js/sqlite/-/sqlite-1.9.0.tgz",
+ "integrity": "sha512-0Ka6a7W7v5qyL8IiEjKg1oJH1AvLh/bmshHYxovmruKfyDEuEx+Kz8IARKq8oHwmzPCZVV/xXIKnpg/KWesXcA==",
"dev": true,
"license": "SEE LICENSE",
"dependencies": {
- "@cap-js/db-service": "^1.17.0",
+ "@cap-js/db-service": "^1.18.0",
"better-sqlite3": "^11.0.0"
},
"peerDependencies": {
@@ -64,9 +64,9 @@
}
},
"node_modules/@sap/cds": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-8.7.0.tgz",
- "integrity": "sha512-QL5xQIkID3sICYNIlpCfXjvDGKfO6WpuGWVD9x3T6zFzdz409dSOzq2wp7HSWWKsy0HZEPRgsRatYjFx3LMNTA==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-8.8.0.tgz",
+ "integrity": "sha512-7IYV44HUR3BygEXv+yEa430yfJErT/5Iez0LMvCS1A9lkpYjFhC79p28tnwZjP9ezwiWKOav/qKcF/+gliaCiA==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"@sap/cds-compiler": ">=5.1",
@@ -96,9 +96,9 @@
}
},
"node_modules/@sap/cds-compiler": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-5.7.0.tgz",
- "integrity": "sha512-nmKEfYICdFlGaQ7DQz8Jb2KrYDajCYTB8yllcQGwq7nyYE01MM0/1c7N7BRbSOnX5HStZ/MUG9+NQweb9dEOEA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-5.8.0.tgz",
+ "integrity": "sha512-cBf9N5g35A69S3n8HWmFDE6MUfogUn26wntF3CC1iQLEocth9Lo/ralerY9KHEd5OQ1nDC3FwDs+AMAA2BT+uA==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"antlr4": "4.9.3"
@@ -113,9 +113,9 @@
}
},
"node_modules/@sap/cds-fiori": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.3.0.tgz",
- "integrity": "sha512-PEppgJyc3SO0df5zP2OZG41UKLdsowQLwcsLUSFPzn56MlbFdzaRhO1qXaMhPlQ+bIo19aLOZcAZa9ewkSwS0w==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.4.0.tgz",
+ "integrity": "sha512-Ge0Lwr2W1jUGepA4uABVB2szA/PBpmZDQt2CZdU1Ihc8LlgcdCoiulEYkiJvX3mTcQJEWCTEEsCNpQUqniEtTw==",
"license": "SEE LICENSE IN LICENSE",
"peerDependencies": {
"@sap/cds": ">=7.6",
@@ -138,9 +138,9 @@
}
},
"node_modules/@sap/cds-mtxs": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-2.5.0.tgz",
- "integrity": "sha512-d3R0cBaBdqLWRniZ/vwi/3TtKBCpCFJx5m/4Tg24erufs9e76aeLw7VnNJL24paNWdtiqMXuKFsTuPr4oEu2Vg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-2.6.0.tgz",
+ "integrity": "sha512-RCTnwXsbY+a3uHN5Kd3u43xz+a+948yXkJjmsdgjz9MtGIZELrZpkjqd1ps67eniTgkrKkBDymRMn8eBIIjyyQ==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"@sap/hdi-deploy": ">=4",
@@ -176,12 +176,12 @@
}
},
"node_modules/@sap/hdi-deploy": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-5.3.2.tgz",
- "integrity": "sha512-1QvlrMdeVXCIc2DSLjR5ZIKFz9GVcuC8JvXtifU7bYetajc6mgU5FRR9zseZgrHVdCveeRIURmoPplUl4Hszag==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-5.4.1.tgz",
+ "integrity": "sha512-tTdbxFJadgf0cLjTe+O/CgNUOY6ZYUu/eFyALuR2w6V9JRUKSPaZcFM2uMiWbCM5OYJGUGfNRJYRYC6sVIDQRg==",
"license": "See LICENSE file",
"dependencies": {
- "@sap/hdi": "^4.6.0",
+ "@sap/hdi": "^4.7.0",
"@sap/xsenv": "^5.2.0",
"async": "^3.2.6",
"dotenv": "^16.4.5",
@@ -189,7 +189,7 @@
"micromatch": "^4.0.8"
},
"engines": {
- "node": "^18.0.0 || ^20.0.0"
+ "node": ">=18.x"
},
"peerDependencies": {
"@sap/hana-client": "^2 >= 2.6",
@@ -219,9 +219,9 @@
}
},
"node_modules/@sap/xssec": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/@sap/xssec/-/xssec-4.2.8.tgz",
- "integrity": "sha512-hTwupdCFdp3ElAF/e4qj6Akgf3N6/C7bq3qggbTeHEdaPVEehYPyxuTsdxb1TVI1vUGlHjB7RUW6aa6n30fP6Q==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@sap/xssec/-/xssec-4.4.0.tgz",
+ "integrity": "sha512-tVPyF6z6lWN2cucT38kkTu6GTmFXhqd/xa0SrExZ+j8K1cNePEIDHvx/zfibubLeb198vyoreW4QOpR9+Vaj4A==",
"license": "SAP DEVELOPER LICENSE AGREEMENT",
"dependencies": {
"debug": "^4.3.4",
@@ -281,9 +281,9 @@
"license": "MIT"
},
"node_modules/axios": {
- "version": "1.7.9",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz",
- "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz",
+ "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
@@ -445,9 +445,9 @@
}
},
"node_modules/call-bind-apply-helpers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
- "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
@@ -458,13 +458,13 @@
}
},
"node_modules/call-bound": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
- "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "get-intrinsic": "^1.2.6"
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
@@ -705,6 +705,21 @@
"node": ">= 0.4"
}
},
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -873,13 +888,14 @@
}
},
"node_modules/form-data": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
- "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
+ "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
"mime-types": "^2.1.12"
},
"engines": {
@@ -930,17 +946,17 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
- "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
+ "call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
+ "es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
- "get-proto": "^1.0.0",
+ "get-proto": "^1.0.1",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
@@ -1018,6 +1034,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -1271,9 +1302,9 @@
"license": "MIT"
},
"node_modules/node-abi": {
- "version": "3.73.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.73.0.tgz",
- "integrity": "sha512-z8iYzQGBu35ZkTQ9mtR8RqugJZ9RCLn8fv3d7LsgDBzOijGQP3RdKTX4LA7LXw03ZhU5z0l4xfhIMgSES31+cg==",
+ "version": "3.74.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz",
+ "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1296,9 +1327,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.13.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
- "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -1510,9 +1541,9 @@
"license": "MIT"
},
"node_modules/semver": {
- "version": "7.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz",
- "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==",
+ "version": "7.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"dev": true,
"license": "ISC",
"bin": {
diff --git a/package-lock.json b/package-lock.json
index 33197a22..40069c17 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -30,9 +30,9 @@
}
},
"node_modules/@cap-js/db-service": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/@cap-js/db-service/-/db-service-1.17.0.tgz",
- "integrity": "sha512-n2hna2hh2eg588KmXUvDj2n/1UnlaUcIKSRuQCVDoYnGex8fFP58nqZCJzJnLsr0UYqm5+yO2AK5hwHlvJ2hzA==",
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/@cap-js/db-service/-/db-service-1.18.0.tgz",
+ "integrity": "sha512-Gv0X+GZx85Op8GZ+xbkt49Nrrha68jPfV5+Uo023Xqsbv7HhoFPkI1t1IVI+isZRz04dx4MW573b0KKGEFDAFg==",
"license": "SEE LICENSE",
"dependencies": {
"generic-pool": "^3.9.0"
@@ -42,12 +42,12 @@
}
},
"node_modules/@cap-js/hana": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@cap-js/hana/-/hana-1.6.0.tgz",
- "integrity": "sha512-z9TrqwX72yT1WeTsSIaaXD2CTJgVTlklPbvMzKoCaCpnAknKcBSuNyakrmlSRIs8E0ci/YJ2b0mBajQmkOSURg==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@cap-js/hana/-/hana-1.7.0.tgz",
+ "integrity": "sha512-QaFQAKT6beFIC61I+3BSq4aSmVydzTziEUy/eb+hWZqfUaqZjujgnI9OPrnLaDeE4dZkOGYj/GAGy39t5vaagA==",
"license": "SEE LICENSE",
"dependencies": {
- "@cap-js/db-service": "^1.17.0",
+ "@cap-js/db-service": "^1.18.0",
"hdb": "^0.19.5"
},
"peerDependencies": {
@@ -61,13 +61,13 @@
}
},
"node_modules/@cap-js/sqlite": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@cap-js/sqlite/-/sqlite-1.8.0.tgz",
- "integrity": "sha512-Qd/IrSksT+NWUopwtKnKMSs4pPnzfXJiILycK5CkZH3dKju9xpUvHBYxJF5uXBnN6UOhFURXXyvJ0BArk40nvQ==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@cap-js/sqlite/-/sqlite-1.9.0.tgz",
+ "integrity": "sha512-0Ka6a7W7v5qyL8IiEjKg1oJH1AvLh/bmshHYxovmruKfyDEuEx+Kz8IARKq8oHwmzPCZVV/xXIKnpg/KWesXcA==",
"dev": true,
"license": "SEE LICENSE",
"dependencies": {
- "@cap-js/db-service": "^1.17.0",
+ "@cap-js/db-service": "^1.18.0",
"better-sqlite3": "^11.0.0"
},
"peerDependencies": {
@@ -75,9 +75,9 @@
}
},
"node_modules/@sap/cds": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-8.7.0.tgz",
- "integrity": "sha512-QL5xQIkID3sICYNIlpCfXjvDGKfO6WpuGWVD9x3T6zFzdz409dSOzq2wp7HSWWKsy0HZEPRgsRatYjFx3LMNTA==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-8.8.0.tgz",
+ "integrity": "sha512-7IYV44HUR3BygEXv+yEa430yfJErT/5Iez0LMvCS1A9lkpYjFhC79p28tnwZjP9ezwiWKOav/qKcF/+gliaCiA==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"@sap/cds-compiler": ">=5.1",
@@ -107,9 +107,9 @@
}
},
"node_modules/@sap/cds-compiler": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-5.7.0.tgz",
- "integrity": "sha512-nmKEfYICdFlGaQ7DQz8Jb2KrYDajCYTB8yllcQGwq7nyYE01MM0/1c7N7BRbSOnX5HStZ/MUG9+NQweb9dEOEA==",
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-5.8.0.tgz",
+ "integrity": "sha512-cBf9N5g35A69S3n8HWmFDE6MUfogUn26wntF3CC1iQLEocth9Lo/ralerY9KHEd5OQ1nDC3FwDs+AMAA2BT+uA==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"antlr4": "4.9.3"
@@ -124,9 +124,9 @@
}
},
"node_modules/@sap/cds-dk": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-dk/-/cds-dk-8.7.0.tgz",
- "integrity": "sha512-RVJsyEX/9IgvbcAKO0d29jzKHzD8NA08fIkbopcAyPMyarc3UG4wAVSFlcsBx+F1WiLd+LVZgs0MdjPtG305lA==",
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-dk/-/cds-dk-8.8.0.tgz",
+ "integrity": "sha512-61KqUNAbNaaXz7LHfhTBhIryaUDIj1iW9f/XHCbtc+AV8G2O5JcvBUEwf2ROYtvbXlKlZsIe4QewyUP6S78/8w==",
"dev": true,
"hasShrinkwrap": true,
"license": "SEE LICENSE IN LICENSE",
@@ -166,7 +166,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@cap-js/db-service": {
- "version": "1.17.0",
+ "version": "1.17.2",
"dev": true,
"license": "SEE LICENSE",
"optional": true,
@@ -178,7 +178,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@cap-js/openapi": {
- "version": "1.1.2",
+ "version": "1.2.0",
"dev": true,
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
@@ -238,11 +238,11 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@eslint/config-array": {
- "version": "0.19.1",
+ "version": "0.19.2",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/object-schema": "^2.1.5",
+ "@eslint/object-schema": "^2.1.6",
"debug": "^4.3.1",
"minimatch": "^3.1.2"
},
@@ -251,7 +251,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@eslint/core": {
- "version": "0.10.0",
+ "version": "0.12.0",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -262,7 +262,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@eslint/eslintrc": {
- "version": "3.2.0",
+ "version": "3.3.0",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -284,7 +284,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@eslint/js": {
- "version": "9.19.0",
+ "version": "9.21.0",
"dev": true,
"license": "MIT",
"engines": {
@@ -292,7 +292,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@eslint/object-schema": {
- "version": "2.1.5",
+ "version": "2.1.6",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -300,11 +300,11 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@eslint/plugin-kit": {
- "version": "0.2.5",
+ "version": "0.2.7",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/core": "^0.10.0",
+ "@eslint/core": "^0.12.0",
"levn": "^0.4.1"
},
"engines": {
@@ -356,7 +356,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@humanwhocodes/retry": {
- "version": "0.4.1",
+ "version": "0.4.2",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -368,7 +368,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@sap/cds": {
- "version": "8.7.0",
+ "version": "8.8.0",
"dev": true,
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
@@ -399,7 +399,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@sap/cds-compiler": {
- "version": "5.7.0",
+ "version": "5.8.0",
"dev": true,
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
@@ -415,7 +415,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@sap/cds-fiori": {
- "version": "1.3.0",
+ "version": "1.4.0",
"dev": true,
"license": "SEE LICENSE IN LICENSE",
"peerDependencies": {
@@ -438,7 +438,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@sap/cds-mtxs": {
- "version": "2.5.0",
+ "version": "2.6.0",
"dev": true,
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
@@ -451,12 +451,12 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@sap/eslint-plugin-cds": {
- "version": "3.1.2",
+ "version": "3.2.0",
"dev": true,
"license": "See LICENSE file",
"dependencies": {
"@sap/cds": ">=7",
- "semver": "^7.3.4"
+ "semver": "^7.7.1"
},
"engines": {
"node": ">=18"
@@ -489,11 +489,11 @@
}
},
"node_modules/@sap/cds-dk/node_modules/@sap/hdi-deploy": {
- "version": "5.3.2",
+ "version": "5.4.1",
"dev": true,
"license": "See LICENSE file",
"dependencies": {
- "@sap/hdi": "^4.6.0",
+ "@sap/hdi": "^4.7.0",
"@sap/xsenv": "^5.2.0",
"async": "^3.2.6",
"dotenv": "^16.4.5",
@@ -501,7 +501,7 @@
"micromatch": "^4.0.8"
},
"engines": {
- "node": "^18.0.0 || ^20.0.0"
+ "node": ">=18.x"
},
"peerDependencies": {
"@sap/hana-client": "^2 >= 2.6",
@@ -636,7 +636,7 @@
"license": "MIT"
},
"node_modules/@sap/cds-dk/node_modules/axios": {
- "version": "1.7.9",
+ "version": "1.8.1",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -802,7 +802,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/call-bind-apply-helpers": {
- "version": "1.0.1",
+ "version": "1.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1099,6 +1099,20 @@
"node": ">= 0.4"
}
},
+ "node_modules/@sap/cds-dk/node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/@sap/cds-dk/node_modules/escape-html": {
"version": "1.0.3",
"dev": true,
@@ -1116,20 +1130,20 @@
}
},
"node_modules/@sap/cds-dk/node_modules/eslint": {
- "version": "9.19.0",
+ "version": "9.21.0",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.19.0",
- "@eslint/core": "^0.10.0",
- "@eslint/eslintrc": "^3.2.0",
- "@eslint/js": "9.19.0",
- "@eslint/plugin-kit": "^0.2.5",
+ "@eslint/config-array": "^0.19.2",
+ "@eslint/core": "^0.12.0",
+ "@eslint/eslintrc": "^3.3.0",
+ "@eslint/js": "9.21.0",
+ "@eslint/plugin-kit": "^0.2.7",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.1",
+ "@humanwhocodes/retry": "^0.4.2",
"@types/estree": "^1.0.6",
"@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
@@ -1437,7 +1451,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/flatted": {
- "version": "3.3.2",
+ "version": "3.3.3",
"dev": true,
"license": "ISC"
},
@@ -1461,12 +1475,13 @@
}
},
"node_modules/@sap/cds-dk/node_modules/form-data": {
- "version": "4.0.1",
+ "version": "4.0.2",
"dev": true,
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
"mime-types": "^2.1.12"
},
"engines": {
@@ -1512,16 +1527,16 @@
}
},
"node_modules/@sap/cds-dk/node_modules/get-intrinsic": {
- "version": "1.2.7",
+ "version": "1.3.0",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
+ "call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
+ "es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
- "get-proto": "^1.0.0",
+ "get-proto": "^1.0.1",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
@@ -1624,6 +1639,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/@sap/cds-dk/node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/@sap/cds-dk/node_modules/hasown": {
"version": "2.0.2",
"dev": true,
@@ -1701,7 +1730,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/import-fresh": {
- "version": "3.3.0",
+ "version": "3.3.1",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1993,7 +2022,7 @@
"license": "MIT"
},
"node_modules/@sap/cds-dk/node_modules/node-abi": {
- "version": "3.73.0",
+ "version": "3.74.0",
"dev": true,
"license": "MIT",
"optional": true,
@@ -2024,7 +2053,7 @@
}
},
"node_modules/@sap/cds-dk/node_modules/object-inspect": {
- "version": "1.13.3",
+ "version": "1.13.4",
"dev": true,
"license": "MIT",
"engines": {
@@ -2338,7 +2367,7 @@
"license": "ISC"
},
"node_modules/@sap/cds-dk/node_modules/semver": {
- "version": "7.6.3",
+ "version": "7.7.1",
"dev": true,
"license": "ISC",
"bin": {
@@ -2769,7 +2798,7 @@
"optional": true
},
"node_modules/@sap/cds-dk/node_modules/ws": {
- "version": "8.18.0",
+ "version": "8.18.1",
"dev": true,
"license": "MIT",
"engines": {
@@ -2830,9 +2859,9 @@
}
},
"node_modules/@sap/cds-fiori": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.3.0.tgz",
- "integrity": "sha512-PEppgJyc3SO0df5zP2OZG41UKLdsowQLwcsLUSFPzn56MlbFdzaRhO1qXaMhPlQ+bIo19aLOZcAZa9ewkSwS0w==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.4.0.tgz",
+ "integrity": "sha512-Ge0Lwr2W1jUGepA4uABVB2szA/PBpmZDQt2CZdU1Ihc8LlgcdCoiulEYkiJvX3mTcQJEWCTEEsCNpQUqniEtTw==",
"license": "SEE LICENSE IN LICENSE",
"peerDependencies": {
"@sap/cds": ">=7.6",
@@ -2855,9 +2884,9 @@
}
},
"node_modules/@sap/cds-mtxs": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-2.5.0.tgz",
- "integrity": "sha512-d3R0cBaBdqLWRniZ/vwi/3TtKBCpCFJx5m/4Tg24erufs9e76aeLw7VnNJL24paNWdtiqMXuKFsTuPr4oEu2Vg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-2.6.0.tgz",
+ "integrity": "sha512-RCTnwXsbY+a3uHN5Kd3u43xz+a+948yXkJjmsdgjz9MtGIZELrZpkjqd1ps67eniTgkrKkBDymRMn8eBIIjyyQ==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"@sap/hdi-deploy": ">=4",
@@ -2893,12 +2922,12 @@
}
},
"node_modules/@sap/hdi-deploy": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-5.3.2.tgz",
- "integrity": "sha512-1QvlrMdeVXCIc2DSLjR5ZIKFz9GVcuC8JvXtifU7bYetajc6mgU5FRR9zseZgrHVdCveeRIURmoPplUl4Hszag==",
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-5.4.1.tgz",
+ "integrity": "sha512-tTdbxFJadgf0cLjTe+O/CgNUOY6ZYUu/eFyALuR2w6V9JRUKSPaZcFM2uMiWbCM5OYJGUGfNRJYRYC6sVIDQRg==",
"license": "See LICENSE file",
"dependencies": {
- "@sap/hdi": "^4.6.0",
+ "@sap/hdi": "^4.7.0",
"@sap/xsenv": "^5.2.0",
"async": "^3.2.6",
"dotenv": "^16.4.5",
@@ -2906,7 +2935,7 @@
"micromatch": "^4.0.8"
},
"engines": {
- "node": "^18.0.0 || ^20.0.0"
+ "node": ">=18.x"
},
"peerDependencies": {
"@sap/hana-client": "^2 >= 2.6",
@@ -2936,9 +2965,9 @@
}
},
"node_modules/@sap/xssec": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/@sap/xssec/-/xssec-4.2.8.tgz",
- "integrity": "sha512-hTwupdCFdp3ElAF/e4qj6Akgf3N6/C7bq3qggbTeHEdaPVEehYPyxuTsdxb1TVI1vUGlHjB7RUW6aa6n30fP6Q==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@sap/xssec/-/xssec-4.4.0.tgz",
+ "integrity": "sha512-tVPyF6z6lWN2cucT38kkTu6GTmFXhqd/xa0SrExZ+j8K1cNePEIDHvx/zfibubLeb198vyoreW4QOpR9+Vaj4A==",
"license": "SAP DEVELOPER LICENSE AGREEMENT",
"dependencies": {
"debug": "^4.3.4",
@@ -2998,9 +3027,9 @@
"license": "MIT"
},
"node_modules/axios": {
- "version": "1.7.9",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz",
- "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz",
+ "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
@@ -3162,9 +3191,9 @@
}
},
"node_modules/call-bind-apply-helpers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
- "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
@@ -3175,13 +3204,13 @@
}
},
"node_modules/call-bound": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
- "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "get-intrinsic": "^1.2.6"
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
@@ -3422,6 +3451,21 @@
"node": ">= 0.4"
}
},
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -3590,13 +3634,14 @@
}
},
"node_modules/form-data": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
- "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
+ "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
"mime-types": "^2.1.12"
},
"engines": {
@@ -3647,17 +3692,17 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz",
- "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
+ "call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
+ "es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
- "get-proto": "^1.0.0",
+ "get-proto": "^1.0.1",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
@@ -3735,6 +3780,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -3988,9 +4048,9 @@
"license": "MIT"
},
"node_modules/node-abi": {
- "version": "3.73.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.73.0.tgz",
- "integrity": "sha512-z8iYzQGBu35ZkTQ9mtR8RqugJZ9RCLn8fv3d7LsgDBzOijGQP3RdKTX4LA7LXw03ZhU5z0l4xfhIMgSES31+cg==",
+ "version": "3.74.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz",
+ "integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4013,9 +4073,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.13.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
- "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -4227,9 +4287,9 @@
"license": "MIT"
},
"node_modules/semver": {
- "version": "7.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz",
- "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==",
+ "version": "7.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"dev": true,
"license": "ISC",
"bin": {
diff --git a/pom.xml b/pom.xml
index 1d04fed4..d0cc5755 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.4.0
+ 3.4.3
@@ -23,9 +23,9 @@
21
- 3.7.1
- 5.15.0
- 3.5.7
+ 3.8.0
+ 5.17.0
+ 3.5.8
3.8.4
1.0.7
diff --git a/srv/notes-mashup.cds b/srv/notes-mashup.cds
index 6dbea08b..e766f0ee 100644
--- a/srv/notes-mashup.cds
+++ b/srv/notes-mashup.cds
@@ -14,7 +14,7 @@ entity my.bookshop.NoteableAddresses as select from API_BUSINESS_PARTNER.A_Busin
@readonly PostalCode as postalCode,
@readonly StreetName as street,
@readonly HouseNumber as houseNumber,
- notes
+ notes @(odata.contained: false)
};
/*
diff --git a/srv/src/main/java/my/bookshop/MessageKeys.java b/srv/src/main/java/my/bookshop/MessageKeys.java
index 9f217eb9..70e7de3d 100644
--- a/srv/src/main/java/my/bookshop/MessageKeys.java
+++ b/srv/src/main/java/my/bookshop/MessageKeys.java
@@ -2,7 +2,6 @@
public class MessageKeys {
- public static final String QUANTITY_REQUIRE_MINIMUM = "quantity.require.minimum";
public static final String BOOK_REQUIRE_STOCK = "book.require.stock";
public static final String BOOK_ADDED_ORDER = "book.added.order";
public static final String BOOK_MISSING = "book.missing";
diff --git a/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java b/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java
index 06ec29c6..ddf2b7fa 100644
--- a/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java
+++ b/srv/src/main/java/my/bookshop/handlers/AdminServiceHandler.java
@@ -111,7 +111,7 @@ public void beforeCreateOrder(Stream orders, EventContext context) {
if (book.getStock() < diffQuantity) {
// Tip: you can have localized messages and use parameters in your messages
messages.error(MessageKeys.BOOK_REQUIRE_STOCK, book.getStock())
- .target("in", ORDERS, o -> o.Items(i -> i.ID().eq(orderItem.getId()).and(i.IsActiveEntity().eq(orderItem.getIsActiveEntity()))).quantity());
+ .target(ORDERS, o -> o.Items(i -> i.ID().eq(orderItem.getId()).and(i.IsActiveEntity().eq(orderItem.getIsActiveEntity()))).quantity());
return; // no need to update follow-up values with invalid quantity / stock
}
@@ -143,7 +143,7 @@ public void patchOrderItems(DraftPatchEventContext context, OrderItems orderItem
Integer quantity = orderItem.getQuantity();
String bookId = orderItem.getBookId();
String orderItemId = orderItem.getId();
- BigDecimal amount = calculateAmountInDraft(orderItemId, quantity, bookId, true);
+ BigDecimal amount = calculateAmountInDraft(orderItemId, quantity, bookId);
if (amount != null) {
orderItem.setAmount(amount);
}
@@ -158,11 +158,11 @@ public void patchOrderItems(DraftPatchEventContext context, OrderItems orderItem
public void cancelOrderItems(DraftCancelEventContext context) {
String orderItemId = (String) analyzer.analyze(context.getCqn()).targetKeys().get(OrderItems.ID);
if(orderItemId != null) {
- calculateAmountInDraft(orderItemId, 0, null, false);
+ calculateAmountInDraft(orderItemId, 0, null);
}
}
- private BigDecimal calculateAmountInDraft(String orderItemId, Integer newQuantity, String newBookId, boolean includeWarnings) {
+ private BigDecimal calculateAmountInDraft(String orderItemId, Integer newQuantity, String newBookId) {
Integer quantity = newQuantity;
String bookId = newBookId;
if (quantity == null && bookId == null) {
@@ -192,13 +192,6 @@ private BigDecimal calculateAmountInDraft(String orderItemId, Integer newQuantit
return null; // not enough data available
}
- // only warn about invalid values as we are in draft mode
- if(includeWarnings && quantity <= 0) {
- // Tip: add additional messages with localized messages from property files
- // these messages are transported in sap-messages and do not abort the request
- messages.warn(MessageKeys.QUANTITY_REQUIRE_MINIMUM).target(ORDER_ITEMS, i -> i.quantity());
- }
-
// get the price of the updated book ID
if(bookPrice == null) {
result = db.run(Select.from(BOOKS).byId(bookId).columns(b -> b.price()));
diff --git a/srv/src/main/resources/messages.properties b/srv/src/main/resources/messages.properties
index b0e769b8..a65fa2b0 100644
--- a/srv/src/main/resources/messages.properties
+++ b/srv/src/main/resources/messages.properties
@@ -1,4 +1,3 @@
-quantity.require.minimum = The specified quantity is smaller than 1
book.require.stock = Not enough books on stock (only {0} left)
book.added.order = Book successfully added to order
book.missing = Book does not exist
@@ -10,4 +9,4 @@ review.added = Review added
order.exceeds.stock = {0} exceeds stock for book
review.add.forbidden=User not allowed to add more than one review for a given book
book.import.failed = Import of books failed
-book.import.invalid.csv = Invalid CSV structure found - Please check its content
\ No newline at end of file
+book.import.invalid.csv = Invalid CSV structure found - Please check its content
diff --git a/srv/src/main/resources/messages_de.properties b/srv/src/main/resources/messages_de.properties
index f498bbe0..d6534814 100644
--- a/srv/src/main/resources/messages_de.properties
+++ b/srv/src/main/resources/messages_de.properties
@@ -1,4 +1,3 @@
-quantity.require.minimum = Die eingetragene Anzahl ist kleiner als 1
book.require.stock = Nicht genügend Bücher auf Vorrat (nur {0} übrig)
book.added.order = Das Buch wurde der Bestellung erfolgreich hinzugefügt
book.missing = Das Buch existiert nicht
@@ -10,4 +9,4 @@ review.added = Bewertung hinzugefügt
order.exceeds.stock = {0} ist mehr als für das Buch auf Vorrat übrig ist
review.add.forbidden = Es ist nicht mehr als eine Bewertung pro Buch erlaubt
book.import.failed = Bücher Import fehlgeschlagen
-book.import.invalid.csv = Die CSV Datei enthält eine ungültige Struktur - Bitte überprüfen Sie den Inhalt
\ No newline at end of file
+book.import.invalid.csv = Die CSV Datei enthält eine ungültige Struktur - Bitte überprüfen Sie den Inhalt