Extensibility Walkthrough in capire (#405)

* Extension project template

* SalesRegion ->  x_SalesRegion

* enhanced order repo

* updated package-lock.json
This commit is contained in:
Daniel Hutzel
2022-10-04 12:05:57 +02:00
committed by GitHub
parent bd0f514026
commit 608e16090c
13 changed files with 959 additions and 30 deletions

1
orders-ext/.cdsrc.json Normal file
View File

@@ -0,0 +1 @@
{}

31
orders-ext/.gitignore vendored Normal file
View File

@@ -0,0 +1,31 @@
# CAP ext
_out
*.db
*.sqlite
connection.properties
default-*.json
.cdsrc-private.json
gen/
node_modules/
target/
# Web IDE, App Studio
.che/
.gen/
# MTA
*_mta_build_tmp
*.mtar
mta_archives/
# Other
.DS_Store
*.orig
*.log
*.iml
*.flattened-pom.xml
# IDEs
# .vscode
# .idea

20
orders-ext/.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,20 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"SAPSE.vscode-cds",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"mechatroner.rainbow-csv",
"humao.rest-client",
"alexcvzz.vscode-sqlite",
"hbenl.vscode-mocha-test-adapter",
"sdras.night-owl"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [
]
}

15
orders-ext/.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"command": "cds run --with-mocks --in-memory?",
"name": "cds run",
"request": "launch",
"type": "node-terminal",
"skipFiles": [ "<node_internals>/**" ]
}
]
}

25
orders-ext/.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,25 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "cds watch",
"command": "cds",
"args": ["watch"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
},
{
"type": "shell",
"label": "cds run",
"command": "cds",
"args": ["run", "--with-mocks", "--in-memory?"],
"problemMatcher": []
}
]
}

26
orders-ext/README.md Normal file
View File

@@ -0,0 +1,26 @@
# Getting Started
Welcome to your extension project to `@capire/orders`.
It contains these folders and files, following our recommended project layout:
File or Folder | Purpose
---------|----------
`app/` | all extensions content is here
`test/` | all test content is here
`package.json` | project configuration
`readme.md` | this getting started guide
## Next Steps
- `cds pull` latest models from your base application
- edit [`./app/extensions.cds`](./app/extensions.cds) to add your extensions
- `cds watch` your extension in local test-drives
- `cds push` your extension to **test** tenant
- `cds push` your extension to **prod** tenant
## Learn More
Learn more at https://cap.cloud.sap/docs/guides/extensibility/customization.

View File

@@ -0,0 +1,25 @@
namespace x_orders.ext; // for new entities like SalesRegion below
using { OrdersService, sap, sap.capire.orders.Orders } from '@capire/orders';
extend Orders with { // 2 new fields....
x_priority : String enum {high; medium; low} default 'medium';
x_salesRegion : Association to x_SalesRegion;
}
entity x_SalesRegion : sap.common.CodeList { // Value Help
key code : String(11);
}
// -------------------------------------------
// Fiori Annotations
annotate Orders:x_priority with @title: 'Priority';
annotate SalesRegion:name with @title: 'Sales Region';
annotate OrdersService.Orders with @UI.LineItem: [
... up to { Value: OrderNo },
{ Value: x_priority },
{ Value: x_salesRegion.name },
...
];

47
orders-ext/package.json Normal file
View File

@@ -0,0 +1,47 @@
{
"name": "@capire/orders-ext",
"extends": "@capire/orders",
"version": "1.0.0",
"description": "A simple CAP project.",
"repository": "<Add your repository here>",
"license": "UNLICENSED",
"private": true,
"dependencies": {
"@sap/cds": "^6",
"express": "^4"
},
"devDependencies": {
"sqlite3": "^5.0.4"
},
"scripts": {
"start": "cds run"
},
"engines": {
"node": "^16.15"
},
"eslintConfig": {
"extends": "eslint:recommended",
"env": {
"es2020": true,
"node": true,
"jest": true,
"mocha": true
},
"globals": {
"SELECT": true,
"INSERT": true,
"UPDATE": true,
"DELETE": true,
"CREATE": true,
"DROP": true,
"CDL": true,
"CQL": true,
"CXL": true,
"cds": true
},
"rules": {
"no-console": "off",
"require-atomic-updates": "off"
}
}
}

