Postgres
Auto-generated documentation from TypeORM entities.
Entities are located in ../packages/backend-common/src/entities.
AccessGroupEntity (access_group)
Defined in: auth/access-group.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | |
memberships | GroupMembershipEntity[] | OneToMany | |
project_accesses | ProjectAccessEntity[] | OneToMany | |
mission_accesses | MissionAccessEntity[] | OneToMany | |
type | enum | Not Null | |
creator | UserEntity | FK, Nullable | |
hidden | boolean | Not Null | A hidden access group is not returned in any search queries. Hidden access groups may still be accessed by referenced by UUID (e.g., when listing groups with access to a project). |
AccountEntity (account)
Defined in: auth/account.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
provider | enum | Not Null | |
user | UserEntity | Nullable | |
oauthID | string | Not Null |
ActionEntity (action)
Defined in: action/action.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
state | enum | Not Null | |
container | Container | Nullable | |
creator | UserEntity | FK, Nullable | |
state_cause | string | Nullable | |
executionStartedAt | Date | Nullable | |
executionEndedAt | Date | Nullable | |
actionContainerStartedAt | Date | Nullable | |
actionContainerExitedAt | Date | Nullable | |
mission | MissionEntity | FK, Nullable | |
logs | ContainerLog[] | Nullable | |
auditLogs | unknown[] | Nullable | |
exit_code | number | Nullable | |
artifact_path | string | Nullable | |
artifacts | enum | Not Null | |
artifact_size | number | Nullable | |
artifact_files | string[] | Nullable | |
key | ApiKeyEntity | Nullable | |
template | ActionTemplateEntity | FK, Nullable | |
image | Image | Nullable | |
worker | WorkerEntity | FK, Nullable |
ActionTemplateEntity (action_template)
Defined in: action/action-template.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
image_name | string | Not Null | |
name | string | Not Null | |
description | string | Not Null | |
creator | UserEntity | FK, Not Null | |
command | string | Nullable | |
actions | ActionEntity[] | OneToMany | |
version | number | Not Null | |
isArchived | boolean | Not Null | |
cpuCores | number | Not Null | |
cpuMemory | number | Not Null | |
gpuMemory | number | Not Null | |
maxRuntime | number | Not Null | |
entrypoint | string | Nullable | |
accessRights | enum | Not Null |
ApiKeyEntity (apikey)
Defined in: auth/api-key.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
apikey | string | Not Null | |
key_type | enum | Not Null | |
mission | MissionEntity | FK, Not Null | |
action | ActionEntity | Nullable | |
user | UserEntity | FK, Nullable | |
rights | enum | Not Null |
BaseEntity (BaseEntity)
Defined in: base-entity.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
uuid | uuid (PK) | Not Null | Unique UUID for the entity |
createdAt | timestamp | Not Null | Timestamp of when the entity was created |
updatedAt | timestamp | Not Null | Timestamp of when the entity was last updated |
deletedAt | Date | Nullable | Timestamp of when the entity was deleted. This field is used to soft-delete entities. |
CategoryEntity (category)
Defined in: category/category.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | |
project | ProjectEntity | FK, Nullable | |
files | FileEntity[] | ManyToMany | |
creator | UserEntity | FK, Nullable |
FileEntity (file_entity)
Defined in: file/file.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
mission | MissionEntity | FK, Nullable | |
date | Date | Not Null | |
topics | TopicEntity[] | OneToMany | |
filename | string | Not Null | |
size | bigint | Nullable | |
creator | UserEntity | FK, Nullable | The user who uploaded the file. |
type | enum | Not Null | |
state | enum | Not Null | |
hash | string | Nullable | |
categories | CategoryEntity[] | ManyToMany | |
parent | FileEntity | FK, Nullable | The parent file this file was derived from. e.g., If this is a .mcap converted from a .bag, the .bag is the parent. |
derivedFiles | FileEntity[] | OneToMany | Files derived from this file. |
origin | enum | Nullable |
FileEventEntity (file_event)
Defined in: file/file-event.entity.ts
Indices
| Index Definition |
|---|
Column mission: @Index() |
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
uuid | string | Not Null | |
createdAt | timestamp | Not Null | |
type | enum | Not Null | |
details | jsonb | Not Null | JSON payload for specific details. e.g. { oldName: "foo.bag", newName: "bar.bag" } or |
filenameSnapshot | string | Not Null | Snapshot of the filename at the time of the event. Useful if the FileEntity is deleted later. |
actor | UserEntity | FK, Nullable | |
file | FileEntity | FK, Nullable | Relation to the file. CHANGED: onDelete set to CASCADE to delete this event if the file is deleted. |
mission | MissionEntity | FK, Nullable | Relation to Mission. Useful for filtering logs by mission even if the file is gone. |
action | ActionEntity | FK, Nullable |
GroupMembershipEntity (group_membership)
Defined in: auth/group-membership.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
accessGroup | AccessGroupEntity | FK, Nullable | |
user | UserEntity | FK, Nullable | |
expirationDate | Date | Nullable | The expiration date of the group membership. If the expiration data is set, the user will be treated as if they were not part of the group after the expiration date. If the expiration date is not set, the user will be treated as part of the group indefinitely. |
canEditGroup | boolean | Not Null | If the user is a group admin, they can manage the group. Group admins can add and remove users from the group. |
IngestionJobEntity (ingestion_job)
Defined in: file/ingestion-job.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
identifier | string | Not Null | The unique identifier of the file. This is the Google Drive ID for files imported from Google Drive or the UUID for file entities created in the system for files uploaded. |
displayName | string | Not Null | The name of the file as displayed to the user in the queue list |
state | enum | Not Null | |
mission | MissionEntity | FK, Nullable | |
location | enum | Not Null | |
processingDuration | number | Nullable | |
errorMessage | string | Nullable | Error message if the ingestion failed. |
creator | UserEntity | FK, Nullable | |
file | FileEntity | FK, Nullable | Link to the actual FileEntity once created. This allows us to easily join Queue -> File. CHANGED: onDelete set to CASCADE to delete this job if the file is deleted. |
MetadataEntity (tag)
Defined in: metadata/metadata.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
value_string | string | Nullable | |
value_number | number | Nullable | |
value_boolean | boolean | Nullable | |
value_date | Date | Nullable | |
value_location | string | Nullable | |
mission | MissionEntity | FK, Nullable | |
tagType | TagTypeEntity | FK, Nullable | |
creator | UserEntity | FK, Nullable |
MissionAccessEntity (mission_access)
Defined in: auth/mission-access.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
rights | enum | Not Null | |
accessGroup | AccessGroupEntity | FK, Nullable | |
mission | MissionEntity | FK, Nullable |
MissionEntity (mission)
Defined in: mission/mission.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | |
project | ProjectEntity | FK, Nullable | |
files | FileEntity[] | OneToMany | |
actions | ActionEntity[] | OneToMany | |
ingestionJobs | IngestionJobEntity[] | OneToMany | |
creator | UserEntity | FK, Nullable | |
api_keys | ApiKeyEntity[] | OneToMany | |
mission_accesses | MissionAccessEntity[] | OneToMany | |
tags | MetadataEntity[] | OneToMany |
ProjectAccessEntity (project_access)
Defined in: auth/project-access.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
rights | enum | Not Null | |
accessGroup | AccessGroupEntity | FK, Nullable | |
project | ProjectEntity | FK, Nullable |
ProjectEntity (project)
Defined in: project/project.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | The name of the project. This is the name that will be displayed in the UI. The name must be globally unique. |
missions | MissionEntity[] | OneToMany | |
project_accesses | ProjectAccessEntity[] | OneToMany | |
description | string | Not Null | |
creator | UserEntity | FK, Nullable | |
requiredTags | TagTypeEntity[] | ManyToMany | |
categories | CategoryEntity[] | OneToMany | |
autoConvert | boolean | Nullable |
TagTypeEntity (tag_type)
Defined in: tagType/tag-type.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | |
description | string | Nullable | |
datatype | enum | Not Null | |
project | ProjectEntity[] | ManyToMany | |
tags | MetadataEntity[] | OneToMany |
TopicEntity (topic)
Defined in: topic/topic.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | |
type | string | Not Null | |
nrMessages | bigint | Nullable | |
messageEncoding | string | Not Null | |
frequency | number | Not Null | |
file | FileEntity | FK, Nullable |
UserEntity (user)
Defined in: user/user.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
name | string | Not Null | The name of the user. This is the name that will be displayed in the UI. The name gets automatically extracted from the oauth provider. @example 'John Doe' |
email | string | Nullable | The email of the user. This is the email that will be displayed in the UI. The email gets automatically extracted from the oauth provider. @example 'john.doe@example.com' The email is unique and cannot be changed. |
role | enum | Nullable | The role of the user. The role determines what the user can do in the application. @example 'USER' @see UserRole |
hidden | boolean | Nullable | A hidden user is not returned in any search queries. Hidden users may still be accessed by their UUID (e.g., when listing group memberships). |
avatarUrl | string | Nullable | The avatar url of the user. This is the url of the avatar that will be displayed in the UI. The avatar url gets automatically extracted from the oauth provider. @example 'https://example.com/avatar.jpg' |
account | AccountEntity | Nullable | |
memberships | GroupMembershipEntity[] | OneToMany | |
projects | ProjectEntity[] | OneToMany | |
missions | MissionEntity[] | OneToMany | |
files | FileEntity[] | OneToMany | |
queues | IngestionJobEntity[] | OneToMany | |
submittedActions | ActionEntity[] | OneToMany | |
templates | ActionTemplateEntity[] | OneToMany | |
tags | MetadataEntity[] | OneToMany | |
api_keys | ApiKeyEntity[] | OneToMany | |
categories | CategoryEntity[] | OneToMany |
WorkerEntity (worker)
Defined in: worker/worker.entity.ts
Columns
| Column | Type | Constraints | Description |
|---|---|---|---|
identifier | string | Not Null | |
hostname | string | Not Null | |
cpuMemory | number | Not Null | |
gpuModel | string | Nullable | |
gpuMemory | number | Not Null | |
cpuCores | number | Not Null | |
cpuModel | string | Not Null | |
storage | number | Not Null | |
lastSeen | Date | Not Null | |
reachable | boolean | Not Null | |
actions | ActionEntity[] | OneToMany |