SAP-samples/cloud-cap-with-javascript-basics
84 issues need attention.
2 errors and 82 warnings in the paths between 89 routes and 3 tables.
- ROUTES
- 89
- TABLES
- 3
- FILES READ
- 66
- RULES RUN
- 7/7
84 findings
GET /odata/v4/catalog/ListOfBooks can reach Books without authenticating.
auth-before-dataGET /odata/v4/catalog/ListOfBooks → BooksGET /odata/v4/catalog/Books can reach Books without authenticating.
auth-before-dataGET /odata/v4/catalog/Books → BooksGET /odata/v4/admin/Languages has no validator or rate limiter attached.
public-entry-guardedGET /odata/v4/catalog/ListOfBooks has no validator or rate limiter attached.
public-entry-guardedGET /odata/v4/catalog/Books has no validator or rate limiter attached.
public-entry-guardedPOST /odata/v4/catalog/submitOrder has no validator or rate limiter attached.
public-entry-guardedGET /rest/smtp has no validator or rate limiter attached.
public-entry-guardedGET /rest/multiply{/:num1}{/:num2} has no validator or rate limiter attached.
public-entry-guardedGET /apiJS/api-docs.json has no validator or rate limiter attached.
public-entry-guardedGET /rest/xml has no validator or rate limiter attached.
public-entry-guardedGET /rest/xml/example1 has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6 has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/promises has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/promisesError has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/constants has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/blockScoped has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/parameterDefaults has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/parameterMultiple has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/unicode has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/numFormat has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/currFormat has no validator or rate limiter attached.
public-entry-guardedGET /rest/es6/dateFormat has no validator or rate limiter attached.
public-entry-guardedGET /rest/es2018 has no validator or rate limiter attached.
public-entry-guardedGET /rest/es2018/promisesFinally has no validator or rate limiter attached.
public-entry-guardedGET /rest/es2018/for-await-of-loops has no validator or rate limiter attached.
public-entry-guardedGET /rest/es2018/async-generator has no validator or rate limiter attached.
public-entry-guardedGET /rest/es2018/regex2018 has no validator or rate limiter attached.
public-entry-guardedGET /rest/zip has no validator or rate limiter attached.
public-entry-guardedGET /rest/zip/example1 has no validator or rate limiter attached.
public-entry-guardedGET /rest/zip/zipBooks has no validator or rate limiter attached.
public-entry-guardedGET /rest/zip/zipBooks2{/:format} has no validator or rate limiter attached.
public-entry-guardedGET /rest/await has no validator or rate limiter attached.
public-entry-guardedGET /rest/await/await has no validator or rate limiter attached.
public-entry-guardedGET /rest/await/awaitError has no validator or rate limiter attached.
public-entry-guardedGET /rest/await/awaitDB1 has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/ has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes1 has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes1Error has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes2a has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes2b has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes3a has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes3b has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes4a has no validator or rate limiter attached.
public-entry-guardedGET /rest/oo/classes4b has no validator or rate limiter attached.
public-entry-guardedGET /rest/hello has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex1 has no validator or rate limiter attached.
public-entry-guardedGET /rest/user has no validator or rate limiter attached.
public-entry-guardedGET /rest/os has no validator or rate limiter attached.
public-entry-guardedGET /rest/os/osInfo has no validator or rate limiter attached.
public-entry-guardedGET /rest/os/osUser has no validator or rate limiter attached.
public-entry-guardedGET /rest/excel has no validator or rate limiter attached.
public-entry-guardedGET /rest/excel/download has no validator or rate limiter attached.
public-entry-guardedPOST /rest/excel/upload has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/toc has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2 has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/waterfall has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/promises has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/await has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/queryParallel has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/whoAmI has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/env has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/cfApi has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/space has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/os has no validator or rate limiter attached.
public-entry-guardedGET /rest/ex2/osUser has no validator or rate limiter attached.
public-entry-guardedGET /rest/textBundle has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/strings has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/dates has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/array has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/json has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/objects has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/classes has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/promises has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/constants has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/blockScoped has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/parameterDefaults has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/parameterMultiple has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/unicode has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/numFormat has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/currFormat has no validator or rate limiter attached.
public-entry-guardedGET /rest/JavaScriptBasics/dateFormat has no validator or rate limiter attached.
public-entry-guardedGET /rest/outboundTest/:search{/:index} has no validator or rate limiter attached.
public-entry-guardedGenres is not connected to anything.
no-orphan-datastore
Part of this repository was not read, so this report is incomplete. Unread: srv/cat-service.cds, app/admin-books/fiori-service.cds.
Free account, no card. The repository opens as an editable graph.
Add this check to the README
[](https://wyro.in/scan/SAP-samples/cloud-cap-with-javascript-basics)It updates itself whenever the repository changes and links back to this report.
What this is
Wyro reads the repository’s routes and data models and checks the paths between them: whether a route can reach a table without passing a guard, whether a datastore holding personal data is exposed to a public read, whether an endpoint that issues credentials requires the credentials it issues.
It is rule-based, not a model. The same commit produces the same result every time, and it does not guess at business rules it cannot see. A rule with nothing to look at is reported as not having run — never as a pass.
This check runs on public source through GitHub’s own API and needs no account. A free account adds the editable architecture canvas, private repositories on paid plans, and a CI gate. No card required.