Skip to main content

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.

tip

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:

typefilteraggregationssingleValued derivemultiValued 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"
}
]

typefilteraggregationssingleValued derivemultiValued derive
singleValued✅✅✅✅
multiValued✅✅ ✅✅