{"ref":"artifact:miyasuta-cap-openapi","page":"/artifacts/miyasuta-cap-openapi","json":"/artifacts/miyasuta-cap-openapi.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"miyasuta-cap-openapi","name":"cap-openapi","artifact_type":"sample","ecosystem":"cap","domain":"integration-and-messaging","secondary_domains":["protocols-and-apis"],"origin_ring":"independent","description":{"one_line":"A CAP Java service whose two handlers call role collection endpoints through a client the Cloud SDK's OpenAPI generator builds at build time from a specification kept in the project.","short":"CAP Java service calling role collection APIs via a generated client","what_it_solves":"`srv/pom.xml` runs `openapi-generator-maven-plugin` in the `generate-sources` phase over `api-specs/AuthorizationAPI.yaml` and writes the api and model packages into `src/gen/java`; the specification is the Swagger 2.0 document of the [SAP Authorization and Trust Management service](artifact:btp-authorization-and-trust-management), whose own description says it lets you manage \"roles, role templates, and role collections of your subaccount\". `AuthorizationServiceHandler` holds `DestinationAccessor.getDestination(\"xsuaa\").asHttp()` and a `RoleCollectionsApi` built on it as class fields, and maps the generated `RoleCollection` down to a CDS type carrying `name` and `description` only. The model is one function and one action and no entity, with `cds.datasource.auto-config.enabled: false` and h2 at runtime scope, so nothing is persisted. There is no README, and the repository description is what names the subject."},"links":{"repo":"https://github.com/miyasuta/cap-openapi"},"compat":{"runtimes":["java"],"deployment":["cf"]},"demonstrates":["capability:openapi","capability:destinations"],"requires":[{"ref":"artifact:btp-destination","for":"The generated client is constructed on a destination read at runtime, so the endpoint and the credentials of the API it calls come from there.","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/cap-openapi/main/srv/src/main/java/customer/cap_openapi/handlers/AuthorizationServiceHandler.java","title":"miyasuta/cap-openapi — AuthorizationServiceHandler.java","checked":"2026-10-15","quote":"HttpDestination destination = DestinationAccessor.getDestination(\"xsuaa\").asHttp();"}]},{"ref":"artifact:btp-authorization-and-trust-management","for":"The API the generated client calls: the specification in the project is that service's own Authorization API, and the handlers read and create role collections through it.","sources":[{"url":"https://raw.githubusercontent.com/miyasuta/cap-openapi/main/srv/api-specs/AuthorizationAPI.yaml","title":"miyasuta/cap-openapi — AuthorizationAPI.yaml","checked":"2026-10-15","quote":"Provides functions to administrate the Authorization and Trust Management service (XSUAA) of SAP BTP, Cloud Foundry environment."}]}],"maintainers":["actor:mio-yasutake"],"contributors":["actor:mio-yasutake"],"use_as":"reference","provenance":{"discovered_via":[{"source":"source:github","channel":"miyasuta"}],"first_seen":"2026-10-15"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-02, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"no release dates"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"2 test files"},{"label":"Docs","tier":"poor","evidence":"no README"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2024-02-26","license_spdx":null,"org_owned":false,"default_branch":"main","created_at":"2024-02-22T20:36:00Z","open_prs":0,"tree_truncated":false,"test_files":2,"workflows":0,"other_ci":false,"readme_bytes":0,"docs_files":0,"changelog":false,"license_file":false,"dts_files":0,"first_commit":"2024-02-20","last_commit":"2024-02-26","commits":10,"contributors":1,"repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:mio-yasutake","name":"Mio Yasutake","json":"/actors/mio-yasutake.json"}],"contributors":[{"ref":"actor:mio-yasutake","name":"Mio Yasutake","json":"/actors/mio-yasutake.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}