View File

@@ -0,0 +1,3 @@
ID;createdAt;buyer;OrderNo;currency_code;x_priority;x_salesRegion_code
7e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-01-31;john.doe@test.com;1;EUR;high;EMEA
64e718c9-ff99-47f1-8ca3-950c850777d4;2019-01-30;jane.doe@test.com;2;EUR;low;APJ
1 ID createdAt buyer OrderNo currency_code x_priority x_salesRegion_code
2 7e2f2640-6866-4dcf-8f4d-3027aa831cad 2019-01-31 john.doe@test.com 1 EUR high EMEA
3 64e718c9-ff99-47f1-8ca3-950c850777d4 2019-01-30 jane.doe@test.com 2 EUR low APJ

View File

@@ -0,0 +1,4 @@
code;name;descr
AMER;Americas;North, Central and South America
EMEA;Europe, the Middle East and Africa;Europe, the Middle East and Africa
APJ;Asia Pacific and Japan;Asia Pacific and Japan
1 code name descr
2 AMER Americas North, Central and South America
3 EMEA Europe, the Middle East and Africa Europe, the Middle East and Africa
4 APJ Asia Pacific and Japan Asia Pacific and Japan

View File

@@ -1,2 +0,0 @@
cds.requires.messaging.kind = file-based-messaging
PORT = 4006

View File

@@ -3,6 +3,39 @@
"version": "1.0.0",
"dependencies": {
"@capire/common": "*",
"@sap/cds": ">=5"
"@sap/cds": ">=5",
"@sap/cds-mtxs": "^1"
},
"cds": {
"requires": {
"db": "sql-mt",
"multitenancy": true,
"toggles": true,
"extensibility": true,
"cds.xt.ExtensibilityService": {
"element-prefix": ["x_"],
"extension-allowlist": [
{
"for": ["sap.capire.orders"],
"kind": "entity",
"new-fields": 2
},
{
"for": ["OrdersService"],
"new-entities": 2
}
]
},
"auth": {
"users": {
"bob": {
"tenant": "t1-ext",
"roles": [
"cds.ExtensionDeveloper"
]
}
}
}
}
}
}

755
package-lock.json generated
View File

