Overview
Model Definitions are the core building blocks of every dcupl application.
Model Definitions contain all attributes (properties and references) needed in your data structure. Properties represent basic data types like string, int, float, ... whereas references describe the relations between the models. Model Definitions may also specify predefined functionality regarding the attributes like filtering, searching, aggregation, calculating relationships and many more.
Our powerful Visual Studio Code plugin, along with the included JSON schema, provides comprehensive support for dcupl CLI workspaces, offering static syntax checks and seamless autocompletion. Simply ensure your files are named with the *.dcupl.json
extension to take advantage of this powerful feature and streamline your development workflow.
The key
is a unique identifier in its own boundary zone. This means that a model key is unique across all models. Property and reference keys have to be unique within a model.
Properties​
A property describes the characteristics of an model. The following data types are currently supported:
type | filter | aggregations | singleValued derive | multiValued derive |
---|---|---|---|---|
string | ✅ | ✅ | ✅ | ✅ |
int | ✅ | ✅ | ✅ | ✅ |
float | ✅ | ✅ | ✅ | ✅ |
date | ✅ | ✅ | ✅ | ✅ |
boolean | ✅ | ✅ | ✅ | ✅ |
json | ✅ | coming soon | ✅ | coming soon |
any | ✅ | coming soon | ✅ | coming soon |
Array<string> | ✅ | ✅ | ✅ | ✅ |
Array<int> | ✅ | ✅ | ✅ | ✅ |
Array<float> | ✅ | ✅ | ✅ | ✅ |
Array<date> | ✅ | ✅ | ✅ | ✅ |
References​
A reference describes the relation between different models respectively entities and the associations of them.
"references": [
{
"key": "book_ids",
"model": "book",
"type": "multiValued"
}
]
type | filter | aggregations | singleValued derive | multiValued derive |
---|---|---|---|---|
singleValued | ✅ | ✅ | ✅ | ✅ |
multiValued | ✅ | ✅ | ✅ | ✅ |