https://github.com/jaystack/odata-v4-service-metadata
OData V4 Service Metadata Document
https://github.com/jaystack/odata-v4-service-metadata
Last synced: about 2 months ago
JSON representation
OData V4 Service Metadata Document
- Host: GitHub
- URL: https://github.com/jaystack/odata-v4-service-metadata
- Owner: jaystack
- Created: 2016-04-12T16:41:37.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-08-23T07:10:10.000Z (almost 8 years ago)
- Last Synced: 2024-04-24T21:42:02.745Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 70.3 KB
- Stars: 11
- Watchers: 10
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OData V4 Service Metadata Document
Using this module you can generate a service metadata document response from a simple JSON format, an advanced schema JSON format or an Edmx instance created with [odata-v4-metadata](https://github.com/jaystack/odata-v4-metadata).
## Basic usage
Use the simple JSON format and convert your metadata JSON to a service metadata document.
```javascript
var ServiceMetadata = require('odata-v4-service-metadata').ServiceMetadata;// $metadata express.js route
app.get('/odata/\\$metadata', ServiceMetadata.defineEntities({
namespace: 'Default',
containerName: 'Container',
entities: [
{
name: 'Kitten',
collectionName: 'Kittens',
keys: ['Id'],
computedKey: true,
properties: {
Id: 'Edm.String',
Name: 'Edm.String',
Age: 'Edm.Int32',
Lives: 'Edm.Int32',
Owner: 'Edm.String'
},
annotations:[
{ name: 'UI.DisplayName', value: 'Meww' },
{ property: 'Id', name: 'UI.ReadOnly', value: 'true' },
{ property: 'Title', name: 'UI.DisplayName', value: 'Meww Meww' },
]
}
]
}).requestHandler());
```## Advanced usage
Use a schema JSON, which is more verbose, but you can customize the metadata in a more advanced way.
```javascript
var ServiceMetadata = require('odata-v4-service-metadata').ServiceMetadata;
var schema = require('./schema');
var serviceMetadata = ServiceMetadata.processMetadataJson(schema);
var serviceMetadataDocument = serviceMetadata.document();
```An example schema JSON looks like [this](https://raw.githubusercontent.com/jaystack/odata-v4-service-metadata/master/tests/schema2.json)