@@ -378,6 +378,19 @@
"node": ">=14"
}
},
"node_modules/@sap/cds-mtxs": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-1.1.2.tgz",
"integrity": "sha512-O/MpYI+O6dgRy5lL8X8RxwWKTRIBTb2UsMQeuv+V0MJRScg5OpkP8SQd/fGqWBQZbP+x07Da3xTVFqWxzFMYnw==",
"dependencies": {
"@sap/hdi-deploy": "^4",
"@sap/instance-manager": "^3",
"axios": "^0.27.2"
},
"peerDependencies": {
"@sap/cds": ">=6"
}
},
"node_modules/@sap/cds-odata-v2-adapter-proxy": {
"version": "1.9.9",
"resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz",
@@ -395,6 +408,352 @@
"node": ">=8"
}
},
"node_modules/@sap/hdi-deploy": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-4.4.1.tgz",
"integrity": "sha512-ShTEqS1Eeomlls5/XAEM3AQjtu3q5j4XtvkyKIwMNPgvrZIWYzehCI1Uvo5gpxxfcj4GcjrOXoUsRLPNzbP/1w==",
"hasShrinkwrap": true,
"dependencies": {
"@sap/hana-client": "2.13.13",
"@sap/hdi": "4.3.1",
"@sap/xsenv": "3.3.2",
"async": "3.2.3",
"dotenv": "10.0.0",
"handlebars": "4.7.7",
"hdb": "0.19.3",
"micromatch": "4.0.4"
},
"engines": {
"node": "^12.0.0 || ^14.0.0 || ^16.0.0"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client": {
"version": "2.13.13",
"dependencies": {
"debug": "3.1.0"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/debug": {
"version": "3.1.0",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/hana-client/node_modules/ms": {
"version": "2.0.0"
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/hdi": {
"version": "4.3.1",
"dependencies": {
"async": "3.2.3"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv": {
"version": "3.3.2",
"dependencies": {
"debug": "4.3.3",
"node-cache": "^5.1.0",
"verror": "1.10.0"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/assert-plus": {
"version": "1.0.0"
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/clone": {
"version": "2.1.2"
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/core-util-is": {
"version": "1.0.2"
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/debug": {
"version": "4.3.3",
"dependencies": {
"ms": "2.1.2"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/extsprintf": {
"version": "1.4.1"
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/ms": {
"version": "2.1.2"
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/node-cache": {
"version": "5.1.2",
"dependencies": {
"clone": "2.x"
}
},
"node_modules/@sap/hdi-deploy/node_modules/@sap/xsenv/node_modules/verror": {
"version": "1.10.0",
"dependencies": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
}
},
"node_modules/@sap/hdi-deploy/node_modules/async": {
"version": "3.2.3"
},
"node_modules/@sap/hdi-deploy/node_modules/braces": {
"version": "3.0.2",
"dependencies": {
"fill-range": "^7.0.1"
}
},
"node_modules/@sap/hdi-deploy/node_modules/dotenv": {
"version": "10.0.0"
},
"node_modules/@sap/hdi-deploy/node_modules/fill-range": {
"version": "7.0.1",
"dependencies": {
"to-regex-range": "^5.0.1"
}
},
"node_modules/@sap/hdi-deploy/node_modules/handlebars": {
"version": "4.7.7",
"dependencies": {
"minimist": "^1.2.5",
"neo-async": "^2.6.0",
"source-map": "^0.6.1",
"wordwrap": "^1.0.0"
},
"optionalDependencies": {
"uglify-js": "^3.1.4"
}
},
"node_modules/@sap/hdi-deploy/node_modules/hdb": {
"version": "0.19.3",
"dependencies": {
"iconv-lite": "^0.4.18"
}
},
"node_modules/@sap/hdi-deploy/node_modules/iconv-lite": {
"version": "0.4.24",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"node_modules/@sap/hdi-deploy/node_modules/is-number": {
"version": "7.0.0"
},
"node_modules/@sap/hdi-deploy/node_modules/micromatch": {
"version": "4.0.4",
"dependencies": {
"braces": "^3.0.1",
"picomatch": "^2.2.3"
}
},
"node_modules/@sap/hdi-deploy/node_modules/minimist": {
"version": "1.2.6"
},
"node_modules/@sap/hdi-deploy/node_modules/neo-async": {
"version": "2.6.2"
},
"node_modules/@sap/hdi-deploy/node_modules/picomatch": {
"version": "2.3.1"
},
"node_modules/@sap/hdi-deploy/node_modules/safer-buffer": {
"version": "2.1.2"
},
"node_modules/@sap/hdi-deploy/node_modules/source-map": {
"version": "0.6.1"
},
"node_modules/@sap/hdi-deploy/node_modules/to-regex-range": {
"version": "5.0.1",
"dependencies": {
"is-number": "^7.0.0"
}
},
"node_modules/@sap/hdi-deploy/node_modules/uglify-js": {
"version": "3.16.1",
"optional": true
},
"node_modules/@sap/hdi-deploy/node_modules/wordwrap": {
"version": "1.0.0"
},
"node_modules/@sap/instance-manager": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/@sap/instance-manager/-/instance-manager-3.3.4.tgz",
"integrity": "sha512-UihWrb+MvLF16Zw7AvsqQJ/yGJG/QHSGVKjEaHrEBIyydt59QlK271kJbuToBmMYObVS6sXojuMhd2+mUrraCg==",
"hasShrinkwrap": true,
"dependencies": {
"@sap/xssec": "^3.2.13",
"clone": "2.1.1",
"debug": "4.3.3",
"lru-cache": "4.1.1",
"node-fetch": "2.6.7",
"uuid": "7.0.0"
},
"engines": {
"node": "^10.0.0 || ^12.0.0 || ^14.0.0 || ^16.0.0"
}
},
"node_modules/@sap/instance-manager/node_modules/@sap/xssec": {
"version": "3.2.13",
"dependencies": {
"axios": "^0.26.0",
"debug": "4.3.2",
"jsonwebtoken": "^8.5.1",
"lru-cache": "6.0.0",
"node-rsa": "^1.1.1",
"valid-url": "1.0.9"
}
},
"node_modules/@sap/instance-manager/node_modules/@sap/xssec/node_modules/debug": {
"version": "4.3.2",
"dependencies": {
"ms": "2.1.2"
}
},
"node_modules/@sap/instance-manager/node_modules/@sap/xssec/node_modules/lru-cache": {
"version": "6.0.0",
"dependencies": {
"yallist": "^4.0.0"
}
},
"node_modules/@sap/instance-manager/node_modules/asn1": {
"version": "0.2.6",
"dependencies": {
"safer-buffer": "~2.1.0"
}
},
"node_modules/@sap/instance-manager/node_modules/axios": {
"version": "0.26.1",
"dependencies": {
"follow-redirects": "^1.14.8"
}
},
"node_modules/@sap/instance-manager/node_modules/buffer-equal-constant-time": {
"version": "1.0.1"
},
"node_modules/@sap/instance-manager/node_modules/clone": {
"version": "2.1.1"
},
"node_modules/@sap/instance-manager/node_modules/debug": {
"version": "4.3.3",
"dependencies": {
"ms": "2.1.2"
}
},
"node_modules/@sap/instance-manager/node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/@sap/instance-manager/node_modules/follow-redirects": {
"version": "1.15.1"
},
"node_modules/@sap/instance-manager/node_modules/jsonwebtoken": {
"version": "8.5.1",
"dependencies": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
}
},
"node_modules/@sap/instance-manager/node_modules/jwa": {
"version": "1.4.1",
"dependencies": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/@sap/instance-manager/node_modules/jws": {
"version": "3.2.2",
"dependencies": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/@sap/instance-manager/node_modules/lodash.includes": {
"version": "4.3.0"
},
"node_modules/@sap/instance-manager/node_modules/lodash.isboolean": {
"version": "3.0.3"
},
"node_modules/@sap/instance-manager/node_modules/lodash.isinteger": {
"version": "4.0.4"
},
"node_modules/@sap/instance-manager/node_modules/lodash.isnumber": {
"version": "3.0.3"
},
"node_modules/@sap/instance-manager/node_modules/lodash.isplainobject": {
"version": "4.0.6"
},
"node_modules/@sap/instance-manager/node_modules/lodash.isstring": {
"version": "4.0.1"
},
"node_modules/@sap/instance-manager/node_modules/lodash.once": {
"version": "4.1.1"
},
"node_modules/@sap/instance-manager/node_modules/lru-cache": {
"version": "4.1.1",
"dependencies": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"node_modules/@sap/instance-manager/node_modules/lru-cache/node_modules/yallist": {
"version": "2.1.2"
},
"node_modules/@sap/instance-manager/node_modules/ms": {
"version": "2.1.2"
},
"node_modules/@sap/instance-manager/node_modules/node-fetch": {
"version": "2.6.7",
"dependencies": {
"whatwg-url": "^5.0.0"
}
},
"node_modules/@sap/instance-manager/node_modules/node-rsa": {
"version": "1.1.1",
"dependencies": {
"asn1": "^0.2.4"
}
},
"node_modules/@sap/instance-manager/node_modules/pseudomap": {
"version": "1.0.2"
},
"node_modules/@sap/instance-manager/node_modules/safe-buffer": {
"version": "5.2.1"
},
"node_modules/@sap/instance-manager/node_modules/safer-buffer": {
"version": "2.1.2"
},
"node_modules/@sap/instance-manager/node_modules/semver": {
"version": "5.7.1"
},
"node_modules/@sap/instance-manager/node_modules/tr46": {
"version": "0.0.3"
},
"node_modules/@sap/instance-manager/node_modules/uuid": {
"version": "7.0.0"
},
"node_modules/@sap/instance-manager/node_modules/valid-url": {
"version": "1.0.9"
},
"node_modules/@sap/instance-manager/node_modules/webidl-conversions": {
"version": "3.0.1"
},
"node_modules/@sap/instance-manager/node_modules/whatwg-url": {
"version": "5.0.0",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/@sap/instance-manager/node_modules/yallist": {
"version": "4.0.0"
},
"node_modules/@sinclair/typebox": {
"version": "0.24.44",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz",
@@ -606,14 +965,12 @@
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dev": true,
"dependencies": {
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
@@ -905,7 +1262,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -961,7 +1317,6 @@
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -990,7 +1345,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
@@ -1263,7 +1617,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -1759,7 +2112,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -2004,8 +2356,7 @@
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/negotiator": {
"version": "0.6.3",
@@ -2930,8 +3281,7 @@
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/yaml": {
"version": "2.1.2",
@@ -2946,7 +3296,8 @@
"version": "1.0.0",
"dependencies": {
"@capire/common": "*",
"@sap/cds": ">=5"
"@sap/cds": ">=5",
"@sap/cds-mtxs": "^1"
}
},
"reviews": {
@@ -3104,7 +3455,8 @@
"version": "file:orders",
"requires": {
"@capire/common": "*",
"@sap/cds": ">=5"
"@sap/cds": ">=5",
"@sap/cds-mtxs": "^1"
}
},
"@capire/reviews": {
@@ -3221,6 +3573,16 @@
"yaml": "^2.1.1"
}
},
"@sap/cds-mtxs": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@sap/cds-mtxs/-/cds-mtxs-1.1.2.tgz",
"integrity": "sha512-O/MpYI+O6dgRy5lL8X8RxwWKTRIBTb2UsMQeuv+V0MJRScg5OpkP8SQd/fGqWBQZbP+x07Da3xTVFqWxzFMYnw==",
"requires": {
"@sap/hdi-deploy": "^4",
"@sap/instance-manager": "^3",
"axios": "^0.27.2"
}
},
"@sap/cds-odata-v2-adapter-proxy": {
"version": "1.9.9",
"resolved": "https://registry.npmjs.org/@sap/cds-odata-v2-adapter-proxy/-/cds-odata-v2-adapter-proxy-1.9.9.tgz",
@@ -3235,6 +3597,354 @@
"xml2js": "^0.4.23"
}
},
"@sap/hdi-deploy": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@sap/hdi-deploy/-/hdi-deploy-4.4.1.tgz",
"integrity": "sha512-ShTEqS1Eeomlls5/XAEM3AQjtu3q5j4XtvkyKIwMNPgvrZIWYzehCI1Uvo5gpxxfcj4GcjrOXoUsRLPNzbP/1w==",
"requires": {
"@sap/hana-client": "2.13.13",
"@sap/hdi": "4.3.1",
"@sap/xsenv": "3.3.2",
"async": "3.2.3",
"dotenv": "10.0.0",
"handlebars": "4.7.7",
"hdb": "0.19.3",
"micromatch": "4.0.4"
},
"dependencies": {
"@sap/hana-client": {
"version": "2.13.13",
"requires": {
"debug": "3.1.0"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0"
}
}
},
"@sap/hdi": {
"version": "4.3.1",
"requires": {
"async": "3.2.3"
}
},
"@sap/xsenv": {
"version": "3.3.2",
"requires": {
"debug": "4.3.3",
"node-cache": "^5.1.0",
"verror": "1.10.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0"
},
"clone": {
"version": "2.1.2"
},
"core-util-is": {
"version": "1.0.2"
},
"debug": {
"version": "4.3.3",
"requires": {
"ms": "2.1.2"
}
},
"extsprintf": {
"version": "1.4.1"
},
"ms": {
"version": "2.1.2"
},
"node-cache": {
"version": "5.1.2",
"requires": {
"clone": "2.x"
}
},
"verror": {
"version": "1.10.0",
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
}
}
}
},
"async": {
"version": "3.2.3"
},
"braces": {
"version": "3.0.2",
"requires": {
"fill-range": "^7.0.1"
}
},
"dotenv": {
"version": "10.0.0"
},
"fill-range": {
"version": "7.0.1",
"requires": {
"to-regex-range": "^5.0.1"
}
},
"handlebars": {
"version": "4.7.7",
"requires": {
"minimist": "^1.2.5",
"neo-async": "^2.6.0",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4",
"wordwrap": "^1.0.0"
}
},
"hdb": {
"version": "0.19.3",
"requires": {
"iconv-lite": "^0.4.18"
}
},
"iconv-lite": {
"version": "0.4.24",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"is-number": {
"version": "7.0.0"
},
"micromatch": {
"version": "4.0.4",
"requires": {
"braces": "^3.0.1",
"picomatch": "^2.2.3"
}
},
"minimist": {
"version": "1.2.6"
},
"neo-async": {
"version": "2.6.2"
},
"picomatch": {
"version": "2.3.1"
},
"safer-buffer": {
"version": "2.1.2"
},
"source-map": {
"version": "0.6.1"
},
"to-regex-range": {
"version": "5.0.1",
"requires": {
"is-number": "^7.0.0"
}
},
"uglify-js": {
"version": "3.16.1",
"optional": true
},
"wordwrap": {
"version": "1.0.0"
}
}
},
"@sap/instance-manager": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/@sap/instance-manager/-/instance-manager-3.3.4.tgz",
"integrity": "sha512-UihWrb+MvLF16Zw7AvsqQJ/yGJG/QHSGVKjEaHrEBIyydt59QlK271kJbuToBmMYObVS6sXojuMhd2+mUrraCg==",
"requires": {
"@sap/xssec": "^3.2.13",
"clone": "2.1.1",
"debug": "4.3.3",
"lru-cache": "4.1.1",
"node-fetch": "2.6.7",
"uuid": "7.0.0"
},
"dependencies": {
"@sap/xssec": {
"version": "3.2.13",
"requires": {
"axios": "^0.26.0",
"debug": "4.3.2",
"jsonwebtoken": "^8.5.1",
"lru-cache": "6.0.0",
"node-rsa": "^1.1.1",
"valid-url": "1.0.9"
},
"dependencies": {
"debug": {
"version": "4.3.2",
"requires": {
"ms": "2.1.2"
}
},
"lru-cache": {
"version": "6.0.0",
"requires": {
"yallist": "^4.0.0"
}
}
}
},
"asn1": {
"version": "0.2.6",
"requires": {
"safer-buffer": "~2.1.0"
}
},
"axios": {
"version": "0.26.1",
"requires": {
"follow-redirects": "^1.14.8"
}
},
"buffer-equal-constant-time": {
"version": "1.0.1"
},
"clone": {
"version": "2.1.1"
},
"debug": {
"version": "4.3.3",
"requires": {
"ms": "2.1.2"
}
},
"ecdsa-sig-formatter": {
"version": "1.0.11",
"requires": {
"safe-buffer": "^5.0.1"
}
},
"follow-redirects": {
"version": "1.15.1"
},
"jsonwebtoken": {
"version": "8.5.1",
"requires": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
}
},
"jwa": {
"version": "1.4.1",
"requires": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"jws": {
"version": "3.2.2",
"requires": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"lodash.includes": {
"version": "4.3.0"
},
"lodash.isboolean": {
"version": "3.0.3"
},
"lodash.isinteger": {
"version": "4.0.4"
},
"lodash.isnumber": {
"version": "3.0.3"
},
"lodash.isplainobject": {
"version": "4.0.6"
},
"lodash.isstring": {
"version": "4.0.1"
},
"lodash.once": {
"version": "4.1.1"
},
"lru-cache": {
"version": "4.1.1",
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
},
"dependencies": {
"yallist": {
"version": "2.1.2"
}
}
},
"ms": {
"version": "2.1.2"
},
"node-fetch": {
"version": "2.6.7",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"node-rsa": {
"version": "1.1.1",
"requires": {
"asn1": "^0.2.4"
}
},
"pseudomap": {
"version": "1.0.2"
},
"safe-buffer": {
"version": "5.2.1"
},
"safer-buffer": {
"version": "2.1.2"
},
"semver": {
"version": "5.7.1"
},
"tr46": {
"version": "0.0.3"
},
"uuid": {
"version": "7.0.0"
},
"valid-url": {
"version": "1.0.9"
},
"webidl-conversions": {
"version": "3.0.1"
},
"whatwg-url": {
"version": "5.0.0",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"yallist": {
"version": "4.0.0"
}
}
},
"@sinclair/typebox": {
"version": "0.24.44",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz",
@@ -3413,14 +4123,12 @@
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"axios": {
"version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dev": true,
"requires": {
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
@@ -3649,7 +4357,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -3693,7 +4400,6 @@
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
}
@@ -3710,8 +4416,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"delegates": {
"version": "1.0.0",
@@ -3928,7 +4633,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
@@ -4313,7 +5017,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
@@ -4492,8 +5195,7 @@
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"negotiator": {
"version": "0.6.3",
@@ -5186,8 +5888,7 @@
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"yaml": {
"version": "2.1.2",