Update{Hub,Link}Satellite - PUT
|
Path |
/api/projects/{projectId}/model/{parentEntityType}/{hubId,linkId}/satellites/{satelliteId} |
|---|---|
|
Http Method |
PUT |
Overview
Required permissions
-
Write access to the Build module. BUILD WRITE
Request
Path parameters
|
Parameter |
Type |
Required |
Description |
Example |
|---|---|---|---|---|
|
parentEntityType |
string |
yes |
|
|
|
hubId |
string |
yes (for hubs) |
The id of the hub this satellite is linked to. |
|
|
linkId |
string |
yes (for links) |
The id of the link this satellite is linked to. |
|
Request body
{
"name": "MySatellite2",
"technicalDescription": "my satellite technical description",
"businessDescription": "my satellite business description",
"columns": [
{
"businessName": "Column one business name",
"columnName": "column1",
"dataType": "String",
"defaultValue": "one",
"description": "The description of coolumn 1",
"required": true,
"order": 0,
"length": 50,
"precision": 10,
"scale": 5,
"isComputed": false,
"isSequence": false
},
{
"businessName": "Column two business name",
"columnName": "column2",
"dataType": "String",
"defaultValue": null,
"description": "The description of coolumn 2",
"required": false,
"order": 1,
"length": 50,
"precision": null,
"scale": null,
"isComputed": true,
"isSequence": true
}
],
"isMultiActive": true,
"subsequenceColumnName": "column2"
}
Field descriptions
|
Field |
Type |
Required |
Description |
Constraints |
|---|---|---|---|---|
|
name |
string |
yes |
The name of the satellite. |
should be unique |
|
technicalDescription |
string |
no |
The technical description of the satellite. |
|
|
businessDescription |
string |
no |
The business description of the satellite. |
|
|
isMultiActive |
boolean |
yes |
Whether or not this satellite is multi-active. i.e. whether several satellite entries for the same hash key can be valid. |
|
|
subsequenceColumnName |
string |
no |
If the satellite is multi-active, and this is null, the satellite will be a classical VTCP satellite. All data loads will create new entries for the satellite. If this points to the |
Has to be the name of a column that exists. |
|
columns |
array of objects |
yes |
The list of columns of the satellite. |
|
|
columns.businessName |
string |
no |
The business name of the column. |
|
|
columns.columnName |
string |
yes |
The name of the column. |
|
|
columns.defaultValue |
string |
no |
The default value of the column, i.e. the DEFAULT database values. |
|
|
columns.description |
string |
no |
The description of the column. |
|
|
columns.required |
boolean |
yes |
If true, the column should contain a value, i.e. NOT NULL. In practice, this is informative, as all columns in a satellite are forced to be nullable. |
|
|
columns.order |
integer |
true |
The index of the column. |
Should be unique. |
|
columns.dataType |
string |
yes |
The name of the type of the column. This is one of .NET’s |
|
|
columns.length |
integer |
no |
The length of the type. |
Relevant for column types that have length, like char or byte strings. |
|
columns.precision |
integer |
no |
The precision of the type. |
Relevant for column types that have precision like decimal. |
|
columns.scale |
integer |
no |
The scale of the type. |
Relevant for column types that have scale like decimal. |
|
columns.isComputed |
boolean |
yes |
Saved, but purely informative |
|
|
columns.isSequence |
boolean |
yes |
Saved, but purely informative |
|
Response
Success response (200 OK)
{
"_embedded": {
"columns": [
{
"id": "3e54e05a-43fa-41f7-ac16-cef06a008d2d",
"columnName": "column1",
"dataType": "String",
"typeFullName": "VARCHAR(50)",
"businessName": "Column one business name",
"description": "The description of coolumn 1",
"required": true,
"defaultValue": "one",
"order": 0,
"length": 50,
"precision": 10,
"scale": 5,
"isSequence": false,
"isComputed": false
},
{
"id": "d9e8f373-02ac-4665-adc6-9c034865864c",
"columnName": "column2",
"dataType": "String",
"typeFullName": "VARCHAR(50)",
"businessName": "Column two business name",
"description": "The description of coolumn 2",
"required": false,
"order": 1,
"length": 50,
"isSequence": true,
"isComputed": true
}
]
},
"id": "3e252928-0470-4334-8026-6ac2d3fc1260",
"name": "Employee_MySatellite2",
"displayName": "MySatellite2",
"businessDescription": "my satellite business description",
"technicalDescription": "my satellite technical description",
"deployedInProduction": false,
"entityType": "Satellite",
"tableName": "dv.mash_Employee_MySatellite2",
"isMultiActive": true,
"subSequenceColumn": {
"id": "d9e8f373-02ac-4665-adc6-9c034865864c",
"columnName": "column2",
"dataType": "String",
"typeFullName": "VARCHAR(50)",
"businessName": "Column two business name",
"description": "The description of coolumn 2",
"required": false,
"order": 1,
"length": 50,
"isSequence": true,
"isComputed": true
}
}
Response fields
|
Field |
Type |
Description |
|---|---|---|
|
id |
string |
The app-generated id of the satellite. |
|
name |
string |
The name of the satellite, as used in the database. |
|
displayName |
string |
The chosen name of the satellite. |
|
businessDescription |
string |
The business description of the satellite. |
|
technicalDescription |
string |
The technical description of the satellite. |
|
deployedInProduction |
boolean |
deprecated always false |
|
entityType |
string |
always “Satellite” |
|
tableName |
string |
The default technical name that will be used when trying to deploy this entity’s table. |
|
isMultiActive |
boolean |
Whether or not this satellite is multi-active. i.e. whether several satellite entries for the same hash key can be valid. |
|
subSequenceColumn |
object |
If the satellite is multi-active, and this is null, the satellite is a classical VTCP satellite. If this is one of the satellite’s columns, the satellite will be a delta-driven satellite. For detials about this object’s fields, see the |
|
_embedded.columns |
array of objects |
List of the satellite’s columns. |
|
_embedded.columns.id |
string |
The app-generated unique id of the column. |
|
_embedded.columns.columnName |
string |
The name of the column. |
|
_embedded.columns.dataType |
string |
The name of the type of the column. This is one of .NET’s |
|
_embedded.columns.typeFullName |
string |
Return a string representation of the underlying column type, related to classical SQL types, and is used for display. This representation is unrelated to the actual underlying database. |
|
_embedded.columns.businessName |
string |
The business name of the column. |
|
_embedded.columns.description |
string |
The description of the column. |
|
_embedded.columns.required |
boolean |
If true, the column should contain a value, i.e. NOT NULL. In practice, this is informative, as all columns in a satellite are forced to be nullable. |
|
_embedded.columns.defaultValue |
string |
The default value of the column, i.e. the DEFAULT database values. |
|
_embedded.columns.order |
integer |
The index of the column. |
|
_embedded.columns.length |
integer |
The length of the type. |
|
_embedded.columns.precision |
integer |
The precision of the type. |
|
_embedded.columns.scale |
integer |
The scale of the type. |
|
_embedded.columns.isSequence |
boolean |
Not used. |
|
_embedded.columns.isComputed |
boolean |
Not used. |