Files
Termix/drizzle/postgres/meta/0016_snapshot.json
ZacharyZcR 81d79cc89b feat: collaboration rooms with switchable presenter (#1328)
* feat: add collaboration rooms with switchable presenter

Rooms are a group of members watching one stage - the live SSH/RDP/VNC
session the current presenter shares. Any member can take over the
stage; the host can invite, force-stop and end the meeting. Stages
reuse session_shares (new room share type), so gating, recording,
expiry and the global sharing toggle all apply unchanged.

* feat: add stage control handoff to collaboration rooms

The presenter or host can grant any member write access to the live
stage and take it back; members can raise a hand to ask. SSH flips the
participant's permission on the live gate; RDP/VNC re-mint the viewer's
join token. Control clears on every stage switch.

* feat: guest links, role invites and invite awareness for collab rooms

- Anonymous guest link per room (host toggles/rotates), followed by
  polling the public resolve endpoint; SSH guests join over the terminal
  WS with roomGuestToken, guac guests get read-only join tokens
- Invite by role (expands to current members, snapshot semantics)
- Toast when a room you were invited to appears
- Stale stages are cleared lazily when the presenter is gone
- Telnet presenting, expired-tab fallback, documented single-instance
  and guac-kick limits
- Tests for the collab routes, room hub, share access and control flip

* fix: keep remote desktop collaboration read-only
2026-08-25 00:56:04 +08:00

8755 lines
225 KiB
JSON

{
"id": "6ca8cc9c-18bc-4c6a-bbac-c47a7b1bb62c",
"prevId": "8c795c60-00fb-4933-8074-99603c79cac3",
"version": "7",
"dialect": "postgresql",
"tables": {
"public.ai_conversations": {
"name": "ai_conversations",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"title": {
"name": "title",
"type": "text",
"primaryKey": false,
"notNull": false
},
"provider_id": {
"name": "provider_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"model": {
"name": "model",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ai_conversations_user": {
"name": "idx_ai_conversations_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "updated_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ai_conversations_user_id_users_id_fk": {
"name": "ai_conversations_user_id_users_id_fk",
"tableFrom": "ai_conversations",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ai_messages": {
"name": "ai_messages",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"conversation_id": {
"name": "conversation_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"role": {
"name": "role",
"type": "text",
"primaryKey": false,
"notNull": true
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "''"
},
"tool_calls": {
"name": "tool_calls",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ai_messages_conversation": {
"name": "idx_ai_messages_conversation",
"columns": [
{
"expression": "conversation_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "created_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ai_messages_conversation_id_ai_conversations_id_fk": {
"name": "ai_messages_conversation_id_ai_conversations_id_fk",
"tableFrom": "ai_messages",
"tableTo": "ai_conversations",
"columnsFrom": [
"conversation_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ai_proposals": {
"name": "ai_proposals",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"conversation_id": {
"name": "conversation_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"kind": {
"name": "kind",
"type": "text",
"primaryKey": false,
"notNull": true
},
"summary": {
"name": "summary",
"type": "text",
"primaryKey": false,
"notNull": false
},
"payload": {
"name": "payload",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'{}'"
},
"status": {
"name": "status",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "'pending'"
},
"applied_at": {
"name": "applied_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"result_summary": {
"name": "result_summary",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ai_proposals_user": {
"name": "idx_ai_proposals_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "status",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_ai_proposals_conversation": {
"name": "idx_ai_proposals_conversation",
"columns": [
{
"expression": "conversation_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ai_proposals_conversation_id_ai_conversations_id_fk": {
"name": "ai_proposals_conversation_id_ai_conversations_id_fk",
"tableFrom": "ai_proposals",
"tableTo": "ai_conversations",
"columnsFrom": [
"conversation_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"ai_proposals_user_id_users_id_fk": {
"name": "ai_proposals_user_id_users_id_fk",
"tableFrom": "ai_proposals",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ai_providers": {
"name": "ai_providers",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"provider_type": {
"name": "provider_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"label": {
"name": "label",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"base_url": {
"name": "base_url",
"type": "text",
"primaryKey": false,
"notNull": false
},
"api_key": {
"name": "api_key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"api_key_prefix": {
"name": "api_key_prefix",
"type": "text",
"primaryKey": false,
"notNull": false
},
"default_model": {
"name": "default_model",
"type": "text",
"primaryKey": false,
"notNull": false
},
"enabled": {
"name": "enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ai_providers_user_label": {
"name": "idx_ai_providers_user_label",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "label",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ai_providers_user_id_users_id_fk": {
"name": "ai_providers_user_id_users_id_fk",
"tableFrom": "ai_providers",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.alert_firings": {
"name": "alert_firings",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"rule_id": {
"name": "rule_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"host_name": {
"name": "host_name",
"type": "text",
"primaryKey": false,
"notNull": true
},
"fired_at": {
"name": "fired_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"resolved_at": {
"name": "resolved_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"value": {
"name": "value",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"message": {
"name": "message",
"type": "text",
"primaryKey": false,
"notNull": true
},
"severity": {
"name": "severity",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'warning'"
},
"acknowledged": {
"name": "acknowledged",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
}
},
"indexes": {
"idx_alert_firings_rule": {
"name": "idx_alert_firings_rule",
"columns": [
{
"expression": "rule_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "fired_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_alert_firings_host": {
"name": "idx_alert_firings_host",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"alert_firings_user_id_users_id_fk": {
"name": "alert_firings_user_id_users_id_fk",
"tableFrom": "alert_firings",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"alert_firings_rule_id_alert_rules_id_fk": {
"name": "alert_firings_rule_id_alert_rules_id_fk",
"tableFrom": "alert_firings",
"tableTo": "alert_rules",
"columnsFrom": [
"rule_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.alert_rule_channels": {
"name": "alert_rule_channels",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"rule_id": {
"name": "rule_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"channel_id": {
"name": "channel_id",
"type": "integer",
"primaryKey": false,
"notNull": true
}
},
"indexes": {},
"foreignKeys": {
"alert_rule_channels_rule_id_alert_rules_id_fk": {
"name": "alert_rule_channels_rule_id_alert_rules_id_fk",
"tableFrom": "alert_rule_channels",
"tableTo": "alert_rules",
"columnsFrom": [
"rule_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"alert_rule_channels_channel_id_notification_channels_id_fk": {
"name": "alert_rule_channels_channel_id_notification_channels_id_fk",
"tableFrom": "alert_rule_channels",
"tableTo": "notification_channels",
"columnsFrom": [
"channel_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.alert_rules": {
"name": "alert_rules",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"enabled": {
"name": "enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"trigger_type": {
"name": "trigger_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"threshold_value": {
"name": "threshold_value",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"threshold_duration_seconds": {
"name": "threshold_duration_seconds",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"cooldown_minutes": {
"name": "cooldown_minutes",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 15
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"alert_rules_user_id_users_id_fk": {
"name": "alert_rules_user_id_users_id_fk",
"tableFrom": "alert_rules",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"alert_rules_host_id_ssh_data_id_fk": {
"name": "alert_rules_host_id_ssh_data_id_fk",
"tableFrom": "alert_rules",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.api_keys": {
"name": "api_keys",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"token_hash": {
"name": "token_hash",
"type": "text",
"primaryKey": false,
"notNull": true
},
"token_prefix": {
"name": "token_prefix",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"last_used_at": {
"name": "last_used_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"is_active": {
"name": "is_active",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
}
},
"indexes": {
"idx_api_keys_user_id": {
"name": "idx_api_keys_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"api_keys_user_id_users_id_fk": {
"name": "api_keys_user_id_users_id_fk",
"tableFrom": "api_keys",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.audit_logs": {
"name": "audit_logs",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": true
},
"action": {
"name": "action",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"resource_type": {
"name": "resource_type",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"resource_id": {
"name": "resource_id",
"type": "text",
"primaryKey": false,
"notNull": false
},
"resource_name": {
"name": "resource_name",
"type": "text",
"primaryKey": false,
"notNull": false
},
"details": {
"name": "details",
"type": "text",
"primaryKey": false,
"notNull": false
},
"ip_address": {
"name": "ip_address",
"type": "text",
"primaryKey": false,
"notNull": false
},
"user_agent": {
"name": "user_agent",
"type": "text",
"primaryKey": false,
"notNull": false
},
"success": {
"name": "success",
"type": "boolean",
"primaryKey": false,
"notNull": true
},
"error_message": {
"name": "error_message",
"type": "text",
"primaryKey": false,
"notNull": false
},
"timestamp": {
"name": "timestamp",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_audit_logs_timestamp": {
"name": "idx_audit_logs_timestamp",
"columns": [
{
"expression": "timestamp",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_audit_logs_user_ts": {
"name": "idx_audit_logs_user_ts",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "timestamp",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_audit_logs_action_ts": {
"name": "idx_audit_logs_action_ts",
"columns": [
{
"expression": "action",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "timestamp",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_audit_logs_resource_ts": {
"name": "idx_audit_logs_resource_ts",
"columns": [
{
"expression": "resource_type",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "timestamp",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"audit_logs_user_id_users_id_fk": {
"name": "audit_logs_user_id_users_id_fk",
"tableFrom": "audit_logs",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.automation_channels": {
"name": "automation_channels",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"automation_id": {
"name": "automation_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"channel_id": {
"name": "channel_id",
"type": "integer",
"primaryKey": false,
"notNull": true
}
},
"indexes": {
"idx_automation_channels_pair": {
"name": "idx_automation_channels_pair",
"columns": [
{
"expression": "automation_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "channel_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"automation_channels_automation_id_automations_id_fk": {
"name": "automation_channels_automation_id_automations_id_fk",
"tableFrom": "automation_channels",
"tableTo": "automations",
"columnsFrom": [
"automation_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"automation_channels_channel_id_notification_channels_id_fk": {
"name": "automation_channels_channel_id_notification_channels_id_fk",
"tableFrom": "automation_channels",
"tableTo": "notification_channels",
"columnsFrom": [
"channel_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.automation_run_steps": {
"name": "automation_run_steps",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"run_id": {
"name": "run_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"step_index": {
"name": "step_index",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"step_id": {
"name": "step_id",
"type": "text",
"primaryKey": false,
"notNull": true
},
"step_type": {
"name": "step_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"status": {
"name": "status",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"started_at": {
"name": "started_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"finished_at": {
"name": "finished_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"output": {
"name": "output",
"type": "text",
"primaryKey": false,
"notNull": false
},
"error": {
"name": "error",
"type": "text",
"primaryKey": false,
"notNull": false
},
"truncated": {
"name": "truncated",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
}
},
"indexes": {
"idx_automation_run_steps_run": {
"name": "idx_automation_run_steps_run",
"columns": [
{
"expression": "run_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "step_index",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"automation_run_steps_run_id_automation_runs_id_fk": {
"name": "automation_run_steps_run_id_automation_runs_id_fk",
"tableFrom": "automation_run_steps",
"tableTo": "automation_runs",
"columnsFrom": [
"run_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.automation_runs": {
"name": "automation_runs",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"automation_id": {
"name": "automation_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"trigger_type": {
"name": "trigger_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"trigger_context": {
"name": "trigger_context",
"type": "text",
"primaryKey": false,
"notNull": false
},
"status": {
"name": "status",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"started_at": {
"name": "started_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"finished_at": {
"name": "finished_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"duration_ms": {
"name": "duration_ms",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"error": {
"name": "error",
"type": "text",
"primaryKey": false,
"notNull": false
},
"dry_run": {
"name": "dry_run",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"parent_run_id": {
"name": "parent_run_id",
"type": "integer",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_automation_runs_automation": {
"name": "idx_automation_runs_automation",
"columns": [
{
"expression": "automation_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "started_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_automation_runs_user": {
"name": "idx_automation_runs_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "started_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"automation_runs_automation_id_automations_id_fk": {
"name": "automation_runs_automation_id_automations_id_fk",
"tableFrom": "automation_runs",
"tableTo": "automations",
"columnsFrom": [
"automation_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"automation_runs_user_id_users_id_fk": {
"name": "automation_runs_user_id_users_id_fk",
"tableFrom": "automation_runs",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.automation_schedules": {
"name": "automation_schedules",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"automation_id": {
"name": "automation_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"cron": {
"name": "cron",
"type": "text",
"primaryKey": false,
"notNull": false
},
"interval_seconds": {
"name": "interval_seconds",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"timezone": {
"name": "timezone",
"type": "text",
"primaryKey": false,
"notNull": false
},
"next_due_at": {
"name": "next_due_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"last_tick_at": {
"name": "last_tick_at",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_automation_schedules_automation": {
"name": "idx_automation_schedules_automation",
"columns": [
{
"expression": "automation_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_automation_schedules_due": {
"name": "idx_automation_schedules_due",
"columns": [
{
"expression": "next_due_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"automation_schedules_automation_id_automations_id_fk": {
"name": "automation_schedules_automation_id_automations_id_fk",
"tableFrom": "automation_schedules",
"tableTo": "automations",
"columnsFrom": [
"automation_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.automation_trigger_state": {
"name": "automation_trigger_state",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"automation_id": {
"name": "automation_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"state_key": {
"name": "state_key",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"breach_started_at": {
"name": "breach_started_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"last_fired_at": {
"name": "last_fired_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"last_value": {
"name": "last_value",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"last_observed_state": {
"name": "last_observed_state",
"type": "text",
"primaryKey": false,
"notNull": false
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_automation_trigger_state_key": {
"name": "idx_automation_trigger_state_key",
"columns": [
{
"expression": "automation_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "state_key",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"automation_trigger_state_automation_id_automations_id_fk": {
"name": "automation_trigger_state_automation_id_automations_id_fk",
"tableFrom": "automation_trigger_state",
"tableTo": "automations",
"columnsFrom": [
"automation_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.automations": {
"name": "automations",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"enabled": {
"name": "enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"definition": {
"name": "definition",
"type": "text",
"primaryKey": false,
"notNull": true
},
"definition_version": {
"name": "definition_version",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 1
},
"concurrency_policy": {
"name": "concurrency_policy",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'skip'"
},
"max_run_seconds": {
"name": "max_run_seconds",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 300
},
"dry_run": {
"name": "dry_run",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"last_run_at": {
"name": "last_run_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"last_run_status": {
"name": "last_run_status",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_automations_user": {
"name": "idx_automations_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "enabled",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"automations_user_id_users_id_fk": {
"name": "automations_user_id_users_id_fk",
"tableFrom": "automations",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.c2s_tunnel_presets": {
"name": "c2s_tunnel_presets",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"config": {
"name": "config",
"type": "text",
"primaryKey": false,
"notNull": true
},
"platform": {
"name": "platform",
"type": "text",
"primaryKey": false,
"notNull": false
},
"computer_name": {
"name": "computer_name",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"c2s_tunnel_presets_user_id_users_id_fk": {
"name": "c2s_tunnel_presets_user_id_users_id_fk",
"tableFrom": "c2s_tunnel_presets",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.collab_room_members": {
"name": "collab_room_members",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"room_id": {
"name": "room_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"room_role": {
"name": "room_role",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'member'"
},
"added_by": {
"name": "added_by",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_collab_room_members_room_user": {
"name": "idx_collab_room_members_room_user",
"columns": [
{
"expression": "room_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_collab_room_members_user": {
"name": "idx_collab_room_members_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"collab_room_members_room_id_collab_rooms_id_fk": {
"name": "collab_room_members_room_id_collab_rooms_id_fk",
"tableFrom": "collab_room_members",
"tableTo": "collab_rooms",
"columnsFrom": [
"room_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"collab_room_members_user_id_users_id_fk": {
"name": "collab_room_members_user_id_users_id_fk",
"tableFrom": "collab_room_members",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"collab_room_members_added_by_users_id_fk": {
"name": "collab_room_members_added_by_users_id_fk",
"tableFrom": "collab_room_members",
"tableTo": "users",
"columnsFrom": [
"added_by"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.collab_rooms": {
"name": "collab_rooms",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"owner_user_id": {
"name": "owner_user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"persistent": {
"name": "persistent",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"presenter_user_id": {
"name": "presenter_user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"stage_protocol": {
"name": "stage_protocol",
"type": "text",
"primaryKey": false,
"notNull": false
},
"stage_host_id": {
"name": "stage_host_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"stage_share_id": {
"name": "stage_share_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"guest_link_token": {
"name": "guest_link_token",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"ended_at": {
"name": "ended_at",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_collab_rooms_owner": {
"name": "idx_collab_rooms_owner",
"columns": [
{
"expression": "owner_user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_collab_rooms_guest_token": {
"name": "idx_collab_rooms_guest_token",
"columns": [
{
"expression": "guest_link_token",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"collab_rooms_owner_user_id_users_id_fk": {
"name": "collab_rooms_owner_user_id_users_id_fk",
"tableFrom": "collab_rooms",
"tableTo": "users",
"columnsFrom": [
"owner_user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"collab_rooms_presenter_user_id_users_id_fk": {
"name": "collab_rooms_presenter_user_id_users_id_fk",
"tableFrom": "collab_rooms",
"tableTo": "users",
"columnsFrom": [
"presenter_user_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"collab_rooms_stage_host_id_ssh_data_id_fk": {
"name": "collab_rooms_stage_host_id_ssh_data_id_fk",
"tableFrom": "collab_rooms",
"tableTo": "ssh_data",
"columnsFrom": [
"stage_host_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"collab_rooms_stage_share_id_session_shares_id_fk": {
"name": "collab_rooms_stage_share_id_session_shares_id_fk",
"tableFrom": "collab_rooms",
"tableTo": "session_shares",
"columnsFrom": [
"stage_share_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.command_history": {
"name": "command_history",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"command": {
"name": "command",
"type": "text",
"primaryKey": false,
"notNull": true
},
"executed_at": {
"name": "executed_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_command_history_user_host": {
"name": "idx_command_history_user_host",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"command_history_user_id_users_id_fk": {
"name": "command_history_user_id_users_id_fk",
"tableFrom": "command_history",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"command_history_host_id_ssh_data_id_fk": {
"name": "command_history_host_id_ssh_data_id_fk",
"tableFrom": "command_history",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.credential_sidebar_preferences": {
"name": "credential_sidebar_preferences",
"schema": "",
"columns": {
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"data": {
"name": "data",
"type": "text",
"primaryKey": false,
"notNull": true
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"credential_sidebar_preferences_user_id_users_id_fk": {
"name": "credential_sidebar_preferences_user_id_users_id_fk",
"tableFrom": "credential_sidebar_preferences",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.dashboard_service_links": {
"name": "dashboard_service_links",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"label": {
"name": "label",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"url": {
"name": "url",
"type": "text",
"primaryKey": false,
"notNull": true
},
"order": {
"name": "order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"dashboard_service_links_user_id_users_id_fk": {
"name": "dashboard_service_links_user_id_users_id_fk",
"tableFrom": "dashboard_service_links",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"dashboard_service_links_sync_id_unique": {
"name": "dashboard_service_links_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.dismissed_alerts": {
"name": "dismissed_alerts",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"alert_id": {
"name": "alert_id",
"type": "text",
"primaryKey": false,
"notNull": true
},
"dismissed_at": {
"name": "dismissed_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_dismissed_alerts_user_id": {
"name": "idx_dismissed_alerts_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"dismissed_alerts_user_id_users_id_fk": {
"name": "dismissed_alerts_user_id_users_id_fk",
"tableFrom": "dismissed_alerts",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.file_manager_pinned": {
"name": "file_manager_pinned",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"path": {
"name": "path",
"type": "text",
"primaryKey": false,
"notNull": true
},
"pinned_at": {
"name": "pinned_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_file_manager_pinned_user": {
"name": "idx_file_manager_pinned_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"file_manager_pinned_user_id_users_id_fk": {
"name": "file_manager_pinned_user_id_users_id_fk",
"tableFrom": "file_manager_pinned",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"file_manager_pinned_host_id_ssh_data_id_fk": {
"name": "file_manager_pinned_host_id_ssh_data_id_fk",
"tableFrom": "file_manager_pinned",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.file_manager_recent": {
"name": "file_manager_recent",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"path": {
"name": "path",
"type": "text",
"primaryKey": false,
"notNull": true
},
"last_opened": {
"name": "last_opened",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_file_manager_recent_user": {
"name": "idx_file_manager_recent_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"file_manager_recent_user_id_users_id_fk": {
"name": "file_manager_recent_user_id_users_id_fk",
"tableFrom": "file_manager_recent",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"file_manager_recent_host_id_ssh_data_id_fk": {
"name": "file_manager_recent_host_id_ssh_data_id_fk",
"tableFrom": "file_manager_recent",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.file_manager_shortcuts": {
"name": "file_manager_shortcuts",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"path": {
"name": "path",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_file_manager_shortcuts_user": {
"name": "idx_file_manager_shortcuts_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"file_manager_shortcuts_user_id_users_id_fk": {
"name": "file_manager_shortcuts_user_id_users_id_fk",
"tableFrom": "file_manager_shortcuts",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"file_manager_shortcuts_host_id_ssh_data_id_fk": {
"name": "file_manager_shortcuts_host_id_ssh_data_id_fk",
"tableFrom": "file_manager_shortcuts",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.fleet_inventory": {
"name": "fleet_inventory",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"os_pretty_name": {
"name": "os_pretty_name",
"type": "text",
"primaryKey": false,
"notNull": false
},
"kernel": {
"name": "kernel",
"type": "text",
"primaryKey": false,
"notNull": false
},
"architecture": {
"name": "architecture",
"type": "text",
"primaryKey": false,
"notNull": false
},
"hostname": {
"name": "hostname",
"type": "text",
"primaryKey": false,
"notNull": false
},
"uptime_seconds": {
"name": "uptime_seconds",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"ip": {
"name": "ip",
"type": "text",
"primaryKey": false,
"notNull": false
},
"package_manager": {
"name": "package_manager",
"type": "text",
"primaryKey": false,
"notNull": false
},
"collected_at": {
"name": "collected_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_fleet_inventory_host": {
"name": "idx_fleet_inventory_host",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_fleet_inventory_user": {
"name": "idx_fleet_inventory_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"fleet_inventory_host_id_ssh_data_id_fk": {
"name": "fleet_inventory_host_id_ssh_data_id_fk",
"tableFrom": "fleet_inventory",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"fleet_inventory_user_id_users_id_fk": {
"name": "fleet_inventory_user_id_users_id_fk",
"tableFrom": "fleet_inventory",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.fleet_members": {
"name": "fleet_members",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"fleet_id": {
"name": "fleet_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"added_at": {
"name": "added_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_fleet_members_fleet_host": {
"name": "idx_fleet_members_fleet_host",
"columns": [
{
"expression": "fleet_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_fleet_members_host": {
"name": "idx_fleet_members_host",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"fleet_members_fleet_id_fleets_id_fk": {
"name": "fleet_members_fleet_id_fleets_id_fk",
"tableFrom": "fleet_members",
"tableTo": "fleets",
"columnsFrom": [
"fleet_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"fleet_members_host_id_ssh_data_id_fk": {
"name": "fleet_members_host_id_ssh_data_id_fk",
"tableFrom": "fleet_members",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.fleets": {
"name": "fleets",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"color": {
"name": "color",
"type": "text",
"primaryKey": false,
"notNull": false
},
"icon": {
"name": "icon",
"type": "text",
"primaryKey": false,
"notNull": false
},
"tag_rules": {
"name": "tag_rules",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"fleets_user_id_users_id_fk": {
"name": "fleets_user_id_users_id_fk",
"tableFrom": "fleets",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"fleets_sync_id_unique": {
"name": "fleets_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.homepage_items": {
"name": "homepage_items",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"type_id": {
"name": "type_id",
"type": "text",
"primaryKey": false,
"notNull": true
},
"title": {
"name": "title",
"type": "text",
"primaryKey": false,
"notNull": false
},
"config": {
"name": "config",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'{}'"
},
"folder_id": {
"name": "folder_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_homepage_items_user_id": {
"name": "idx_homepage_items_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"homepage_items_user_id_users_id_fk": {
"name": "homepage_items_user_id_users_id_fk",
"tableFrom": "homepage_items",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"homepage_items_sync_id_unique": {
"name": "homepage_items_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.homepage_layouts": {
"name": "homepage_layouts",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"layout": {
"name": "layout",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'{}'"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"homepage_layouts_user_id_users_id_fk": {
"name": "homepage_layouts_user_id_users_id_fk",
"tableFrom": "homepage_layouts",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"homepage_layouts_user_id_unique": {
"name": "homepage_layouts_user_id_unique",
"nullsNotDistinct": false,
"columns": [
"user_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.host_access": {
"name": "host_access",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"role_id": {
"name": "role_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"granted_by": {
"name": "granted_by",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"permission_level": {
"name": "permission_level",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'connect'"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"last_accessed_at": {
"name": "last_accessed_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"access_count": {
"name": "access_count",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
}
},
"indexes": {
"idx_host_access_user_id": {
"name": "idx_host_access_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_host_access_role_id": {
"name": "idx_host_access_role_id",
"columns": [
{
"expression": "role_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_host_access_host_id": {
"name": "idx_host_access_host_id",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_host_access_expires_at": {
"name": "idx_host_access_expires_at",
"columns": [
{
"expression": "expires_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"host_access_host_id_ssh_data_id_fk": {
"name": "host_access_host_id_ssh_data_id_fk",
"tableFrom": "host_access",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"host_access_user_id_users_id_fk": {
"name": "host_access_user_id_users_id_fk",
"tableFrom": "host_access",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"host_access_role_id_roles_id_fk": {
"name": "host_access_role_id_roles_id_fk",
"tableFrom": "host_access",
"tableTo": "roles",
"columnsFrom": [
"role_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"host_access_granted_by_users_id_fk": {
"name": "host_access_granted_by_users_id_fk",
"tableFrom": "host_access",
"tableTo": "users",
"columnsFrom": [
"granted_by"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.host_health_checks": {
"name": "host_health_checks",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"checks": {
"name": "checks",
"type": "text",
"primaryKey": false,
"notNull": true
},
"interval_seconds": {
"name": "interval_seconds",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 300
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_host_health_checks_user_host": {
"name": "idx_host_health_checks_user_host",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"host_health_checks_user_id_users_id_fk": {
"name": "host_health_checks_user_id_users_id_fk",
"tableFrom": "host_health_checks",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"host_health_checks_host_id_ssh_data_id_fk": {
"name": "host_health_checks_host_id_ssh_data_id_fk",
"tableFrom": "host_health_checks",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.host_health_history": {
"name": "host_health_history",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"check_id": {
"name": "check_id",
"type": "text",
"primaryKey": false,
"notNull": true
},
"ts": {
"name": "ts",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"ok": {
"name": "ok",
"type": "boolean",
"primaryKey": false,
"notNull": true
},
"latency_ms": {
"name": "latency_ms",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"detail": {
"name": "detail",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"host_health_history_user_id_users_id_fk": {
"name": "host_health_history_user_id_users_id_fk",
"tableFrom": "host_health_history",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"host_health_history_host_id_ssh_data_id_fk": {
"name": "host_health_history_host_id_ssh_data_id_fk",
"tableFrom": "host_health_history",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.host_metrics_history": {
"name": "host_metrics_history",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"ts": {
"name": "ts",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"cpu_percent": {
"name": "cpu_percent",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"mem_percent": {
"name": "mem_percent",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"disk_percent": {
"name": "disk_percent",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"net_rx_bytes": {
"name": "net_rx_bytes",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"net_tx_bytes": {
"name": "net_tx_bytes",
"type": "integer",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"host_metrics_history_host_id_ssh_data_id_fk": {
"name": "host_metrics_history_host_id_ssh_data_id_fk",
"tableFrom": "host_metrics_history",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.host_metrics_preferences": {
"name": "host_metrics_preferences",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"layout": {
"name": "layout",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_host_metrics_prefs_user_host": {
"name": "idx_host_metrics_prefs_user_host",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"host_metrics_preferences_user_id_users_id_fk": {
"name": "host_metrics_preferences_user_id_users_id_fk",
"tableFrom": "host_metrics_preferences",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"host_metrics_preferences_host_id_ssh_data_id_fk": {
"name": "host_metrics_preferences_host_id_ssh_data_id_fk",
"tableFrom": "host_metrics_preferences",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.host_sidebar_preferences": {
"name": "host_sidebar_preferences",
"schema": "",
"columns": {
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"data": {
"name": "data",
"type": "text",
"primaryKey": false,
"notNull": true
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"host_sidebar_preferences_user_id_users_id_fk": {
"name": "host_sidebar_preferences_user_id_users_id_fk",
"tableFrom": "host_sidebar_preferences",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ssh_data": {
"name": "ssh_data",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"connection_type": {
"name": "connection_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'ssh'"
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"ip": {
"name": "ip",
"type": "text",
"primaryKey": false,
"notNull": true
},
"port": {
"name": "port",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": true
},
"folder": {
"name": "folder",
"type": "text",
"primaryKey": false,
"notNull": false
},
"parent_host_id": {
"name": "parent_host_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"tags": {
"name": "tags",
"type": "text",
"primaryKey": false,
"notNull": false
},
"pin": {
"name": "pin",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"sort_order": {
"name": "sort_order",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"auth_type": {
"name": "auth_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"use_warpgate": {
"name": "use_warpgate",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"share_ssh_auth": {
"name": "share_ssh_auth",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"force_keyboard_interactive": {
"name": "force_keyboard_interactive",
"type": "text",
"primaryKey": false,
"notNull": false
},
"password": {
"name": "password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key": {
"name": "key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key_password": {
"name": "key_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key_type": {
"name": "key_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sudo_password": {
"name": "sudo_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"autostart_password": {
"name": "autostart_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"autostart_key": {
"name": "autostart_key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"autostart_key_password": {
"name": "autostart_key_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"credential_id": {
"name": "credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"override_credential_username": {
"name": "override_credential_username",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"vault_profile_id": {
"name": "vault_profile_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"enable_terminal": {
"name": "enable_terminal",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"enable_session_logging": {
"name": "enable_session_logging",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"allow_session_sharing": {
"name": "allow_session_sharing",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"enable_command_history": {
"name": "enable_command_history",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"enable_tunnel": {
"name": "enable_tunnel",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"tunnel_connections": {
"name": "tunnel_connections",
"type": "text",
"primaryKey": false,
"notNull": false
},
"jump_hosts": {
"name": "jump_hosts",
"type": "text",
"primaryKey": false,
"notNull": false
},
"enable_file_manager": {
"name": "enable_file_manager",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"scp_legacy": {
"name": "scp_legacy",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"enable_docker": {
"name": "enable_docker",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"enable_tmux_monitor": {
"name": "enable_tmux_monitor",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"enable_terminal_toolbar": {
"name": "enable_terminal_toolbar",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"show_terminal_in_sidebar": {
"name": "show_terminal_in_sidebar",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"show_file_manager_in_sidebar": {
"name": "show_file_manager_in_sidebar",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"show_tunnel_in_sidebar": {
"name": "show_tunnel_in_sidebar",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"show_docker_in_sidebar": {
"name": "show_docker_in_sidebar",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"show_server_stats_in_sidebar": {
"name": "show_server_stats_in_sidebar",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"default_path": {
"name": "default_path",
"type": "text",
"primaryKey": false,
"notNull": false
},
"stats_config": {
"name": "stats_config",
"type": "text",
"primaryKey": false,
"notNull": false
},
"docker_config": {
"name": "docker_config",
"type": "text",
"primaryKey": false,
"notNull": false
},
"enable_proxmox": {
"name": "enable_proxmox",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"proxmox_config": {
"name": "proxmox_config",
"type": "text",
"primaryKey": false,
"notNull": false
},
"enable_proxmox_stats": {
"name": "enable_proxmox_stats",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"proxmox_stats_config": {
"name": "proxmox_stats_config",
"type": "text",
"primaryKey": false,
"notNull": false
},
"terminal_config": {
"name": "terminal_config",
"type": "text",
"primaryKey": false,
"notNull": false
},
"quick_actions": {
"name": "quick_actions",
"type": "text",
"primaryKey": false,
"notNull": false
},
"notes": {
"name": "notes",
"type": "text",
"primaryKey": false,
"notNull": false
},
"enable_ssh": {
"name": "enable_ssh",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"enable_rdp": {
"name": "enable_rdp",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"enable_vnc": {
"name": "enable_vnc",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"enable_telnet": {
"name": "enable_telnet",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"ssh_port": {
"name": "ssh_port",
"type": "integer",
"primaryKey": false,
"notNull": false,
"default": 22
},
"rdp_port": {
"name": "rdp_port",
"type": "integer",
"primaryKey": false,
"notNull": false,
"default": 3389
},
"vnc_port": {
"name": "vnc_port",
"type": "integer",
"primaryKey": false,
"notNull": false,
"default": 5900
},
"telnet_port": {
"name": "telnet_port",
"type": "integer",
"primaryKey": false,
"notNull": false,
"default": 23
},
"rdp_credential_id": {
"name": "rdp_credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"rdp_user": {
"name": "rdp_user",
"type": "text",
"primaryKey": false,
"notNull": false
},
"rdp_password": {
"name": "rdp_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"rdp_domain": {
"name": "rdp_domain",
"type": "text",
"primaryKey": false,
"notNull": false
},
"rdp_security": {
"name": "rdp_security",
"type": "text",
"primaryKey": false,
"notNull": false
},
"rdp_ignore_cert": {
"name": "rdp_ignore_cert",
"type": "boolean",
"primaryKey": false,
"notNull": false,
"default": false
},
"vnc_credential_id": {
"name": "vnc_credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"vnc_password": {
"name": "vnc_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"vnc_user": {
"name": "vnc_user",
"type": "text",
"primaryKey": false,
"notNull": false
},
"telnet_user": {
"name": "telnet_user",
"type": "text",
"primaryKey": false,
"notNull": false
},
"telnet_password": {
"name": "telnet_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"telnet_credential_id": {
"name": "telnet_credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"rdp_auth_type": {
"name": "rdp_auth_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"vnc_auth_type": {
"name": "vnc_auth_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"telnet_auth_type": {
"name": "telnet_auth_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"domain": {
"name": "domain",
"type": "text",
"primaryKey": false,
"notNull": false
},
"security": {
"name": "security",
"type": "text",
"primaryKey": false,
"notNull": false
},
"ignore_cert": {
"name": "ignore_cert",
"type": "boolean",
"primaryKey": false,
"notNull": false,
"default": false
},
"guacamole_config": {
"name": "guacamole_config",
"type": "text",
"primaryKey": false,
"notNull": false
},
"use_socks5": {
"name": "use_socks5",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"socks5_host": {
"name": "socks5_host",
"type": "text",
"primaryKey": false,
"notNull": false
},
"socks5_port": {
"name": "socks5_port",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"socks5_username": {
"name": "socks5_username",
"type": "text",
"primaryKey": false,
"notNull": false
},
"socks5_password": {
"name": "socks5_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"socks5_proxy_chain": {
"name": "socks5_proxy_chain",
"type": "text",
"primaryKey": false,
"notNull": false
},
"connection_origin": {
"name": "connection_origin",
"type": "text",
"primaryKey": false,
"notNull": false
},
"mac_address": {
"name": "mac_address",
"type": "text",
"primaryKey": false,
"notNull": false
},
"wol_broadcast_address": {
"name": "wol_broadcast_address",
"type": "text",
"primaryKey": false,
"notNull": false
},
"port_knock_sequence": {
"name": "port_knock_sequence",
"type": "text",
"primaryKey": false,
"notNull": false
},
"host_key_fingerprint": {
"name": "host_key_fingerprint",
"type": "text",
"primaryKey": false,
"notNull": false
},
"host_key_type": {
"name": "host_key_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"host_key_algorithm": {
"name": "host_key_algorithm",
"type": "text",
"primaryKey": false,
"notNull": false,
"default": "'sha256'"
},
"host_key_first_seen": {
"name": "host_key_first_seen",
"type": "text",
"primaryKey": false,
"notNull": false
},
"host_key_last_verified": {
"name": "host_key_last_verified",
"type": "text",
"primaryKey": false,
"notNull": false
},
"host_key_changed_count": {
"name": "host_key_changed_count",
"type": "integer",
"primaryKey": false,
"notNull": false,
"default": 0
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ssh_data_user_id": {
"name": "idx_ssh_data_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_ssh_data_parent_host": {
"name": "idx_ssh_data_parent_host",
"columns": [
{
"expression": "parent_host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_ssh_data_credential": {
"name": "idx_ssh_data_credential",
"columns": [
{
"expression": "credential_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ssh_data_user_id_users_id_fk": {
"name": "ssh_data_user_id_users_id_fk",
"tableFrom": "ssh_data",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"ssh_data_parent_host_id_ssh_data_id_fk": {
"name": "ssh_data_parent_host_id_ssh_data_id_fk",
"tableFrom": "ssh_data",
"tableTo": "ssh_data",
"columnsFrom": [
"parent_host_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"ssh_data_credential_id_ssh_credentials_id_fk": {
"name": "ssh_data_credential_id_ssh_credentials_id_fk",
"tableFrom": "ssh_data",
"tableTo": "ssh_credentials",
"columnsFrom": [
"credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"ssh_data_vault_profile_id_vault_profiles_id_fk": {
"name": "ssh_data_vault_profile_id_vault_profiles_id_fk",
"tableFrom": "ssh_data",
"tableTo": "vault_profiles",
"columnsFrom": [
"vault_profile_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"ssh_data_rdp_credential_id_ssh_credentials_id_fk": {
"name": "ssh_data_rdp_credential_id_ssh_credentials_id_fk",
"tableFrom": "ssh_data",
"tableTo": "ssh_credentials",
"columnsFrom": [
"rdp_credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"ssh_data_vnc_credential_id_ssh_credentials_id_fk": {
"name": "ssh_data_vnc_credential_id_ssh_credentials_id_fk",
"tableFrom": "ssh_data",
"tableTo": "ssh_credentials",
"columnsFrom": [
"vnc_credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"ssh_data_telnet_credential_id_ssh_credentials_id_fk": {
"name": "ssh_data_telnet_credential_id_ssh_credentials_id_fk",
"tableFrom": "ssh_data",
"tableTo": "ssh_credentials",
"columnsFrom": [
"telnet_credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"ssh_data_sync_id_unique": {
"name": "ssh_data_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.network_topology": {
"name": "network_topology",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"topology": {
"name": "topology",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"network_topology_user_id_users_id_fk": {
"name": "network_topology_user_id_users_id_fk",
"tableFrom": "network_topology",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.notification_channels": {
"name": "notification_channels",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"type": {
"name": "type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"config": {
"name": "config",
"type": "text",
"primaryKey": false,
"notNull": true
},
"enabled": {
"name": "enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"notification_channels_user_id_users_id_fk": {
"name": "notification_channels_user_id_users_id_fk",
"tableFrom": "notification_channels",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.opkssh_tokens": {
"name": "opkssh_tokens",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"ssh_cert": {
"name": "ssh_cert",
"type": "text",
"primaryKey": false,
"notNull": true
},
"private_key": {
"name": "private_key",
"type": "text",
"primaryKey": false,
"notNull": true
},
"email": {
"name": "email",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sub": {
"name": "sub",
"type": "text",
"primaryKey": false,
"notNull": false
},
"issuer": {
"name": "issuer",
"type": "text",
"primaryKey": false,
"notNull": false
},
"audience": {
"name": "audience",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"last_used": {
"name": "last_used",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_opkssh_tokens_user_host": {
"name": "idx_opkssh_tokens_user_host",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"opkssh_tokens_user_id_users_id_fk": {
"name": "opkssh_tokens_user_id_users_id_fk",
"tableFrom": "opkssh_tokens",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"opkssh_tokens_host_id_ssh_data_id_fk": {
"name": "opkssh_tokens_host_id_ssh_data_id_fk",
"tableFrom": "opkssh_tokens",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.proxmox_node_history": {
"name": "proxmox_node_history",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"ts": {
"name": "ts",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"cpu_percent": {
"name": "cpu_percent",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"mem_percent": {
"name": "mem_percent",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"disk_percent": {
"name": "disk_percent",
"type": "double precision",
"primaryKey": false,
"notNull": false
},
"net_rx_bytes": {
"name": "net_rx_bytes",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"net_tx_bytes": {
"name": "net_tx_bytes",
"type": "integer",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"proxmox_node_history_host_id_ssh_data_id_fk": {
"name": "proxmox_node_history_host_id_ssh_data_id_fk",
"tableFrom": "proxmox_node_history",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.proxmox_stats_preferences": {
"name": "proxmox_stats_preferences",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"layout": {
"name": "layout",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_proxmox_stats_prefs_user_host": {
"name": "idx_proxmox_stats_prefs_user_host",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"proxmox_stats_preferences_user_id_users_id_fk": {
"name": "proxmox_stats_preferences_user_id_users_id_fk",
"tableFrom": "proxmox_stats_preferences",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"proxmox_stats_preferences_host_id_ssh_data_id_fk": {
"name": "proxmox_stats_preferences_host_id_ssh_data_id_fk",
"tableFrom": "proxmox_stats_preferences",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.recent_activity": {
"name": "recent_activity",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"type": {
"name": "type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"host_name": {
"name": "host_name",
"type": "text",
"primaryKey": false,
"notNull": false
},
"timestamp": {
"name": "timestamp",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_recent_activity_user_ts": {
"name": "idx_recent_activity_user_ts",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "timestamp",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"recent_activity_user_id_users_id_fk": {
"name": "recent_activity_user_id_users_id_fk",
"tableFrom": "recent_activity",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"recent_activity_host_id_ssh_data_id_fk": {
"name": "recent_activity_host_id_ssh_data_id_fk",
"tableFrom": "recent_activity",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.roles": {
"name": "roles",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"display_name": {
"name": "display_name",
"type": "text",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"is_system": {
"name": "is_system",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"permissions": {
"name": "permissions",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"roles_name_unique": {
"name": "roles_name_unique",
"nullsNotDistinct": false,
"columns": [
"name"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.session_recordings": {
"name": "session_recordings",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": false
},
"access_id": {
"name": "access_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"started_at": {
"name": "started_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"ended_at": {
"name": "ended_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"duration": {
"name": "duration",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"commands": {
"name": "commands",
"type": "text",
"primaryKey": false,
"notNull": false
},
"dangerous_actions": {
"name": "dangerous_actions",
"type": "text",
"primaryKey": false,
"notNull": false
},
"recording_path": {
"name": "recording_path",
"type": "text",
"primaryKey": false,
"notNull": false
},
"protocol": {
"name": "protocol",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "'ssh'"
},
"format": {
"name": "format",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'text'"
},
"terminated_by_owner": {
"name": "terminated_by_owner",
"type": "boolean",
"primaryKey": false,
"notNull": false,
"default": false
},
"termination_reason": {
"name": "termination_reason",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_session_recordings_user_started": {
"name": "idx_session_recordings_user_started",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "started_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_session_recordings_host": {
"name": "idx_session_recordings_host",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"session_recordings_host_id_ssh_data_id_fk": {
"name": "session_recordings_host_id_ssh_data_id_fk",
"tableFrom": "session_recordings",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"session_recordings_user_id_users_id_fk": {
"name": "session_recordings_user_id_users_id_fk",
"tableFrom": "session_recordings",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"session_recordings_access_id_host_access_id_fk": {
"name": "session_recordings_access_id_host_access_id_fk",
"tableFrom": "session_recordings",
"tableTo": "host_access",
"columnsFrom": [
"access_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.session_share_participants": {
"name": "session_share_participants",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"share_id": {
"name": "share_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"guest_label": {
"name": "guest_label",
"type": "text",
"primaryKey": false,
"notNull": false
},
"joined_at": {
"name": "joined_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"left_at": {
"name": "left_at",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"session_share_participants_share_id_session_shares_id_fk": {
"name": "session_share_participants_share_id_session_shares_id_fk",
"tableFrom": "session_share_participants",
"tableTo": "session_shares",
"columnsFrom": [
"share_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"session_share_participants_user_id_users_id_fk": {
"name": "session_share_participants_user_id_users_id_fk",
"tableFrom": "session_share_participants",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.session_shares": {
"name": "session_shares",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"owner_user_id": {
"name": "owner_user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"protocol": {
"name": "protocol",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"session_id": {
"name": "session_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"tab_instance_id": {
"name": "tab_instance_id",
"type": "text",
"primaryKey": false,
"notNull": false
},
"share_type": {
"name": "share_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"target_user_id": {
"name": "target_user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"link_token": {
"name": "link_token",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"permission_level": {
"name": "permission_level",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'read-only'"
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"revoked_at": {
"name": "revoked_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"last_joined_at": {
"name": "last_joined_at",
"type": "text",
"primaryKey": false,
"notNull": false
},
"join_count": {
"name": "join_count",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
}
},
"indexes": {
"idx_session_shares_session_id": {
"name": "idx_session_shares_session_id",
"columns": [
{
"expression": "session_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_session_shares_host_id": {
"name": "idx_session_shares_host_id",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"session_shares_host_id_ssh_data_id_fk": {
"name": "session_shares_host_id_ssh_data_id_fk",
"tableFrom": "session_shares",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"session_shares_owner_user_id_users_id_fk": {
"name": "session_shares_owner_user_id_users_id_fk",
"tableFrom": "session_shares",
"tableTo": "users",
"columnsFrom": [
"owner_user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"session_shares_target_user_id_users_id_fk": {
"name": "session_shares_target_user_id_users_id_fk",
"tableFrom": "session_shares",
"tableTo": "users",
"columnsFrom": [
"target_user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"session_shares_link_token_unique": {
"name": "session_shares_link_token_unique",
"nullsNotDistinct": false,
"columns": [
"link_token"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.sessions": {
"name": "sessions",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"jwt_token": {
"name": "jwt_token",
"type": "text",
"primaryKey": false,
"notNull": true
},
"device_type": {
"name": "device_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"device_info": {
"name": "device_info",
"type": "text",
"primaryKey": false,
"notNull": true
},
"oidc_sub": {
"name": "oidc_sub",
"type": "text",
"primaryKey": false,
"notNull": false
},
"oidc_sid": {
"name": "oidc_sid",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sso_provider_id": {
"name": "sso_provider_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"last_active_at": {
"name": "last_active_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_sessions_user_id": {
"name": "idx_sessions_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_sessions_expires_at": {
"name": "idx_sessions_expires_at",
"columns": [
{
"expression": "expires_at",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"sessions_user_id_users_id_fk": {
"name": "sessions_user_id_users_id_fk",
"tableFrom": "sessions",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.settings": {
"name": "settings",
"schema": "",
"columns": {
"key": {
"name": "key",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"value": {
"name": "value",
"type": "text",
"primaryKey": false,
"notNull": true
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.shared_host_auth_overrides": {
"name": "shared_host_auth_overrides",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"protocol": {
"name": "protocol",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "'ssh'"
},
"credential_id": {
"name": "credential_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"shared_host_auth_overrides_host_user_protocol_unique": {
"name": "shared_host_auth_overrides_host_user_protocol_unique",
"columns": [
{
"expression": "host_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "protocol",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"shared_host_auth_overrides_host_id_ssh_data_id_fk": {
"name": "shared_host_auth_overrides_host_id_ssh_data_id_fk",
"tableFrom": "shared_host_auth_overrides",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"shared_host_auth_overrides_user_id_users_id_fk": {
"name": "shared_host_auth_overrides_user_id_users_id_fk",
"tableFrom": "shared_host_auth_overrides",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"shared_host_auth_overrides_credential_id_ssh_credentials_id_fk": {
"name": "shared_host_auth_overrides_credential_id_ssh_credentials_id_fk",
"tableFrom": "shared_host_auth_overrides",
"tableTo": "ssh_credentials",
"columnsFrom": [
"credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.shared_host_secrets": {
"name": "shared_host_secrets",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"host_access_id": {
"name": "host_access_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"target_user_id": {
"name": "target_user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"protocol": {
"name": "protocol",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "'ssh'"
},
"source_type": {
"name": "source_type",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'credential'"
},
"original_credential_id": {
"name": "original_credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"encrypted_username": {
"name": "encrypted_username",
"type": "text",
"primaryKey": false,
"notNull": false
},
"encrypted_auth_type": {
"name": "encrypted_auth_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"encrypted_password": {
"name": "encrypted_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"encrypted_key": {
"name": "encrypted_key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"encrypted_key_password": {
"name": "encrypted_key_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"encrypted_key_type": {
"name": "encrypted_key_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"encrypted_domain": {
"name": "encrypted_domain",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_shared_host_secrets_scope": {
"name": "idx_shared_host_secrets_scope",
"columns": [
{
"expression": "host_access_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "target_user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "protocol",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"shared_host_secrets_host_access_id_host_access_id_fk": {
"name": "shared_host_secrets_host_access_id_host_access_id_fk",
"tableFrom": "shared_host_secrets",
"tableTo": "host_access",
"columnsFrom": [
"host_access_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"shared_host_secrets_target_user_id_users_id_fk": {
"name": "shared_host_secrets_target_user_id_users_id_fk",
"tableFrom": "shared_host_secrets",
"tableTo": "users",
"columnsFrom": [
"target_user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"shared_host_secrets_original_credential_id_ssh_credentials_id_fk": {
"name": "shared_host_secrets_original_credential_id_ssh_credentials_id_fk",
"tableFrom": "shared_host_secrets",
"tableTo": "ssh_credentials",
"columnsFrom": [
"original_credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.snippet_access": {
"name": "snippet_access",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"snippet_id": {
"name": "snippet_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"role_id": {
"name": "role_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"granted_by": {
"name": "granted_by",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"permission_level": {
"name": "permission_level",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'view'"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_snippet_access_user_id": {
"name": "idx_snippet_access_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_snippet_access_snippet_id": {
"name": "idx_snippet_access_snippet_id",
"columns": [
{
"expression": "snippet_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_snippet_access_role_id": {
"name": "idx_snippet_access_role_id",
"columns": [
{
"expression": "role_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"snippet_access_snippet_id_snippets_id_fk": {
"name": "snippet_access_snippet_id_snippets_id_fk",
"tableFrom": "snippet_access",
"tableTo": "snippets",
"columnsFrom": [
"snippet_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"snippet_access_user_id_users_id_fk": {
"name": "snippet_access_user_id_users_id_fk",
"tableFrom": "snippet_access",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"snippet_access_role_id_roles_id_fk": {
"name": "snippet_access_role_id_roles_id_fk",
"tableFrom": "snippet_access",
"tableTo": "roles",
"columnsFrom": [
"role_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"snippet_access_granted_by_users_id_fk": {
"name": "snippet_access_granted_by_users_id_fk",
"tableFrom": "snippet_access",
"tableTo": "users",
"columnsFrom": [
"granted_by"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.snippet_folders": {
"name": "snippet_folders",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"color": {
"name": "color",
"type": "text",
"primaryKey": false,
"notNull": false
},
"icon": {
"name": "icon",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"snippet_folders_user_id_users_id_fk": {
"name": "snippet_folders_user_id_users_id_fk",
"tableFrom": "snippet_folders",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"snippet_folders_sync_id_unique": {
"name": "snippet_folders_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.snippets": {
"name": "snippets",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"content": {
"name": "content",
"type": "text",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"folder": {
"name": "folder",
"type": "text",
"primaryKey": false,
"notNull": false
},
"order": {
"name": "order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"host_filter": {
"name": "host_filter",
"type": "text",
"primaryKey": false,
"notNull": false
},
"is_note": {
"name": "is_note",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
}
},
"indexes": {
"idx_snippets_user_id": {
"name": "idx_snippets_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"snippets_user_id_users_id_fk": {
"name": "snippets_user_id_users_id_fk",
"tableFrom": "snippets",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"snippets_sync_id_unique": {
"name": "snippets_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ssh_credential_usage": {
"name": "ssh_credential_usage",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"credential_id": {
"name": "credential_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"used_at": {
"name": "used_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ssh_credential_usage_credential": {
"name": "idx_ssh_credential_usage_credential",
"columns": [
{
"expression": "credential_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_ssh_credential_usage_user": {
"name": "idx_ssh_credential_usage_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ssh_credential_usage_credential_id_ssh_credentials_id_fk": {
"name": "ssh_credential_usage_credential_id_ssh_credentials_id_fk",
"tableFrom": "ssh_credential_usage",
"tableTo": "ssh_credentials",
"columnsFrom": [
"credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"ssh_credential_usage_host_id_ssh_data_id_fk": {
"name": "ssh_credential_usage_host_id_ssh_data_id_fk",
"tableFrom": "ssh_credential_usage",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"ssh_credential_usage_user_id_users_id_fk": {
"name": "ssh_credential_usage_user_id_users_id_fk",
"tableFrom": "ssh_credential_usage",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ssh_credentials": {
"name": "ssh_credentials",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"folder": {
"name": "folder",
"type": "text",
"primaryKey": false,
"notNull": false
},
"tags": {
"name": "tags",
"type": "text",
"primaryKey": false,
"notNull": false
},
"pin": {
"name": "pin",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"sort_order": {
"name": "sort_order",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"auth_type": {
"name": "auth_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": false
},
"password": {
"name": "password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key": {
"name": "key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"private_key": {
"name": "private_key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"public_key": {
"name": "public_key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key_password": {
"name": "key_password",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key_type": {
"name": "key_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"detected_key_type": {
"name": "detected_key_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"cert_public_key": {
"name": "cert_public_key",
"type": "text",
"primaryKey": false,
"notNull": false
},
"usage_count": {
"name": "usage_count",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
},
"last_used": {
"name": "last_used",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ssh_credentials_user_id": {
"name": "idx_ssh_credentials_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ssh_credentials_user_id_users_id_fk": {
"name": "ssh_credentials_user_id_users_id_fk",
"tableFrom": "ssh_credentials",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"ssh_credentials_sync_id_unique": {
"name": "ssh_credentials_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ssh_folders": {
"name": "ssh_folders",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"color": {
"name": "color",
"type": "text",
"primaryKey": false,
"notNull": false
},
"icon": {
"name": "icon",
"type": "text",
"primaryKey": false,
"notNull": false
},
"credential_id": {
"name": "credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"sort_order": {
"name": "sort_order",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_ssh_folders_user_id": {
"name": "idx_ssh_folders_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"ssh_folders_user_id_users_id_fk": {
"name": "ssh_folders_user_id_users_id_fk",
"tableFrom": "ssh_folders",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"ssh_folders_credential_id_ssh_credentials_id_fk": {
"name": "ssh_folders_credential_id_ssh_credentials_id_fk",
"tableFrom": "ssh_folders",
"tableTo": "ssh_credentials",
"columnsFrom": [
"credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"ssh_folders_sync_id_unique": {
"name": "ssh_folders_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.sso_providers": {
"name": "sso_providers",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"type": {
"name": "type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"enabled": {
"name": "enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"display_order": {
"name": "display_order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
},
"config": {
"name": "config",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.sync_tombstones": {
"name": "sync_tombstones",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"entity_type": {
"name": "entity_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"deleted_at": {
"name": "deleted_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"sync_tombstones_user_id_users_id_fk": {
"name": "sync_tombstones_user_id_users_id_fk",
"tableFrom": "sync_tombstones",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.termix_identities": {
"name": "termix_identities",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"handle": {
"name": "handle",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"termix_identities_user_id_users_id_fk": {
"name": "termix_identities_user_id_users_id_fk",
"tableFrom": "termix_identities",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"termix_identities_user_id_unique": {
"name": "termix_identities_user_id_unique",
"nullsNotDistinct": false,
"columns": [
"user_id"
]
},
"termix_identities_handle_unique": {
"name": "termix_identities_handle_unique",
"nullsNotDistinct": false,
"columns": [
"handle"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.termix_identity_ca": {
"name": "termix_identity_ca",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"identity_id": {
"name": "identity_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"public_key": {
"name": "public_key",
"type": "text",
"primaryKey": false,
"notNull": true
},
"private_key": {
"name": "private_key",
"type": "text",
"primaryKey": false,
"notNull": true
},
"validity_days": {
"name": "validity_days",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 90
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"termix_identity_ca_identity_id_termix_identities_id_fk": {
"name": "termix_identity_ca_identity_id_termix_identities_id_fk",
"tableFrom": "termix_identity_ca",
"tableTo": "termix_identities",
"columnsFrom": [
"identity_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"termix_identity_ca_user_id_users_id_fk": {
"name": "termix_identity_ca_user_id_users_id_fk",
"tableFrom": "termix_identity_ca",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"termix_identity_ca_identity_id_unique": {
"name": "termix_identity_ca_identity_id_unique",
"nullsNotDistinct": false,
"columns": [
"identity_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.termix_identity_keys": {
"name": "termix_identity_keys",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"identity_id": {
"name": "identity_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"public_key": {
"name": "public_key",
"type": "text",
"primaryKey": false,
"notNull": true
},
"key_type": {
"name": "key_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"algorithm": {
"name": "algorithm",
"type": "text",
"primaryKey": false,
"notNull": true
},
"label": {
"name": "label",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"comment": {
"name": "comment",
"type": "text",
"primaryKey": false,
"notNull": false
},
"source": {
"name": "source",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'manual'"
},
"credential_id": {
"name": "credential_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"enabled": {
"name": "enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"termix_identity_keys_identity_id_termix_identities_id_fk": {
"name": "termix_identity_keys_identity_id_termix_identities_id_fk",
"tableFrom": "termix_identity_keys",
"tableTo": "termix_identities",
"columnsFrom": [
"identity_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"termix_identity_keys_user_id_users_id_fk": {
"name": "termix_identity_keys_user_id_users_id_fk",
"tableFrom": "termix_identity_keys",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"termix_identity_keys_credential_id_ssh_credentials_id_fk": {
"name": "termix_identity_keys_credential_id_ssh_credentials_id_fk",
"tableFrom": "termix_identity_keys",
"tableTo": "ssh_credentials",
"columnsFrom": [
"credential_id"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.tmux_session_tags": {
"name": "tmux_session_tags",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"session_name": {
"name": "session_name",
"type": "text",
"primaryKey": false,
"notNull": true
},
"tag": {
"name": "tag",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"tmux_session_tags_user_id_users_id_fk": {
"name": "tmux_session_tags_user_id_users_id_fk",
"tableFrom": "tmux_session_tags",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"tmux_session_tags_host_id_ssh_data_id_fk": {
"name": "tmux_session_tags_host_id_ssh_data_id_fk",
"tableFrom": "tmux_session_tags",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.transfer_recent": {
"name": "transfer_recent",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"source_host_id": {
"name": "source_host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"dest_host_id": {
"name": "dest_host_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"dest_path": {
"name": "dest_path",
"type": "text",
"primaryKey": false,
"notNull": true
},
"dest_path_label": {
"name": "dest_path_label",
"type": "text",
"primaryKey": false,
"notNull": true
},
"last_used": {
"name": "last_used",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_transfer_recent_user": {
"name": "idx_transfer_recent_user",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"transfer_recent_user_id_users_id_fk": {
"name": "transfer_recent_user_id_users_id_fk",
"tableFrom": "transfer_recent",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"transfer_recent_source_host_id_ssh_data_id_fk": {
"name": "transfer_recent_source_host_id_ssh_data_id_fk",
"tableFrom": "transfer_recent",
"tableTo": "ssh_data",
"columnsFrom": [
"source_host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"transfer_recent_dest_host_id_ssh_data_id_fk": {
"name": "transfer_recent_dest_host_id_ssh_data_id_fk",
"tableFrom": "transfer_recent",
"tableTo": "ssh_data",
"columnsFrom": [
"dest_host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.trusted_devices": {
"name": "trusted_devices",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"device_fingerprint": {
"name": "device_fingerprint",
"type": "text",
"primaryKey": false,
"notNull": true
},
"device_type": {
"name": "device_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"device_info": {
"name": "device_info",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"last_used_at": {
"name": "last_used_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_trusted_devices_user_id": {
"name": "idx_trusted_devices_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"trusted_devices_user_id_users_id_fk": {
"name": "trusted_devices_user_id_users_id_fk",
"tableFrom": "trusted_devices",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.ui_preferences": {
"name": "ui_preferences",
"schema": "",
"columns": {
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"data": {
"name": "data",
"type": "text",
"primaryKey": false,
"notNull": true
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"ui_preferences_user_id_users_id_fk": {
"name": "ui_preferences_user_id_users_id_fk",
"tableFrom": "ui_preferences",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.user_open_tabs": {
"name": "user_open_tabs",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"tab_type": {
"name": "tab_type",
"type": "text",
"primaryKey": false,
"notNull": true
},
"host_id": {
"name": "host_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"label": {
"name": "label",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"tab_order": {
"name": "tab_order",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
},
"backend_session_id": {
"name": "backend_session_id",
"type": "text",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_user_open_tabs_user_id": {
"name": "idx_user_open_tabs_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"user_open_tabs_user_id_users_id_fk": {
"name": "user_open_tabs_user_id_users_id_fk",
"tableFrom": "user_open_tabs",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"user_open_tabs_host_id_ssh_data_id_fk": {
"name": "user_open_tabs_host_id_ssh_data_id_fk",
"tableFrom": "user_open_tabs",
"tableTo": "ssh_data",
"columnsFrom": [
"host_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.user_preferences": {
"name": "user_preferences",
"schema": "",
"columns": {
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"reopen_tabs_on_login": {
"name": "reopen_tabs_on_login",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"theme": {
"name": "theme",
"type": "text",
"primaryKey": false,
"notNull": false
},
"font_size": {
"name": "font_size",
"type": "text",
"primaryKey": false,
"notNull": false
},
"accent_color": {
"name": "accent_color",
"type": "text",
"primaryKey": false,
"notNull": false
},
"language": {
"name": "language",
"type": "text",
"primaryKey": false,
"notNull": false
},
"storage_mode": {
"name": "storage_mode",
"type": "text",
"primaryKey": false,
"notNull": false
},
"command_autocomplete": {
"name": "command_autocomplete",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"command_palette_enabled": {
"name": "command_palette_enabled",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"show_host_tags": {
"name": "show_host_tags",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"host_tray_on_click": {
"name": "host_tray_on_click",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"pin_app_rail": {
"name": "pin_app_rail",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"expand_app_rail_on_hover": {
"name": "expand_app_rail_on_hover",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"folders_collapsed": {
"name": "folders_collapsed",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"confirm_snippet_execution": {
"name": "confirm_snippet_execution",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"disable_update_check": {
"name": "disable_update_check",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"confirm_tab_close": {
"name": "confirm_tab_close",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"hidden_rail_tabs": {
"name": "hidden_rail_tabs",
"type": "text",
"primaryKey": false,
"notNull": false
},
"ai_assistant_enabled": {
"name": "ai_assistant_enabled",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"ai_read_only_commands": {
"name": "ai_read_only_commands",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"compact_host_view": {
"name": "compact_host_view",
"type": "boolean",
"primaryKey": false,
"notNull": false
},
"status_color_scheme": {
"name": "status_color_scheme",
"type": "text",
"primaryKey": false,
"notNull": false
},
"custom_themes": {
"name": "custom_themes",
"type": "text",
"primaryKey": false,
"notNull": false
},
"custom_keybindings": {
"name": "custom_keybindings",
"type": "text",
"primaryKey": false,
"notNull": false
},
"terminal_defaults": {
"name": "terminal_defaults",
"type": "text",
"primaryKey": false,
"notNull": false
},
"rdp_defaults": {
"name": "rdp_defaults",
"type": "text",
"primaryKey": false,
"notNull": false
},
"terminal_macros": {
"name": "terminal_macros",
"type": "text",
"primaryKey": false,
"notNull": false
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"user_preferences_user_id_users_id_fk": {
"name": "user_preferences_user_id_users_id_fk",
"tableFrom": "user_preferences",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.user_roles": {
"name": "user_roles",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"role_id": {
"name": "role_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"granted_by": {
"name": "granted_by",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"granted_at": {
"name": "granted_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {
"idx_user_roles_user_role": {
"name": "idx_user_roles_user_role",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "role_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
},
"idx_user_roles_role_id": {
"name": "idx_user_roles_role_id",
"columns": [
{
"expression": "role_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"user_roles_user_id_users_id_fk": {
"name": "user_roles_user_id_users_id_fk",
"tableFrom": "user_roles",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"user_roles_role_id_roles_id_fk": {
"name": "user_roles_role_id_roles_id_fk",
"tableFrom": "user_roles",
"tableTo": "roles",
"columnsFrom": [
"role_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"user_roles_granted_by_users_id_fk": {
"name": "user_roles_granted_by_users_id_fk",
"tableFrom": "user_roles",
"tableTo": "users",
"columnsFrom": [
"granted_by"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.user_workspaces": {
"name": "user_workspaces",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"color": {
"name": "color",
"type": "text",
"primaryKey": false,
"notNull": false
},
"icon": {
"name": "icon",
"type": "text",
"primaryKey": false,
"notNull": false
},
"kind": {
"name": "kind",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'manual'"
},
"is_default": {
"name": "is_default",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"payload": {
"name": "payload",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'{}'"
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"last_used_at": {
"name": "last_used_at",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_user_workspaces_user_id": {
"name": "idx_user_workspaces_user_id",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": false,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"user_workspaces_user_id_users_id_fk": {
"name": "user_workspaces_user_id_users_id_fk",
"tableFrom": "user_workspaces",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"user_workspaces_sync_id_unique": {
"name": "user_workspaces_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.users": {
"name": "users",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"username": {
"name": "username",
"type": "text",
"primaryKey": false,
"notNull": true
},
"password_hash": {
"name": "password_hash",
"type": "text",
"primaryKey": false,
"notNull": true
},
"is_admin": {
"name": "is_admin",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"is_oidc": {
"name": "is_oidc",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"oidc_identifier": {
"name": "oidc_identifier",
"type": "text",
"primaryKey": false,
"notNull": false
},
"sso_provider_id": {
"name": "sso_provider_id",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"client_id": {
"name": "client_id",
"type": "text",
"primaryKey": false,
"notNull": false
},
"client_secret": {
"name": "client_secret",
"type": "text",
"primaryKey": false,
"notNull": false
},
"issuer_url": {
"name": "issuer_url",
"type": "text",
"primaryKey": false,
"notNull": false
},
"authorization_url": {
"name": "authorization_url",
"type": "text",
"primaryKey": false,
"notNull": false
},
"token_url": {
"name": "token_url",
"type": "text",
"primaryKey": false,
"notNull": false
},
"identifier_path": {
"name": "identifier_path",
"type": "text",
"primaryKey": false,
"notNull": false
},
"name_path": {
"name": "name_path",
"type": "text",
"primaryKey": false,
"notNull": false
},
"scopes": {
"name": "scopes",
"type": "text",
"primaryKey": false,
"notNull": false,
"default": "'openid email profile'"
},
"totp_secret": {
"name": "totp_secret",
"type": "text",
"primaryKey": false,
"notNull": false
},
"totp_enabled": {
"name": "totp_enabled",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"totp_backup_codes": {
"name": "totp_backup_codes",
"type": "text",
"primaryKey": false,
"notNull": false
},
"registered_at": {
"name": "registered_at",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"donation_modal_dismissed": {
"name": "donation_modal_dismissed",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.vault_profiles": {
"name": "vault_profiles",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"description": {
"name": "description",
"type": "text",
"primaryKey": false,
"notNull": false
},
"folder": {
"name": "folder",
"type": "text",
"primaryKey": false,
"notNull": false
},
"tags": {
"name": "tags",
"type": "text",
"primaryKey": false,
"notNull": false
},
"vault_addr": {
"name": "vault_addr",
"type": "text",
"primaryKey": false,
"notNull": true
},
"vault_namespace": {
"name": "vault_namespace",
"type": "text",
"primaryKey": false,
"notNull": false
},
"oidc_mount": {
"name": "oidc_mount",
"type": "text",
"primaryKey": false,
"notNull": false
},
"oidc_role": {
"name": "oidc_role",
"type": "text",
"primaryKey": false,
"notNull": false
},
"ssh_mount": {
"name": "ssh_mount",
"type": "text",
"primaryKey": false,
"notNull": false
},
"ssh_role": {
"name": "ssh_role",
"type": "text",
"primaryKey": false,
"notNull": true
},
"valid_principals": {
"name": "valid_principals",
"type": "text",
"primaryKey": false,
"notNull": false
},
"key_type": {
"name": "key_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"shared": {
"name": "shared",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"sync_id": {
"name": "sync_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": false
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"updated_at": {
"name": "updated_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
}
},
"indexes": {},
"foreignKeys": {
"vault_profiles_user_id_users_id_fk": {
"name": "vault_profiles_user_id_users_id_fk",
"tableFrom": "vault_profiles",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"vault_profiles_sync_id_unique": {
"name": "vault_profiles_sync_id_unique",
"nullsNotDistinct": false,
"columns": [
"sync_id"
]
}
},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.vault_tokens": {
"name": "vault_tokens",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "serial",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"profile_id": {
"name": "profile_id",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"ssh_cert": {
"name": "ssh_cert",
"type": "text",
"primaryKey": false,
"notNull": true
},
"private_key": {
"name": "private_key",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"expires_at": {
"name": "expires_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"last_used": {
"name": "last_used",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {
"idx_vault_tokens_user_profile": {
"name": "idx_vault_tokens_user_profile",
"columns": [
{
"expression": "user_id",
"isExpression": false,
"asc": true,
"nulls": "last"
},
{
"expression": "profile_id",
"isExpression": false,
"asc": true,
"nulls": "last"
}
],
"isUnique": true,
"concurrently": false,
"method": "btree",
"with": {}
}
},
"foreignKeys": {
"vault_tokens_user_id_users_id_fk": {
"name": "vault_tokens_user_id_users_id_fk",
"tableFrom": "vault_tokens",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"vault_tokens_profile_id_vault_profiles_id_fk": {
"name": "vault_tokens_profile_id_vault_profiles_id_fk",
"tableFrom": "vault_tokens",
"tableTo": "vault_profiles",
"columnsFrom": [
"profile_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.webauthn_credentials": {
"name": "webauthn_credentials",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "varchar(255)",
"primaryKey": true,
"notNull": true
},
"user_id": {
"name": "user_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"name": {
"name": "name",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"credential_id": {
"name": "credential_id",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true
},
"public_key": {
"name": "public_key",
"type": "text",
"primaryKey": false,
"notNull": true
},
"counter": {
"name": "counter",
"type": "integer",
"primaryKey": false,
"notNull": true,
"default": 0
},
"device_type": {
"name": "device_type",
"type": "text",
"primaryKey": false,
"notNull": false
},
"backed_up": {
"name": "backed_up",
"type": "boolean",
"primaryKey": false,
"notNull": true,
"default": false
},
"transports": {
"name": "transports",
"type": "text",
"primaryKey": false,
"notNull": false
},
"user_verification": {
"name": "user_verification",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'preferred'"
},
"created_at": {
"name": "created_at",
"type": "varchar(255)",
"primaryKey": false,
"notNull": true,
"default": "CURRENT_TIMESTAMP"
},
"last_used_at": {
"name": "last_used_at",
"type": "text",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"webauthn_credentials_user_id_users_id_fk": {
"name": "webauthn_credentials_user_id_users_id_fk",
"tableFrom": "webauthn_credentials",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
}
},
"enums": {},
"schemas": {},
"sequences": {},
"roles": {},
"policies": {},
"views": {},
"_meta": {
"columns": {},
"schemas": {},
"tables": {}
}
}