Skip to content

Commit

Permalink
1.9.0 (#210)
Browse files Browse the repository at this point in the history
* - 1.9.0
- Project Restructuring + Housekeeping
- CDS 6 compatible version
- Introduce proxy option `dynamicPort` to handle dynamic port assignment (useful for unit-testing)
- Represent time component of `cds.Date/Edm.DateTime` with second precision (i.e. `00:00:00`)

* - 1.9.0
- Project Restructuring + Housekeeping
- Rename integration-test to test-integration
- CDS 6 compatible version

* - 1.9.0
- Project Restructuring + Housekeeping
- Rename integration-test to test-integration
- CDS 6 compatible version

* Use target: "auto" instead of new proxy option "dynamicPort"
Align Documentation

* Min. Node 14

* Update MD

* XMake: Only Unit-Tests

* XMake: Only Unit-Tests

* Run script

* Test refactorings

* Compatibility: stay with Node8 / ES2019

* CDS 5.9.8
Tests wait for test data setup

* Deps

* CDS 6 Update
  • Loading branch information
oklemenz2 authored and GitHub Enterprise committed Jul 1, 2022
1 parent da22913 commit 505c8ee
Show file tree
Hide file tree
Showing 166 changed files with 5,500 additions and 2,604 deletions.
9 changes: 3 additions & 6 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
app/
approuter/
test/
integration-test/
reports/
node_modules/
*.ts
reports/
test/
test-integration/
9 changes: 5 additions & 4 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ root: true
# https://eslint.org/docs/rules/
env:
node: true
es2020: true
es2019: true
parserOptions:
ecmaVersion: 10
ecmaVersion: 2019
globals:
sap: false
SELECT: false
Expand All @@ -17,8 +17,8 @@ globals:
plugins:
- jest
extends:
- "eslint:recommended"
- "plugin:jest/recommended"
- eslint:recommended
- plugin:jest/recommended
- prettier
rules:
no-unused-vars: [off]
Expand All @@ -31,3 +31,4 @@ rules:
strict: [error]
curly: [error]
no-constant-condition: [error, { checkLoops: false }]
no-prototype-builtins: off
45 changes: 9 additions & 36 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,38 +1,11 @@
gen/
db/gen/
srv/gen/
.gen/

node_modules/
target/
*.db
.DS_Store
_out
.che/
.cds_gen.log
*.orig

# mta
*.mtar
.mta/

# bower
bower_components/

#coverage
reports

# idea
.idea/

#JUnit
junit.xml

# temp
.DS_Store
node_modules/
reports/
temp/
memheap.txt
memleaks.txt

# typescript
test-server-ts.js
test-server-ts.js.map
test/_env/gen/
test/_env/util/typescript/test-server.js
test/_env/util/typescript/test-server.js.map
test/_env/test.db
test/_env/test.db-journal
test-integration/_env/gen/
14 changes: 5 additions & 9 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
.idea/
app/
approuter/
node_modules/
reports/
integration-test/
test/
test-integration/
.eslintignore
.eslintrc.yml
.gitignore
.npmignore
.prettierignore
.prettierrc.yml
.xmake.cfg
CONTRIBUTING.md
jest.config.js
jest-integration-test.json
junit.xml
test-server.js
test-server-ts.ts
test-server-ts.js
tsconfig.json
jest.setup.js
jest-xmake.config.js
156 changes: 0 additions & 156 deletions .pipeline/config.properties

This file was deleted.

1 change: 0 additions & 1 deletion .prettierignore

This file was deleted.

2 changes: 1 addition & 1 deletion .xmake.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ bundle=true
publish_npm=true
before_publish=prepareRelease
install-arguments=--no-save,--no-package-lock
test-arguments=--scripts-prepend-node-path
test-arguments=--scripts-prepend-node-path,--,--config=jest-xmake.config.js
make-shrinkwrap=false

[env_all]
Expand Down
8 changes: 5 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

<!-- New version information is automatically added after line 8 -->

## Version 1.8.22 - tbd
## Version 1.9.0 - tbd

- Represent time component of `cds.Date/Edm.DateTime` with second precision (i.e. `00:00:00`)
- CDS 6 compatible version
- Enhance proxy option `target` with mode `auto` to handle dynamic target/port assignment (e.g. for unit-tests)
- Represent time component of `cds.Date/Edm.DateTime` with second precision (i.e. `00:00:00`)

## Version 1.8.21 - 2022-06-22

Expand Down Expand Up @@ -229,7 +231,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Fixed

- Fix query options not part of action parameters
- Proxy option `caseInsensitive` to transform search function e.g. `substringof` to case insensitive variant
- Proxy option `caseInsensitive` to transform search function e.g. `substringof` to case-insensitive variant

## Version 1.7.9 - 2021-08-06

Expand Down
18 changes: 14 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
# Contribution Guide

**Do you want to contribute to CDS OData V2 Adapter Proxy?**
### Do you want to contribute to CDS OData V2 Adapter Proxy?

Contributions via **pull requests** are welcome.

The development team of CDS OData V2 Adapter Proxy is looking forward to any contribution.
The following contribution guide gives you a high level overview of the project and should help to jump start your contribution.

- Code is contained in file `lib/index.js`
- Tests are located in folder `test`
- Source code is located at file `src/index.js`
- Typings are defined in `src/index.d.ts`
- Unit Tests are located in folder `test`
- HANA Integration Tests are located in folder `test-integration`: `npm test:integration`

**Did find an issue?**
### How to run the project?

- `npm test`: Execute test suite (unit tests + integration tests)
- `npm run test:unit`: Execute unit tests only
- `npm run test:integration`: Execute integration tests only
- `npm start`: Start test server incl. example apps (SQLite)
- `npm run start:hana` Start test server incl. example apps (HANA)

### Did find an issue?

Open a new issue [here](https://github.wdf.sap.corp/cds-community/cds-odata-v2-adapter-proxy/issues/new).
4 changes: 0 additions & 4 deletions Jenkinsfile

This file was deleted.

18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,17 +204,17 @@ It's disabled by default, but can be enabled using option [compressResponseMixed

Instantiates a CDS OData V2 Adapter Proxy Express Router for a CDS-based OData V4 Server:

- **options:** CDS OData V2 Adapter Proxy options object
- **options:** CDS OData V2 Adapter Proxy options object.
- **base:** Base path under which the service is reachable. Default is `''`.
- **path:** Path under which the proxy is reachable. Default is `'v2'`.
- **model:** CDS service model (path(s) or CSN). Default is `'all'`.
- **port:** Target port, which points to OData V4 backend port. Default is process.env.PORT or `4004`.
- **target:** Target, which points to OData V4 backend host/port. Default is e.g. `'http://localhost:4004'`.
- **port:** Target port which points to OData V4 backend port. Default is process.env.PORT or `4004`.
- **target:** Target which points to OData V4 backend host:port. Use `'auto'` to infer the target from server url after listening. Default is e.g. `'http://localhost:4004'`.
- **targetPath:** Target path to which is redirected. Default is `''`.
- **services:** Service mapping object from url path name to service name. Default is `{}`.
- **mtxRemote:** CDS model is retrieved remotely via MTX endpoint for multitenant scenario. Default is `false`.
- **mtxEndpoint:** Endpoint to retrieve MTX metadata when option 'mtxRemote' is active. Default is `'/mtx/v1'`.
- **ieee754Compatible:** `Edm.Decimal` and `Edm.Int64` are serialized IEEE754 compatible. Default is `true`.
- **ieee754Compatible:** Edm.Decimal and Edm.Int64 are serialized IEEE754 compatible. Default is `true`.
- **disableNetworkLog:** Disable networking logging. Default is `true`.
- **fileUploadSizeLimit:** File upload file size limit (in bytes). Default is `10485760` (10 MB).
- **continueOnError:** Indicates to OData V4 backend to continue on error. Default is `false`.
Expand All @@ -223,15 +223,15 @@ Instantiates a CDS OData V2 Adapter Proxy Express Router for a CDS-based OData V
- **isoDateTime:** Use ISO 8601 format for type cds.DateTime (Edm.DateTimeOffset). Default is `false`.
- **isoTimestamp:** Use ISO 8601 format for type cds.Timestamp (Edm.DateTimeOffset). Default is `false`.
- **isoDateTimeOffset:** Use ISO 8601 format for type Edm.DateTimeOffset (cds.DateTime, cds.Timestamp). Default is `false`.
- **bodyParserLimit:** Request and response body parser size limit. Default is '100mb'.
- **returnCollectionNested**: Collection of entity type is returned nested into a `results` section. Default is `true`.
- **bodyParserLimit:** Request and response body parser size limit. Default is `'100mb'`.
- **returnCollectionNested**: Collection of entity type is returned nested into a results section. Default is `true`.
- **returnComplexNested**: Function import return structure of complex type (non collection) is nested using function import name. Default is `true`.
- **returnPrimitiveNested**: Function import return structure of primitive type (non collection) is nested using function import name. Default is `true`.
- **returnPrimitivePlain**: Function import return value of primitive type is rendered as plain JSON value. Default is `true`.
- **messageTargetDefault**: Specifies the message target default, if target is undefined. Default is `/#TRANSIENT#`.
- **caseInsensitive**: Transforms search functions e.g. substringof to case insensitive variant. Default is `false`.
- **messageTargetDefault**: Specifies the message target default, if target is undefined. Default is `'/#TRANSIENT#'`.
- **caseInsensitive**: Transforms search functions i.e. substringof, startswith, endswith to case-insensitive variant. Default is `false`.
- **propagateMessageToDetails**: Propagates root error or message always to details section. Default is `false`.
- **contentDisposition**: Default content disposition for media streams (inline, attachment), if not available or calculated. Default is `attachment`.
- **contentDisposition**: Default content disposition for media streams (inline, attachment), if not available or calculated. Default is `'attachment'`.
- **calcContentDisposition**: Calculate content disposition for media streams even if already available. Default is `false`.
- **quoteSearch**: Specifies if search expression is quoted automatically. Default is `true`.
- **fixDraftRequests**: Specifies if unsupported draft requests are converted to a working version. Default is `false`.
Expand Down
Loading

0 comments on commit 505c8ee

Please sign in to comment.