Data Model
Cross Node-Relational Data Model
Data Model that shows which database components are stored in and their postgres data types.
Account
Account is the main entity that holds all the data for the user. This includes the user's name, data, and the ingestion ID.
Name | Type | Postgres | Node | Constraints | Description |
---|---|---|---|---|---|
ID | UUID | ✔ | ✔ | PRIMARY KEY | Unique identifier for the account. |
Name | TEXT | ✔ | ✔ | NOT NULL | The name of the account. |
Type | TEXT | ✔ | ✔ | NOT NULL | The type or category of the account. |
Data | JSONB | ✔ | ✔ | Optional | Metadata or additional information about the account. |
Ingestion ID | TEXT | ✔ | ✔ | Optional | The ID used for ingestion tracking. |
Created At | TIMESTAMP | ✔ | ✔ | NOT NULL | Timestamp when the account was created. |
Updated At | TIMESTAMP | ✔ | ✔ | NOT NULL | Timestamp when the account was last updated. |
Role
Role is the entity that holds the user's role. This includes the user's role name and the user's ID.
Name | Type | Postgres | Node | Constraints | Description |
---|---|---|---|---|---|
ID | UUID | ✔ | ✔ | PRIMARY KEY | Unique identifier for the role. |
Name | TEXT | ✔ | ✔ | NOT NULL | The name of the role. |
Description | TEXT | ✔ | ✔ | Optional | Detailed description of the role. |
Data | JSONB | ✔ | ✘ | Optional | Metadata or additional information about the role. |
Created At | TIMESTAMP | ✔ | ✘ | NOT NULL | Timestamp when the role was created. |
Updated At | TIMESTAMP | ✔ | ✘ | NOT NULL | Timestamp when the role was last updated. |
Assignment
Assignment is the entity that holds the relationship between two nodes.
Name | Type | Postgres | Node | Constraints | Description |
---|---|---|---|---|---|
ID | UUID | ✔ | ✘ | PRIMARY KEY | Unique identifier for the assignment. |
Account ID | UUID | ✔ | ✘ | NOT NULL, FOREIGN KEY REFERENCES account(id) ON DELETE CASCADE | Foreign key linking to the Account entity. |
Role ID | UUID | ✔ | ✘ | NOT NULL, FOREIGN KEY REFERENCES role(id) ON DELETE CASCADE | Foreign key linking to the Role entity. |
Relationship | TEXT | ✔ | ✘ | NOT NULL | Defines the type of relationship between the account and role. |
Properties | JSONB | ✔ | ✘ | Optional | Additional properties for the assignment. |
Created At | TIMESTAMP | ✔ | ✘ | NOT NULL | Timestamp when the assignment was created. |
Updated At | TIMESTAMP | ✔ | ✘ | NOT NULL | Timestamp when the assignment was last updated. |
Version ID | UUID | ✔ | ✘ | Optional | Tracks the version of the assignment entity. |
Mapping
Mapping is the entity that holds the relationship between two fields.
Name | Type | Postgres | Node | Constraints | Description |
---|---|---|---|---|---|
ID | UUID | ✔ | ✘ | PRIMARY KEY | Unique identifier for the mapping entry. |
Point ID | TEXT | ✔ | ✘ | NOT NULL | Associated ingestion point ID. |
XML Data | TEXT | ✔ | ✘ | NOT NULL | Serialized XML data stored as a string. |
Created At | TIMESTAMP WITH TIME ZONE | ✔ | ✘ | NOT NULL | Timestamp when the mapping was created. |
Updated At | TIMESTAMP WITH TIME ZONE | ✔ | ✘ | NOT NULL | Timestamp when the mapping was last updated. |
System
System is the entity that holds the system's information. This includes the system's name, description, and the system's ID.
Name | Type | Postgres | Node | Constraints | Description |
---|---|---|---|---|---|
ID | UUID | ✔ | ✔ | PRIMARY KEY | Unique identifier for the system entity. |
Name | TEXT | ✔ | ✔ | NOT NULL | Name of the system. |
Type | TEXT | ✔ | ✔ | NOT NULL | Type or purpose of the system. |
Credentials | JSONB | ✔ | ✘ | Optional | System-wide credentials stored as JSON. |
Secure Credentials | JSONB | ✔ | ✘ | Optional | Sensitive credentials stored securely as JSON. |
Data | JSONB | ✔ | ✔ | Optional | Additional metadata for the system. |
Created At | TIMESTAMP WITH TIME ZONE | ✔ | ✔ | NOT NULL | Timestamp when the system was created. |
Updated At | TIMESTAMP WITH TIME ZONE | ✔ | ✔ | NOT NULL | Timestamp when the system was last updated. |
Version ID | UUID | ✔ | ✔ | Optional | Tracks the version of the system entity. |