Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // WithGlobalUniqueID sets the universal ids options to the migration. // If this option is enabled, ent migration will allocate a 1<<32 range // for the ids of each entity (table). // Note that this option cannot be applied on tables that already exist. WithGlobalUniqueID = schema.WithGlobalUniqueID // WithDropColumn sets the drop column option to the migration. // If this option is enabled, ent migration will drop old columns // that were used for both fields and edges. This defaults to false. WithDropColumn = schema.WithDropColumn // WithDropIndex sets the drop index option to the migration. // If this option is enabled, ent migration will drop old indexes // that were defined in the schema. This defaults to false. // Note that unique constraints are defined using `UNIQUE INDEX`, // and therefore, it's recommended to enable this option to get more // flexibility in the schema changes. WithDropIndex = schema.WithDropIndex // WithForeignKeys enables creating foreign-key in schema DDL. This defaults to true. WithForeignKeys = schema.WithForeignKeys )
View Source
var ( // AgentsColumns holds the columns for the "agents" table. AgentsColumns = []*schema.Column{ {Name: "oid", Type: field.TypeString, Unique: true}, {Name: "os", Type: field.TypeString}, {Name: "hostname", Type: field.TypeString}, {Name: "ip", Type: field.TypeString, Default: ""}, {Name: "mac", Type: field.TypeString, Default: ""}, {Name: "first_contact", Type: field.TypeTime, Nullable: true}, {Name: "last_contact", Type: field.TypeTime, Nullable: true}, {Name: "vnc", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "notes", Type: field.TypeString, Nullable: true, Size: 2147483647}, {Name: "update_task_status", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "update_task_description", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "update_task_result", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "update_task_execution", Type: field.TypeTime, Nullable: true}, {Name: "update_task_version", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "vnc_proxy_port", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "sftp_port", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "agent_status", Type: field.TypeEnum, Nullable: true, Enums: []string{"WaitingForAdmission", "Enabled", "Disabled", "No contact"}, Default: "WaitingForAdmission"}, {Name: "certificate_ready", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "restart_required", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "is_remote", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "debug_mode", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "sftp_service", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "remote_assistance", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "settings_modified", Type: field.TypeTime, Nullable: true}, {Name: "description", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "nickname", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "endpoint_type", Type: field.TypeEnum, Nullable: true, Enums: []string{"DesktopPC", "Laptop", "Server", "Tablet", "VM", "AllInOne", "Other"}, Default: "Other"}, {Name: "has_rustdesk", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "is_wayland", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "is_flatpak_rustdesk", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "release_agents", Type: field.TypeInt, Nullable: true}, } // AgentsTable holds the schema information for the "agents" table. AgentsTable = &schema.Table{ Name: "agents", Columns: AgentsColumns, PrimaryKey: []*schema.Column{AgentsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "agents_releases_agents", Columns: []*schema.Column{AgentsColumns[30]}, RefColumns: []*schema.Column{ReleasesColumns[0]}, OnDelete: schema.SetNull, }, }, Indexes: []*schema.Index{ { Name: "agent_nickname_idx", Unique: false, Columns: []*schema.Column{AgentsColumns[25]}, }, }, } // AntiviriColumns holds the columns for the "antiviri" table. AntiviriColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "is_active", Type: field.TypeBool}, {Name: "is_updated", Type: field.TypeBool}, {Name: "agent_antivirus", Type: field.TypeString, Unique: true}, } // AntiviriTable holds the schema information for the "antiviri" table. AntiviriTable = &schema.Table{ Name: "antiviri", Columns: AntiviriColumns, PrimaryKey: []*schema.Column{AntiviriColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "antiviri_agents_antivirus", Columns: []*schema.Column{AntiviriColumns[4]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // AppsColumns holds the columns for the "apps" table. AppsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "version", Type: field.TypeString}, {Name: "publisher", Type: field.TypeString, Nullable: true}, {Name: "install_date", Type: field.TypeString, Nullable: true}, {Name: "agent_apps", Type: field.TypeString}, } // AppsTable holds the schema information for the "apps" table. AppsTable = &schema.Table{ Name: "apps", Columns: AppsColumns, PrimaryKey: []*schema.Column{AppsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "apps_agents_apps", Columns: []*schema.Column{AppsColumns[5]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // AuthenticationsColumns holds the columns for the "authentications" table. AuthenticationsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "use_certificates", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "allow_register", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "use_oidc", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "oidc_provider", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "oidc_issuer_url", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "oidc_client_id", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "oidc_role", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "oidc_cookie_encription_key", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "oidc_keycloak_public_key", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "oidc_auto_create_account", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "oidc_auto_approve", Type: field.TypeBool, Nullable: true, Default: true}, } // AuthenticationsTable holds the schema information for the "authentications" table. AuthenticationsTable = &schema.Table{ Name: "authentications", Columns: AuthenticationsColumns, PrimaryKey: []*schema.Column{AuthenticationsColumns[0]}, } // CertificatesColumns holds the columns for the "certificates" table. CertificatesColumns = []*schema.Column{ {Name: "serial", Type: field.TypeInt64, Increment: true}, {Name: "type", Type: field.TypeEnum, Enums: []string{"console", "worker", "agent", "user", "ocsp", "nats", "proxy", "sftp", "updater"}}, {Name: "description", Type: field.TypeString, Nullable: true}, {Name: "expiry", Type: field.TypeTime, Nullable: true}, {Name: "uid", Type: field.TypeString, Nullable: true}, } // CertificatesTable holds the schema information for the "certificates" table. CertificatesTable = &schema.Table{ Name: "certificates", Columns: CertificatesColumns, PrimaryKey: []*schema.Column{CertificatesColumns[0]}, } // ComputersColumns holds the columns for the "computers" table. ComputersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "manufacturer", Type: field.TypeString, Nullable: true}, {Name: "model", Type: field.TypeString, Nullable: true}, {Name: "serial", Type: field.TypeString, Nullable: true}, {Name: "memory", Type: field.TypeUint64, Nullable: true}, {Name: "processor", Type: field.TypeString, Nullable: true}, {Name: "processor_cores", Type: field.TypeInt64, Nullable: true}, {Name: "processor_arch", Type: field.TypeString, Nullable: true}, {Name: "agent_computer", Type: field.TypeString, Unique: true}, } // ComputersTable holds the schema information for the "computers" table. ComputersTable = &schema.Table{ Name: "computers", Columns: ComputersColumns, PrimaryKey: []*schema.Column{ComputersColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "computers_agents_computer", Columns: []*schema.Column{ComputersColumns[8]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // DeploymentsColumns holds the columns for the "deployments" table. DeploymentsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "package_id", Type: field.TypeString}, {Name: "name", Type: field.TypeString}, {Name: "version", Type: field.TypeString, Nullable: true}, {Name: "installed", Type: field.TypeTime, Nullable: true}, {Name: "updated", Type: field.TypeTime, Nullable: true}, {Name: "failed", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "by_profile", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "agent_deployments", Type: field.TypeString}, } // DeploymentsTable holds the schema information for the "deployments" table. DeploymentsTable = &schema.Table{ Name: "deployments", Columns: DeploymentsColumns, PrimaryKey: []*schema.Column{DeploymentsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "deployments_agents_deployments", Columns: []*schema.Column{DeploymentsColumns[8]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // LogicalDisksColumns holds the columns for the "logical_disks" table. LogicalDisksColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "label", Type: field.TypeString}, {Name: "filesystem", Type: field.TypeString, Nullable: true}, {Name: "usage", Type: field.TypeInt8, Default: 0}, {Name: "size_in_units", Type: field.TypeString, Nullable: true}, {Name: "remaining_space_in_units", Type: field.TypeString, Nullable: true}, {Name: "volume_name", Type: field.TypeString, Nullable: true}, {Name: "bitlocker_status", Type: field.TypeString, Nullable: true}, {Name: "agent_logicaldisks", Type: field.TypeString}, } // LogicalDisksTable holds the schema information for the "logical_disks" table. LogicalDisksTable = &schema.Table{ Name: "logical_disks", Columns: LogicalDisksColumns, PrimaryKey: []*schema.Column{LogicalDisksColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "logical_disks_agents_logicaldisks", Columns: []*schema.Column{LogicalDisksColumns[8]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // MemorySlotsColumns holds the columns for the "memory_slots" table. MemorySlotsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "slot", Type: field.TypeString, Nullable: true}, {Name: "size", Type: field.TypeString, Nullable: true}, {Name: "type", Type: field.TypeString, Nullable: true}, {Name: "serial_number", Type: field.TypeString, Nullable: true}, {Name: "part_number", Type: field.TypeString, Nullable: true}, {Name: "speed", Type: field.TypeString, Nullable: true}, {Name: "manufacturer", Type: field.TypeString, Nullable: true}, {Name: "agent_memoryslots", Type: field.TypeString}, } // MemorySlotsTable holds the schema information for the "memory_slots" table. MemorySlotsTable = &schema.Table{ Name: "memory_slots", Columns: MemorySlotsColumns, PrimaryKey: []*schema.Column{MemorySlotsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "memory_slots_agents_memoryslots", Columns: []*schema.Column{MemorySlotsColumns[8]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // MetadataColumns holds the columns for the "metadata" table. MetadataColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "value", Type: field.TypeString}, {Name: "agent_metadata", Type: field.TypeString}, {Name: "org_metadata_metadata", Type: field.TypeInt}, } // MetadataTable holds the schema information for the "metadata" table. MetadataTable = &schema.Table{ Name: "metadata", Columns: MetadataColumns, PrimaryKey: []*schema.Column{MetadataColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "metadata_agents_metadata", Columns: []*schema.Column{MetadataColumns[2]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "metadata_org_metadata_metadata", Columns: []*schema.Column{MetadataColumns[3]}, RefColumns: []*schema.Column{OrgMetadataColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "metadata_org_metadata_metadata_agent_metadata", Unique: true, Columns: []*schema.Column{MetadataColumns[3], MetadataColumns[2]}, }, }, } // MonitorsColumns holds the columns for the "monitors" table. MonitorsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "manufacturer", Type: field.TypeString, Nullable: true}, {Name: "model", Type: field.TypeString, Nullable: true}, {Name: "serial", Type: field.TypeString, Nullable: true}, {Name: "week_of_manufacture", Type: field.TypeString, Nullable: true}, {Name: "year_of_manufacture", Type: field.TypeString, Nullable: true}, {Name: "agent_monitors", Type: field.TypeString}, } // MonitorsTable holds the schema information for the "monitors" table. MonitorsTable = &schema.Table{ Name: "monitors", Columns: MonitorsColumns, PrimaryKey: []*schema.Column{MonitorsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "monitors_agents_monitors", Columns: []*schema.Column{MonitorsColumns[6]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // NetworkAdaptersColumns holds the columns for the "network_adapters" table. NetworkAdaptersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "mac_address", Type: field.TypeString}, {Name: "addresses", Type: field.TypeString}, {Name: "subnet", Type: field.TypeString, Nullable: true}, {Name: "default_gateway", Type: field.TypeString, Nullable: true}, {Name: "dns_servers", Type: field.TypeString, Nullable: true}, {Name: "dns_domain", Type: field.TypeString, Nullable: true}, {Name: "dhcp_enabled", Type: field.TypeBool, Nullable: true}, {Name: "dhcp_lease_obtained", Type: field.TypeTime, Nullable: true}, {Name: "dhcp_lease_expired", Type: field.TypeTime, Nullable: true}, {Name: "speed", Type: field.TypeString}, {Name: "agent_networkadapters", Type: field.TypeString}, } // NetworkAdaptersTable holds the schema information for the "network_adapters" table. NetworkAdaptersTable = &schema.Table{ Name: "network_adapters", Columns: NetworkAdaptersColumns, PrimaryKey: []*schema.Column{NetworkAdaptersColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "network_adapters_agents_networkadapters", Columns: []*schema.Column{NetworkAdaptersColumns[12]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // OperatingSystemsColumns holds the columns for the "operating_systems" table. OperatingSystemsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "type", Type: field.TypeString, Nullable: true}, {Name: "version", Type: field.TypeString}, {Name: "description", Type: field.TypeString}, {Name: "edition", Type: field.TypeString, Nullable: true}, {Name: "install_date", Type: field.TypeTime, Nullable: true}, {Name: "arch", Type: field.TypeString, Nullable: true}, {Name: "username", Type: field.TypeString}, {Name: "last_bootup_time", Type: field.TypeTime, Nullable: true}, {Name: "agent_operatingsystem", Type: field.TypeString, Unique: true}, } // OperatingSystemsTable holds the schema information for the "operating_systems" table. OperatingSystemsTable = &schema.Table{ Name: "operating_systems", Columns: OperatingSystemsColumns, PrimaryKey: []*schema.Column{OperatingSystemsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "operating_systems_agents_operatingsystem", Columns: []*schema.Column{OperatingSystemsColumns[9]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // OrgMetadataColumns holds the columns for the "org_metadata" table. OrgMetadataColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString, Unique: true}, {Name: "description", Type: field.TypeString, Nullable: true}, {Name: "tenant_metadata", Type: field.TypeInt, Nullable: true}, } // OrgMetadataTable holds the schema information for the "org_metadata" table. OrgMetadataTable = &schema.Table{ Name: "org_metadata", Columns: OrgMetadataColumns, PrimaryKey: []*schema.Column{OrgMetadataColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "org_metadata_tenants_metadata", Columns: []*schema.Column{OrgMetadataColumns[3]}, RefColumns: []*schema.Column{TenantsColumns[0]}, OnDelete: schema.Cascade, }, }, } // PhysicalDisksColumns holds the columns for the "physical_disks" table. PhysicalDisksColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "device_id", Type: field.TypeString}, {Name: "model", Type: field.TypeString, Nullable: true}, {Name: "serial_number", Type: field.TypeString, Nullable: true}, {Name: "size_in_units", Type: field.TypeString, Nullable: true}, {Name: "agent_physicaldisks", Type: field.TypeString}, } // PhysicalDisksTable holds the schema information for the "physical_disks" table. PhysicalDisksTable = &schema.Table{ Name: "physical_disks", Columns: PhysicalDisksColumns, PrimaryKey: []*schema.Column{PhysicalDisksColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "physical_disks_agents_physicaldisks", Columns: []*schema.Column{PhysicalDisksColumns[5]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // PrintersColumns holds the columns for the "printers" table. PrintersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "port", Type: field.TypeString, Nullable: true}, {Name: "is_default", Type: field.TypeBool, Nullable: true}, {Name: "is_network", Type: field.TypeBool, Nullable: true}, {Name: "is_shared", Type: field.TypeBool, Nullable: true}, {Name: "agent_printers", Type: field.TypeString}, } // PrintersTable holds the schema information for the "printers" table. PrintersTable = &schema.Table{ Name: "printers", Columns: PrintersColumns, PrimaryKey: []*schema.Column{PrintersColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "printers_agents_printers", Columns: []*schema.Column{PrintersColumns[6]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // ProfilesColumns holds the columns for the "profiles" table. ProfilesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "apply_to_all", Type: field.TypeBool, Default: false}, {Name: "type", Type: field.TypeEnum, Nullable: true, Enums: []string{"winget"}, Default: "winget"}, {Name: "site_profiles", Type: field.TypeInt, Nullable: true}, } // ProfilesTable holds the schema information for the "profiles" table. ProfilesTable = &schema.Table{ Name: "profiles", Columns: ProfilesColumns, PrimaryKey: []*schema.Column{ProfilesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "profiles_sites_profiles", Columns: []*schema.Column{ProfilesColumns[4]}, RefColumns: []*schema.Column{SitesColumns[0]}, OnDelete: schema.Cascade, }, }, } // ProfileIssuesColumns holds the columns for the "profile_issues" table. ProfileIssuesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "error", Type: field.TypeString, Nullable: true}, {Name: "when", Type: field.TypeTime, Nullable: true}, {Name: "profile_issues", Type: field.TypeInt, Nullable: true}, {Name: "profile_issue_agents", Type: field.TypeString, Nullable: true}, } // ProfileIssuesTable holds the schema information for the "profile_issues" table. ProfileIssuesTable = &schema.Table{ Name: "profile_issues", Columns: ProfileIssuesColumns, PrimaryKey: []*schema.Column{ProfileIssuesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "profile_issues_profiles_issues", Columns: []*schema.Column{ProfileIssuesColumns[3]}, RefColumns: []*schema.Column{ProfilesColumns[0]}, OnDelete: schema.SetNull, }, { Symbol: "profile_issues_agents_agents", Columns: []*schema.Column{ProfileIssuesColumns[4]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.SetNull, }, }, } // ReleasesColumns holds the columns for the "releases" table. ReleasesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "release_type", Type: field.TypeEnum, Nullable: true, Enums: []string{"agent", "server"}}, {Name: "version", Type: field.TypeString, Nullable: true}, {Name: "channel", Type: field.TypeString, Nullable: true}, {Name: "summary", Type: field.TypeString, Nullable: true}, {Name: "release_notes", Type: field.TypeString, Nullable: true}, {Name: "file_url", Type: field.TypeString, Nullable: true}, {Name: "checksum", Type: field.TypeString, Nullable: true}, {Name: "is_critical", Type: field.TypeBool, Nullable: true}, {Name: "release_date", Type: field.TypeTime, Nullable: true}, {Name: "os", Type: field.TypeString, Nullable: true}, {Name: "arch", Type: field.TypeString, Nullable: true}, } // ReleasesTable holds the schema information for the "releases" table. ReleasesTable = &schema.Table{ Name: "releases", Columns: ReleasesColumns, PrimaryKey: []*schema.Column{ReleasesColumns[0]}, Indexes: []*schema.Index{ { Name: "release_release_type_version_channel_os_arch", Unique: true, Columns: []*schema.Column{ReleasesColumns[1], ReleasesColumns[2], ReleasesColumns[3], ReleasesColumns[10], ReleasesColumns[11]}, }, }, } // RevocationsColumns holds the columns for the "revocations" table. RevocationsColumns = []*schema.Column{ {Name: "serial", Type: field.TypeInt64, Increment: true}, {Name: "reason", Type: field.TypeInt, Nullable: true, Default: 0}, {Name: "info", Type: field.TypeString, Nullable: true}, {Name: "expiry", Type: field.TypeTime, Nullable: true}, {Name: "revoked", Type: field.TypeTime}, } // RevocationsTable holds the schema information for the "revocations" table. RevocationsTable = &schema.Table{ Name: "revocations", Columns: RevocationsColumns, PrimaryKey: []*schema.Column{RevocationsColumns[0]}, } // RustdesksColumns holds the columns for the "rustdesks" table. RustdesksColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "custom_rendezvous_server", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "relay_server", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "api_server", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "key", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "use_permanent_password", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "whitelist", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "direct_ip_access", Type: field.TypeBool, Nullable: true, Default: false}, } // RustdesksTable holds the schema information for the "rustdesks" table. RustdesksTable = &schema.Table{ Name: "rustdesks", Columns: RustdesksColumns, PrimaryKey: []*schema.Column{RustdesksColumns[0]}, } // ServersColumns holds the columns for the "servers" table. ServersColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "hostname", Type: field.TypeString}, {Name: "arch", Type: field.TypeString}, {Name: "os", Type: field.TypeString}, {Name: "version", Type: field.TypeString}, {Name: "channel", Type: field.TypeEnum, Enums: []string{"stable", "testing", "devel"}}, {Name: "update_status", Type: field.TypeEnum, Nullable: true, Enums: []string{"Success", "Error", "Pending", "In Progress"}}, {Name: "update_message", Type: field.TypeString, Nullable: true}, {Name: "update_when", Type: field.TypeTime, Nullable: true}, {Name: "nats_component", Type: field.TypeBool, Nullable: true}, {Name: "ocsp_component", Type: field.TypeBool, Nullable: true}, {Name: "console_component", Type: field.TypeBool, Nullable: true}, {Name: "agent_worker_component", Type: field.TypeBool, Nullable: true}, {Name: "notification_worker_component", Type: field.TypeBool, Nullable: true}, {Name: "cert_manager_worker_component", Type: field.TypeBool, Nullable: true}, } // ServersTable holds the schema information for the "servers" table. ServersTable = &schema.Table{ Name: "servers", Columns: ServersColumns, PrimaryKey: []*schema.Column{ServersColumns[0]}, Indexes: []*schema.Index{ { Name: "server_hostname_arch_os_version_channel", Unique: true, Columns: []*schema.Column{ServersColumns[1], ServersColumns[2], ServersColumns[3], ServersColumns[4], ServersColumns[5]}, }, }, } // SessionsColumns holds the columns for the "sessions" table. SessionsColumns = []*schema.Column{ {Name: "token", Type: field.TypeString, Unique: true, Size: 2147483647}, {Name: "data", Type: field.TypeBytes}, {Name: "expiry", Type: field.TypeTime}, {Name: "user_sessions", Type: field.TypeString, Nullable: true}, } // SessionsTable holds the schema information for the "sessions" table. SessionsTable = &schema.Table{ Name: "sessions", Columns: SessionsColumns, PrimaryKey: []*schema.Column{SessionsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "sessions_users_sessions", Columns: []*schema.Column{SessionsColumns[3]}, RefColumns: []*schema.Column{UsersColumns[0]}, OnDelete: schema.Cascade, }, }, Indexes: []*schema.Index{ { Name: "sessions_expiry_idx", Unique: false, Columns: []*schema.Column{SessionsColumns[2]}, }, }, } // SettingsColumns holds the columns for the "settings" table. SettingsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "language", Type: field.TypeString, Nullable: true}, {Name: "organization", Type: field.TypeString, Nullable: true}, {Name: "postal_address", Type: field.TypeString, Nullable: true}, {Name: "postal_code", Type: field.TypeString, Nullable: true}, {Name: "locality", Type: field.TypeString, Nullable: true}, {Name: "province", Type: field.TypeString, Nullable: true}, {Name: "state", Type: field.TypeString, Nullable: true}, {Name: "country", Type: field.TypeString, Nullable: true, Default: "ES"}, {Name: "smtp_server", Type: field.TypeString, Nullable: true}, {Name: "smtp_port", Type: field.TypeInt, Nullable: true, Default: 587}, {Name: "smtp_user", Type: field.TypeString, Nullable: true}, {Name: "smtp_password", Type: field.TypeString, Nullable: true}, {Name: "smtp_auth", Type: field.TypeString, Nullable: true, Default: "LOGIN"}, {Name: "smtp_tls", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "smtp_starttls", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "nats_server", Type: field.TypeString, Nullable: true}, {Name: "nats_port", Type: field.TypeString, Nullable: true}, {Name: "message_from", Type: field.TypeString, Nullable: true}, {Name: "max_upload_size", Type: field.TypeString, Nullable: true, Default: "512M"}, {Name: "user_cert_years_valid", Type: field.TypeInt, Nullable: true, Default: 1}, {Name: "nats_request_timeout_seconds", Type: field.TypeInt, Nullable: true, Default: 20}, {Name: "refresh_time_in_minutes", Type: field.TypeInt, Nullable: true, Default: 5}, {Name: "session_lifetime_in_minutes", Type: field.TypeInt, Nullable: true, Default: 1440}, {Name: "update_channel", Type: field.TypeString, Nullable: true, Default: "stable"}, {Name: "created", Type: field.TypeTime, Nullable: true}, {Name: "modified", Type: field.TypeTime, Nullable: true}, {Name: "agent_report_frequence_in_minutes", Type: field.TypeInt, Nullable: true, Default: 60}, {Name: "request_vnc_pin", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "profiles_application_frequence_in_minutes", Type: field.TypeInt, Nullable: true, Default: 30}, {Name: "use_winget", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "use_flatpak", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "use_brew", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "disable_sftp", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "disable_remote_assistance", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "detect_remote_agents", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "auto_admit_agents", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "settings_tag", Type: field.TypeInt, Nullable: true}, {Name: "tenant_settings", Type: field.TypeInt, Unique: true, Nullable: true}, } // SettingsTable holds the schema information for the "settings" table. SettingsTable = &schema.Table{ Name: "settings", Columns: SettingsColumns, PrimaryKey: []*schema.Column{SettingsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "settings_tags_tag", Columns: []*schema.Column{SettingsColumns[37]}, RefColumns: []*schema.Column{TagsColumns[0]}, OnDelete: schema.SetNull, }, { Symbol: "settings_tenants_settings", Columns: []*schema.Column{SettingsColumns[38]}, RefColumns: []*schema.Column{TenantsColumns[0]}, OnDelete: schema.Cascade, }, }, } SharesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "description", Type: field.TypeString}, {Name: "path", Type: field.TypeString, Nullable: true}, {Name: "agent_shares", Type: field.TypeString}, } SharesTable = &schema.Table{ Name: "shares", Columns: SharesColumns, PrimaryKey: []*schema.Column{SharesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "shares_agents_shares", Columns: []*schema.Column{SharesColumns[4]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // SitesColumns holds the columns for the "sites" table. SitesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "description", Type: field.TypeString, Nullable: true}, {Name: "is_default", Type: field.TypeBool, Nullable: true}, {Name: "domain", Type: field.TypeString, Nullable: true}, {Name: "created", Type: field.TypeTime, Nullable: true}, {Name: "modified", Type: field.TypeTime, Nullable: true}, {Name: "tenant_sites", Type: field.TypeInt, Nullable: true}, } // SitesTable holds the schema information for the "sites" table. SitesTable = &schema.Table{ Name: "sites", Columns: SitesColumns, PrimaryKey: []*schema.Column{SitesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "sites_tenants_sites", Columns: []*schema.Column{SitesColumns[6]}, RefColumns: []*schema.Column{TenantsColumns[0]}, OnDelete: schema.Cascade, }, }, } // SystemUpdatesColumns holds the columns for the "system_updates" table. SystemUpdatesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "system_update_status", Type: field.TypeString}, {Name: "last_install", Type: field.TypeTime}, {Name: "last_search", Type: field.TypeTime}, {Name: "pending_updates", Type: field.TypeBool}, {Name: "agent_systemupdate", Type: field.TypeString, Unique: true}, } // SystemUpdatesTable holds the schema information for the "system_updates" table. SystemUpdatesTable = &schema.Table{ Name: "system_updates", Columns: SystemUpdatesColumns, PrimaryKey: []*schema.Column{SystemUpdatesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "system_updates_agents_systemupdate", Columns: []*schema.Column{SystemUpdatesColumns[5]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // TagsColumns holds the columns for the "tags" table. TagsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "tag", Type: field.TypeString, Unique: true}, {Name: "description", Type: field.TypeString, Nullable: true}, {Name: "color", Type: field.TypeString}, {Name: "tag_children", Type: field.TypeInt, Nullable: true}, {Name: "task_tags", Type: field.TypeInt, Nullable: true}, {Name: "tenant_tags", Type: field.TypeInt, Nullable: true}, } // TagsTable holds the schema information for the "tags" table. TagsTable = &schema.Table{ Name: "tags", Columns: TagsColumns, PrimaryKey: []*schema.Column{TagsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "tags_tags_children", Columns: []*schema.Column{TagsColumns[4]}, RefColumns: []*schema.Column{TagsColumns[0]}, OnDelete: schema.SetNull, }, { Symbol: "tags_tasks_tags", Columns: []*schema.Column{TagsColumns[5]}, RefColumns: []*schema.Column{TasksColumns[0]}, OnDelete: schema.SetNull, }, { Symbol: "tags_tenants_tags", Columns: []*schema.Column{TagsColumns[6]}, RefColumns: []*schema.Column{TenantsColumns[0]}, OnDelete: schema.Cascade, }, }, } // TasksColumns holds the columns for the "tasks" table. TasksColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "name", Type: field.TypeString}, {Name: "type", Type: field.TypeEnum, Enums: []string{"winget_install", "winget_update", "winget_delete", "add_registry_key", "update_registry_key_default_value", "add_registry_key_value", "remove_registry_key", "remove_registry_key_value", "add_local_user", "remove_local_user", "add_unix_local_user", "modify_unix_local_user", "remove_unix_local_user", "add_macos_local_user", "remove_macos_local_user", "add_local_group", "remove_local_group", "add_unix_local_group", "remove_unix_local_group", "add_users_to_local_group", "remove_users_from_local_group", "msi_install", "msi_uninstall", "powershell_script", "unix_script", "flatpak_install", "flatpak_uninstall", "brew_formula_install", "brew_formula_upgrade", "brew_formula_uninstall", "brew_cask_install", "brew_cask_upgrade", "brew_cask_uninstall", "apt_install", "apt_update", "apt_remove", "apt_update_all", "apt_upgrade_os"}}, {Name: "package_id", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "package_name", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "package_latest", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "registry_key", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "registry_key_value_name", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "registry_key_value_type", Type: field.TypeEnum, Nullable: true, Enums: []string{"String", "Binary", "DWord", "QWord", "MultiString", "ExpandString"}}, {Name: "registry_key_value_data", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "registry_hex", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "registry_force", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_username", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_user_description", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_user_disable", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_fullname", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_user_password", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_user_password_change_not_allowed", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_password_change_required", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_password_never_expires", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_append", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_create_home", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "local_user_expires", Type: field.TypeString, Nullable: true}, {Name: "local_user_force", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_generate_ssh_key", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_group", Type: field.TypeString, Nullable: true}, {Name: "local_user_groups", Type: field.TypeString, Nullable: true}, {Name: "local_user_home", Type: field.TypeString, Nullable: true}, {Name: "local_user_move_home", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_nonunique", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_password_expire_account_disable", Type: field.TypeString, Nullable: true}, {Name: "local_user_password_expire_max", Type: field.TypeString, Nullable: true}, {Name: "local_user_password_expire_min", Type: field.TypeString, Nullable: true}, {Name: "local_user_password_expire_warn", Type: field.TypeString, Nullable: true}, {Name: "local_user_password_lock", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_seuser", Type: field.TypeString, Nullable: true}, {Name: "local_user_shell", Type: field.TypeString, Nullable: true}, {Name: "local_user_skeleton", Type: field.TypeString, Nullable: true}, {Name: "local_user_system", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_user_id", Type: field.TypeString, Nullable: true}, {Name: "local_user_id_max", Type: field.TypeString, Nullable: true}, {Name: "local_user_id_min", Type: field.TypeString, Nullable: true}, {Name: "local_user_ssh_key_bits", Type: field.TypeString, Nullable: true}, {Name: "local_user_ssh_key_comment", Type: field.TypeString, Nullable: true}, {Name: "local_user_ssh_key_file", Type: field.TypeString, Nullable: true}, {Name: "local_user_ssh_key_passphrase", Type: field.TypeString, Nullable: true}, {Name: "local_user_ssh_key_type", Type: field.TypeString, Nullable: true, Default: "rsa"}, {Name: "local_user_umask", Type: field.TypeString, Nullable: true}, {Name: "local_group_id", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_group_name", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_group_description", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_group_system", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_group_force", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "local_group_members", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_group_members_to_include", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "local_group_members_to_exclude", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "msi_productid", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "msi_path", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "msi_arguments", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "msi_file_hash", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "msi_file_hash_alg", Type: field.TypeEnum, Nullable: true, Enums: []string{"MD5", "RIPEMD160", "SHA1", "SHA256", "SHA384", "SHA512"}}, {Name: "msi_log_path", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "script", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "script_executable", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "script_creates", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "script_run", Type: field.TypeEnum, Nullable: true, Enums: []string{"once", "always"}}, {Name: "agent_type", Type: field.TypeEnum, Nullable: true, Enums: []string{"windows", "linux", "macos"}, Default: "windows"}, {Name: "when", Type: field.TypeTime, Nullable: true}, {Name: "brew_update", Type: field.TypeBool, Nullable: true}, {Name: "brew_upgrade_all", Type: field.TypeBool, Nullable: true}, {Name: "brew_upgrade_options", Type: field.TypeString, Nullable: true}, {Name: "brew_install_options", Type: field.TypeString, Nullable: true}, {Name: "brew_greedy", Type: field.TypeBool, Nullable: true}, {Name: "package_version", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "apt_allow_downgrade", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "apt_deb", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "apt_dpkg_options", Type: field.TypeString, Nullable: true}, {Name: "apt_fail_on_autoremove", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "apt_force", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "apt_install_recommends", Type: field.TypeBool, Nullable: true}, {Name: "apt_name", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "apt_only_upgrade", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "apt_purge", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "apt_update_cache", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "apt_upgrade_type", Type: field.TypeEnum, Nullable: true, Enums: []string{"dist", "full", "no", "safe", "yes"}, Default: "no"}, {Name: "version", Type: field.TypeInt, Nullable: true, Default: 1}, {Name: "profile_tasks", Type: field.TypeInt, Nullable: true}, } // TasksTable holds the schema information for the "tasks" table. TasksTable = &schema.Table{ Name: "tasks", Columns: TasksColumns, PrimaryKey: []*schema.Column{TasksColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "tasks_profiles_tasks", Columns: []*schema.Column{TasksColumns[86]}, RefColumns: []*schema.Column{ProfilesColumns[0]}, OnDelete: schema.SetNull, }, }, } // TenantsColumns holds the columns for the "tenants" table. TenantsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "description", Type: field.TypeString, Nullable: true}, {Name: "is_default", Type: field.TypeBool, Nullable: true}, {Name: "created", Type: field.TypeTime, Nullable: true}, {Name: "modified", Type: field.TypeTime, Nullable: true}, } // TenantsTable holds the schema information for the "tenants" table. TenantsTable = &schema.Table{ Name: "tenants", Columns: TenantsColumns, PrimaryKey: []*schema.Column{TenantsColumns[0]}, } // UpdatesColumns holds the columns for the "updates" table. UpdatesColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "title", Type: field.TypeString}, {Name: "date", Type: field.TypeTime}, {Name: "support_url", Type: field.TypeString, Nullable: true}, {Name: "agent_updates", Type: field.TypeString}, } // UpdatesTable holds the schema information for the "updates" table. UpdatesTable = &schema.Table{ Name: "updates", Columns: UpdatesColumns, PrimaryKey: []*schema.Column{UpdatesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "updates_agents_updates", Columns: []*schema.Column{UpdatesColumns[4]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // UsersColumns holds the columns for the "users" table. UsersColumns = []*schema.Column{ {Name: "uid", Type: field.TypeString, Unique: true}, {Name: "name", Type: field.TypeString}, {Name: "email", Type: field.TypeString, Nullable: true}, {Name: "phone", Type: field.TypeString, Nullable: true}, {Name: "country", Type: field.TypeString, Nullable: true}, {Name: "email_verified", Type: field.TypeBool, Default: false}, {Name: "register", Type: field.TypeString, Default: "users.pending_email_confirmation"}, {Name: "cert_clear_password", Type: field.TypeString, Nullable: true}, {Name: "expiry", Type: field.TypeTime, Nullable: true}, {Name: "openid", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "created", Type: field.TypeTime, Nullable: true}, {Name: "modified", Type: field.TypeTime, Nullable: true}, {Name: "access_token", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "refresh_token", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "id_token", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "token_type", Type: field.TypeString, Nullable: true, Default: ""}, {Name: "token_expiry", Type: field.TypeInt, Nullable: true, Default: 0}, } // UsersTable holds the schema information for the "users" table. UsersTable = &schema.Table{ Name: "users", Columns: UsersColumns, PrimaryKey: []*schema.Column{UsersColumns[0]}, Indexes: []*schema.Index{ { Name: "users_email_idx", Unique: false, Columns: []*schema.Column{UsersColumns[2]}, }, }, } // WingetConfigExclusionsColumns holds the columns for the "winget_config_exclusions" table. WingetConfigExclusionsColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "package_id", Type: field.TypeString}, {Name: "when", Type: field.TypeTime, Nullable: true}, {Name: "agent_wingetcfgexclusions", Type: field.TypeString}, } // WingetConfigExclusionsTable holds the schema information for the "winget_config_exclusions" table. WingetConfigExclusionsTable = &schema.Table{ Name: "winget_config_exclusions", Columns: WingetConfigExclusionsColumns, PrimaryKey: []*schema.Column{WingetConfigExclusionsColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "winget_config_exclusions_agents_wingetcfgexclusions", Columns: []*schema.Column{WingetConfigExclusionsColumns[3]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // AgentTagsColumns holds the columns for the "agent_tags" table. AgentTagsColumns = []*schema.Column{ {Name: "agent_id", Type: field.TypeString}, {Name: "tag_id", Type: field.TypeInt}, } // AgentTagsTable holds the schema information for the "agent_tags" table. AgentTagsTable = &schema.Table{ Name: "agent_tags", Columns: AgentTagsColumns, PrimaryKey: []*schema.Column{AgentTagsColumns[0], AgentTagsColumns[1]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "agent_tags_agent_id", Columns: []*schema.Column{AgentTagsColumns[0]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "agent_tags_tag_id", Columns: []*schema.Column{AgentTagsColumns[1]}, RefColumns: []*schema.Column{TagsColumns[0]}, OnDelete: schema.Cascade, }, }, } // ProfileTagsColumns holds the columns for the "profile_tags" table. ProfileTagsColumns = []*schema.Column{ {Name: "profile_id", Type: field.TypeInt}, {Name: "tag_id", Type: field.TypeInt}, } // ProfileTagsTable holds the schema information for the "profile_tags" table. ProfileTagsTable = &schema.Table{ Name: "profile_tags", Columns: ProfileTagsColumns, PrimaryKey: []*schema.Column{ProfileTagsColumns[0], ProfileTagsColumns[1]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "profile_tags_profile_id", Columns: []*schema.Column{ProfileTagsColumns[0]}, RefColumns: []*schema.Column{ProfilesColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "profile_tags_tag_id", Columns: []*schema.Column{ProfileTagsColumns[1]}, RefColumns: []*schema.Column{TagsColumns[0]}, OnDelete: schema.Cascade, }, }, } // SiteAgentsColumns holds the columns for the "site_agents" table. SiteAgentsColumns = []*schema.Column{ {Name: "site_id", Type: field.TypeInt}, {Name: "agent_id", Type: field.TypeString}, } // SiteAgentsTable holds the schema information for the "site_agents" table. SiteAgentsTable = &schema.Table{ Name: "site_agents", Columns: SiteAgentsColumns, PrimaryKey: []*schema.Column{SiteAgentsColumns[0], SiteAgentsColumns[1]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "site_agents_site_id", Columns: []*schema.Column{SiteAgentsColumns[0]}, RefColumns: []*schema.Column{SitesColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "site_agents_agent_id", Columns: []*schema.Column{SiteAgentsColumns[1]}, RefColumns: []*schema.Column{AgentsColumns[0]}, OnDelete: schema.Cascade, }, }, } // TenantRustdeskColumns holds the columns for the "tenant_rustdesk" table. TenantRustdeskColumns = []*schema.Column{ {Name: "tenant_id", Type: field.TypeInt}, {Name: "rustdesk_id", Type: field.TypeInt}, } // TenantRustdeskTable holds the schema information for the "tenant_rustdesk" table. TenantRustdeskTable = &schema.Table{ Name: "tenant_rustdesk", Columns: TenantRustdeskColumns, PrimaryKey: []*schema.Column{TenantRustdeskColumns[0], TenantRustdeskColumns[1]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "tenant_rustdesk_tenant_id", Columns: []*schema.Column{TenantRustdeskColumns[0]}, RefColumns: []*schema.Column{TenantsColumns[0]}, OnDelete: schema.Cascade, }, { Symbol: "tenant_rustdesk_rustdesk_id", Columns: []*schema.Column{TenantRustdeskColumns[1]}, RefColumns: []*schema.Column{RustdesksColumns[0]}, OnDelete: schema.Cascade, }, }, } // Tables holds all the tables in the schema. Tables = []*schema.Table{ AgentsTable, AntiviriTable, AppsTable, AuthenticationsTable, CertificatesTable, ComputersTable, DeploymentsTable, LogicalDisksTable, MemorySlotsTable, MetadataTable, MonitorsTable, NetworkAdaptersTable, OperatingSystemsTable, OrgMetadataTable, PhysicalDisksTable, PrintersTable, ProfilesTable, ProfileIssuesTable, ReleasesTable, RevocationsTable, RustdesksTable, ServersTable, SessionsTable, SettingsTable, SharesTable, SitesTable, SystemUpdatesTable, TagsTable, TasksTable, TenantsTable, UpdatesTable, UsersTable, WingetConfigExclusionsTable, AgentTagsTable, ProfileTagsTable, SiteAgentsTable, TenantRustdeskTable, } )
Functions ¶
Types ¶
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
Schema is the API for creating, migrating and dropping a schema.
Click to show internal directories.
Click to hide internal directories.