Schema URL

Type: object

Make agile applications without technical debt

Properties

boundedContextName string required

The name of the package, singular in kebab-case

minLength=2
moduleName string required

The name of the module, singular in kebab-case

minLength=2
moduleNames string required

The name of the module, plural in kebab-case

minLength=2
aggregateName string required

The name of the aggregateName, singular in PascalCase

minLength=2
version string

Schema version

Default: "0.0.1"
minLength=2
hasOAuth boolean

Enabled authentication for this module

Default: false
hasTenant boolean

Enabled tenant for this module

Default: false
hasAuditing boolean

Enabled auditing for this module

Default: false
front object

Appearance properties for front application

4 nested properties
outlineFontSetIcon string

Font set outline icon to be used in the front application, example: material-symbols-outlined

minLength=2
outlineIcon string

Outline icon to be used in the front application, example: heroicons_solid:tag

minLength=2
solidFontSetIcon string

Font set solid icon to be used in the front application, example: material-symbols-outlined

minLength=2
solidIcon string

Solid icon to be used in the front application, example: heroicons_solid:tag

minLength=2
aggregateProperties property[]
additionalApis apiDefinition[]
excludedFiles string[]
excludedOperations enum[]

Definitions

property object
name string required

The name of property, in camelCase

minLength=2
type string required

The type of property

Values: "array" "bigint" "blob.long" "blob.medium" "blob.tiny" "blob" "boolean" "char" "date" "decimal" "enum" "float" "id" "int" "json" "jsonb" "manyToMany" "password" "relationship" "smallint" "text" "timestamp" "varchar"
arrayOptions object

Options to define array property

4 nested properties
type string required

The type of property

Values: "char" "date" "decimal" "enum" "id" "int" "timestamp" "varchar"
length number

Set max length to property

min=1
maxLength number

Set max length to property

min=1
enumOptions string[]

Values for enum type

length number

Set max length to property

min=1
maxLength number

Set max length to property

min=1
nullable boolean

Set property to nullable

unsigned boolean

Set property like unsigned

primaryKey boolean

Set property to primary key

index string

To define property like a index

Values: "index" "unique"
indexFields string[]

Fields to do composite unique index

indexName string

The name of index, if there are various indexes with the same name, they will be grouped

minLength=2
isI18n boolean

Set property as i18n, this property will be used to translate the entity in the translation table

enumOptions string[]

Values for enum type

defaultValue string | number | boolean

Default value for property

example number | string | boolean | array

Example value for property, this value will be used in swagger documentation

decimals number[]

Total digits of the number and length of the decimal places in the back of the number, example: [10, 2].

autoIncrement boolean

Set number property as auto increment

relationship object

Relationship definition for this property

10 nested properties
type string

The type of web component

Values: "many-to-many" "many-to-one" "none" "one-to-many" "one-to-one"
singularName string

Singular name of the property referred to in the relationship, only for one-to-many and many-to-many relationship, example: book

minLength=2
aggregateName string

Aggregate referring to this relationship, example: LibraryAuthor

minLength=2
modulePath string

Path to the module that refers to this relationship, example: library/author

minLength=2
key string

Property key that refers to this relationship, only for many-to-one relationship, example: id

minLength=2
field string

Field to obtain the relationship data, example: author

minLength=2
avoidConstraint boolean

Avoid constraint rules for this relationship

packageName string

Path to packageName where is the relationship, example: @aurora-ts/core

minLength=2
isDenormalized boolean

Set many-to-many relationship as denormalized, creating a field to store the selected ids

pivot object

Relationship pivot table definition for this relationship

9 nested properties
boundedContextName string

The name of the package, singular in kebab-case

minLength=2
moduleName string

The name of the module, singular in kebab-case

minLength=2
moduleNames string

The name of the module, plural in kebab-case

minLength=2
aggregateName string

The name of the aggregateName, singular in PascalCase

minLength=2
hasOAuth boolean

Enabled authentication for this pivot table

