Logical Datamodel
Introduction
The purpose of this deliverable is to describe the logical data-entities that are part of the solutions domain together the relationship between them.
The target audience of the deliverable are:
The developers, who need to understand the design, and prepare the detailed design and eventually implement the solution
Participants and decision-makers from the customer who are responsible for the functional design
Scope
This is not a database model, but a logical model of the relationship between business objects.
Logical Datamodel
Entity metadata
Unique identifier
Each entity has an id attribute, which is a persistent unique identifier for an object. This will never change for an object. The identifier is only unique for this entity, meaning that object of different entities can have the same id value.
Temporal values
Data in OS2iot is non-temporal. Each entity has “createdAt” and “updatedAt” attributes which contains the date and time an object was created and last modified, respectively. If an object has been created but not modified, “createdAt” and “updatedAt” contain the same values.
Each entity also has “createdBy” and “updatedBy” attributes, which contain the username of the user that created the object and the last person to modify an object. If an object has been created but not modified, “createdAt” and “updatedAt” contain the same values.
Enumerations
This section contains the relevant enumerations in OS2iot.
PermissionLevel
Read
OrganizationUserAdmin
OrganizationGatewayAdmin
OrganizationApplicationAdmin
GlobalAdmin
ActionType
These are the types of action which can be part of the AuditLog.
DELETE
CREATE
UPDATE
SearchResultType
Gateway
IoTDevice
Application
DataTargetType
HttpPush
Fiware
MQTT
OpenDataDK
IoTDeviceType
GenericHttp
LoRaWAN
SigFox
MQTTInternalBroker
MQTTExternalBroker
ErrorCodes
IdDoesNotExists
IdMissing
NameInvalidOrAlreadyInUse
IdInvalidOrAlreadyInUse
InvalidApiKey
InvalidPost
WrongLength
NotValidFormat
BadEncoding
MissingOTAAInfo
MissingABPInfo
UserAlreadyExists
OrganizationAlreadyExists
OrganizationDoesNotExists
OrganizationDoesNotMatch
UserInactive
NotSameApplication
PasswordNotMetRequirements
SigFoxBadLogin
GatewayIdNotAllowedInUpdate
GroupCanOnlyBeCreatedOncePrOrganization
DeviceDoesNotExistInSigFoxForGroup
DownlinkNotSupportedForDeviceType
DownlinkLengthWrongForSigfox
OnlyAllowedForLoRaWANAndSigfox
DeviceIsNotActivatedInChirpstack
QueryMustNotBeEmpty
IsUsed
CannotModifyOnKombitUser
SigfoxError
NoData
MissingRole
DeleteNotAllowedItemIsInUse
DeleteNotAllowedHasSigfoxDevice
DeleteNotAllowedHasLoRaWANDevices
KOMBITLoginFailed
KafkaTopic
RAW_REQUEST
TRANSFORMED_REQUEST
ActivationType
NONE
OTAA
ABP
PermissionType
GlobalAdmin
OrganizationApplicationAdmin
OrganizationGatewayAdmin
OrganizationUserAdmin
Read
SendStatus
OK
ERROR
SigFoxDownlinkMode
DIRECT
CALLBACK
NONE
MANAGED
SigFoxPayloadType
RegularRawPayload
CustomGrammar
Geolocation
DisplayInASCII
RadioPlanningFrame
Sensitv2
AuthenticationType
PASSWORD
CERTIFICATE