An open API service indexing awesome lists of open source software.

https://github.com/soontao/cds-hyper-app-service

CAP Hyper ApplicationService, for extension
https://github.com/soontao/cds-hyper-app-service

cap cds nodejs

Last synced: 29 days ago
JSON representation

CAP Hyper ApplicationService, for extension

Awesome Lists containing this project

README

          

# CDS Hyper Application Service

> hyper service implementation layer for CAP nodejs runtime

[![npm](https://img.shields.io/npm/v/cds-hyper-app-service)](https://www.npmjs.com/package/cds-hyper-app-service)
![license](https://img.shields.io/npm/l/cds-hyper-app-service)
![npm type definitions](https://img.shields.io/npm/types/cds-hyper-app-service)
[![codecov](https://codecov.io/gh/Soontao/cds-hyper-app-service/branch/main/graph/badge.svg?token=Q2YdgKmU2r)](https://codecov.io/gh/Soontao/cds-hyper-app-service)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Soontao_cds-hyper-app-service&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Soontao_cds-hyper-app-service)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=Soontao_cds-hyper-app-service&metric=bugs)](https://sonarcloud.io/summary/new_code?id=Soontao_cds-hyper-app-service)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Soontao_cds-hyper-app-service&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=Soontao_cds-hyper-app-service)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=Soontao_cds-hyper-app-service&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=Soontao_cds-hyper-app-service)

## Get Started

> install dependency

```bash
npm i -S cds-hyper-app-service
```

> overwrite the `app-service` implementation

```json5
{
"cds": {
"requires": {
"app-service": {
"impl": "cds-hyper-app-service",
// default value, developer could overwrite this config
"exts": ["builtIn"]
}
}
}
}
```

## Built-in Extensions

- [Hyper Implementation](./src/extension/builtIn/impl/README.md) - enhanced `@impl` annotation for entity/handler level
- [Hyper Repository](./src//extension/builtIn/repo/README.md) - repository implementation like spring repository but applied to CAP nodejs runtime

## Features

- [x] `ApplicationServiceExt` concept
- [x] optional `beforeInit`/`afterInit` method
- [x] support options for `exts` node
- [ ] more context data
- [ ] documentation/example

## Compatible Table

- `@sap/cds`@`5` <-> `cds-hyper-impl`@`0.x`
- `@sap/cds`@`6` <-> `cds-hyper-impl`@`6.x`

## [CHANGELOG](./CHANGELOG.md)

## [LICENSE](./LICENSE)