Default: false
hasAuditing boolean

Enabled auditing for pivot table

Default: false
aggregateProperties property[]
excludedFiles string[]
excludedOperations enum[]
webComponent object

Web Component that wil be rendered for this property

6 nested properties
type string

The type of web component

Values: "async-search-multiple-select" "async-search-select" "grid-elements-manager" "grid-select-element" "grid-select-multiple-elements" "multiple-select" "search-multiple-select" "search-select" "select"
className string

CSS class for web component

minLength=2
detailSort number

Web component order on detail view

min=1
listSort number

Web component order on list view

min=1
isListHidden boolean

Set hidden web component on list view

isDetailHidden boolean

Set hidden web component on detail view

apiDefinition object
path string required

Path to access api

minLength=2
resolverType string required

Type of resolver, query or mutation

Values: "query" "mutation"
httpMethod string required

Verb of api rest

Values: "get" "post" "put" "delete" "patch"
relationship object

Relationship definition for this property

type string

The type of web component

Values: "many-to-many" "many-to-one" "none" "one-to-many" "one-to-one"
singularName string

Singular name of the property referred to in the relationship, only for one-to-many and many-to-many relationship, example: book

minLength=2
aggregateName string

Aggregate referring to this relationship, example: LibraryAuthor

minLength=2
modulePath string

Path to the module that refers to this relationship, example: library/author

minLength=2
key string

Property key that refers to this relationship, only for many-to-one relationship, example: id

minLength=2
field string

Field to obtain the relationship data, example: author

minLength=2
avoidConstraint boolean

Avoid constraint rules for this relationship

packageName string

Path to packageName where is the relationship, example: @aurora-ts/core

minLength=2
isDenormalized boolean

Set many-to-many relationship as denormalized, creating a field to store the selected ids

pivot object

Relationship pivot table definition for this relationship

9 nested properties
boundedContextName string

The name of the package, singular in kebab-case

minLength=2
moduleName string

The name of the module, singular in kebab-case

minLength=2
moduleNames string

The name of the module, plural in kebab-case

minLength=2
aggregateName string

The name of the aggregateName, singular in PascalCase

minLength=2
hasOAuth boolean

Enabled authentication for this pivot table

Default: false
hasAuditing boolean

Enabled auditing for pivot table

Default: false
aggregateProperties property[]
excludedFiles string[]
excludedOperations enum[]
webComponent object

Web Component that wil be rendered for this property

type string

The type of web component

Values: "async-search-multiple-select" "async-search-select" "grid-elements-manager" "grid-select-element" "grid-select-multiple-elements" "multiple-select" "search-multiple-select" "search-select" "select"
className string

CSS class for web component

minLength=2
detailSort number

Web component order on detail view

min=1
listSort number

Web component order on list view

min=1
isListHidden boolean

Set hidden web component on list view

isDetailHidden boolean

Set hidden web component on detail view

excludedOperationValues enum[]
front object

Appearance properties for front application

outlineFontSetIcon string

Font set outline icon to be used in the front application, example: material-symbols-outlined

minLength=2
outlineIcon string

Outline icon to be used in the front application, example: heroicons_solid:tag

minLength=2
solidFontSetIcon string

Font set solid icon to be used in the front application, example: material-symbols-outlined

minLength=2
solidIcon string

Solid icon to be used in the front application, example: heroicons_solid:tag

minLength=2
pivotTable object

Relationship pivot table definition for this relationship

boundedContextName string

The name of the package, singular in kebab-case

minLength=2
moduleName string

The name of the module, singular in kebab-case

minLength=2
moduleNames string

The name of the module, plural in kebab-case

minLength=2
aggregateName string

The name of the aggregateName, singular in PascalCase

minLength=2
hasOAuth boolean

Enabled authentication for this pivot table

Default: false
hasAuditing boolean

Enabled auditing for pivot table

Default: false
aggregateProperties property[]
excludedFiles string[]
excludedOperations enum[]