package model import ( "time" "browser.local/platform/domain" ) type RuntimeBinding struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` PluginID string `json:"pluginId" db:"plugin_id"` ProfileKey string `json:"profileKey" db:"profile_key"` Mode string `json:"mode" db:"mode"` Bindings map[string]string `json:"bindings" db:"bindings"` MissingKeys []string `json:"missingKeys" db:"missing_keys"` Status domain.RuntimeBindingStatus `json:"status" db:"status"` CreatedAt time.Time `json:"createdAt" db:"created_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` } func (RuntimeBinding) TableName() string { return "runtime_bindings" } type EncryptedComponentKey struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` ComponentKind domain.DistributionComponentKind `json:"componentKind" db:"component_kind"` ComponentKey string `json:"componentKey,omitempty" db:"component_key"` EncryptedKey string `json:"encryptedKey" db:"encrypted_key"` KeyHash string `json:"keyHash" db:"key_hash"` Fingerprint string `json:"fingerprint" db:"fingerprint"` SecretRef string `json:"secretRef" db:"secret_ref"` Generation int `json:"generation" db:"generation"` Status domain.ComponentKeyStatus `json:"status" db:"status"` CreatedAt time.Time `json:"createdAt" db:"created_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` ResetAt time.Time `json:"resetAt,omitempty" db:"reset_at"` } func (EncryptedComponentKey) TableName() string { return "encrypted_component_keys" } type RunDistribution struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` PluginID string `json:"pluginId" db:"plugin_id"` RunEndpointID string `json:"runEndpointId" db:"run_endpoint_id"` TargetOS string `json:"targetOs" db:"target_os"` TargetArch string `json:"targetArch" db:"target_arch"` PackageFormat string `json:"packageFormat" db:"package_format"` BuildJobID string `json:"buildJobId" db:"build_job_id"` ArtifactID string `json:"artifactId" db:"artifact_id"` Checksum string `json:"checksum" db:"checksum"` KeyGeneration int `json:"keyGeneration" db:"key_generation"` SecretRef string `json:"secretRef" db:"secret_ref"` Status domain.DistributionStatus `json:"status" db:"status"` CreatedAt time.Time `json:"createdAt" db:"created_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` } func (RunDistribution) TableName() string { return "run_distributions" } type ClientManagerDistribution struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` PluginID string `json:"pluginId" db:"plugin_id"` ProfileKey string `json:"profileKey" db:"profile_key"` TargetOS string `json:"targetOs" db:"target_os"` TargetArch string `json:"targetArch" db:"target_arch"` RepositoryURL string `json:"repositoryUrl" db:"repository_url"` SourceRevision string `json:"sourceRevision" db:"source_revision"` BuildJobID string `json:"buildJobId" db:"build_job_id"` ArtifactID string `json:"artifactId" db:"artifact_id"` Checksum string `json:"checksum" db:"checksum"` KeyGeneration int `json:"keyGeneration" db:"key_generation"` SecretRef string `json:"secretRef" db:"secret_ref"` Status domain.DistributionStatus `json:"status" db:"status"` CreatedAt time.Time `json:"createdAt" db:"created_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` } func (ClientManagerDistribution) TableName() string { return "client_manager_distributions" } type DependencyStatus struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` PluginID string `json:"pluginId" db:"plugin_id"` ProbeKey string `json:"probeKey" db:"probe_key"` TargetOS string `json:"targetOs" db:"target_os"` TargetArch string `json:"targetArch" db:"target_arch"` State domain.DependencyState `json:"state" db:"state"` Required bool `json:"required" db:"required"` InstallPlanKey string `json:"installPlanKey,omitempty" db:"install_plan_key"` Message string `json:"message,omitempty" db:"message"` CheckedAt time.Time `json:"checkedAt" db:"checked_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` } func (DependencyStatus) TableName() string { return "dependency_statuses" } type ClientManagerBuildJob struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` PluginID string `json:"pluginId" db:"plugin_id"` ProfileKey string `json:"profileKey" db:"profile_key"` TargetOS string `json:"targetOs" db:"target_os"` TargetArch string `json:"targetArch" db:"target_arch"` RepositoryURL string `json:"repositoryUrl" db:"repository_url"` SourceRevision string `json:"sourceRevision" db:"source_revision"` ArtifactID string `json:"artifactId" db:"artifact_id"` Checksum string `json:"checksum" db:"checksum"` KeyGeneration int `json:"keyGeneration" db:"key_generation"` LogsRef string `json:"logsRef,omitempty" db:"logs_ref"` Status domain.DistributionJobStatus `json:"status" db:"status"` CreatedAt time.Time `json:"createdAt" db:"created_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` } func (ClientManagerBuildJob) TableName() string { return "client_manager_build_jobs" } type RunUpdateJob struct { ID string `json:"id" db:"id"` ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"` RunEndpointID string `json:"runEndpointId" db:"run_endpoint_id"` ArtifactID string `json:"artifactId" db:"artifact_id"` Checksum string `json:"checksum" db:"checksum"` JobID string `json:"jobId" db:"job_id"` IdempotencyKey string `json:"idempotencyKey" db:"idempotency_key"` Status domain.DistributionJobStatus `json:"status" db:"status"` CreatedAt time.Time `json:"createdAt" db:"created_at"` UpdatedAt time.Time `json:"updatedAt" db:"updated_at"` } func (RunUpdateJob) TableName() string { return "run_update_jobs" } func RuntimeBindingFromDomain(binding domain.RuntimeBinding) RuntimeBinding { binding = domain.CopyRuntimeBinding(binding) return RuntimeBinding{ ID: binding.ID, ServerInstanceID: binding.ServerInstanceID, PluginID: binding.PluginID, ProfileKey: binding.ProfileKey, Mode: binding.Mode, Bindings: binding.Bindings, MissingKeys: binding.MissingKeys, Status: binding.Status, CreatedAt: binding.CreatedAt, UpdatedAt: binding.UpdatedAt, } } func (binding RuntimeBinding) ToDomain() domain.RuntimeBinding { return domain.RuntimeBinding{ ID: binding.ID, ServerInstanceID: binding.ServerInstanceID, PluginID: binding.PluginID, ProfileKey: binding.ProfileKey, Mode: binding.Mode, Bindings: domain.CopyStringMap(binding.Bindings), MissingKeys: domain.CopyStringSlice(binding.MissingKeys), Status: binding.Status, CreatedAt: binding.CreatedAt, UpdatedAt: binding.UpdatedAt, } } func EncryptedComponentKeyFromDomain(key domain.EncryptedComponentKey) EncryptedComponentKey { return EncryptedComponentKey(key) } func (key EncryptedComponentKey) ToDomain() domain.EncryptedComponentKey { return domain.EncryptedComponentKey(key) } func RunDistributionFromDomain(distribution domain.RunDistribution) RunDistribution { return RunDistribution(distribution) } func (distribution RunDistribution) ToDomain() domain.RunDistribution { return domain.RunDistribution(distribution) } func ClientManagerDistributionFromDomain(distribution domain.ClientManagerDistribution) ClientManagerDistribution { return ClientManagerDistribution(distribution) } func (distribution ClientManagerDistribution) ToDomain() domain.ClientManagerDistribution { return domain.ClientManagerDistribution(distribution) } func DependencyStatusFromDomain(status domain.DependencyStatus) DependencyStatus { return DependencyStatus(status) } func (status DependencyStatus) ToDomain() domain.DependencyStatus { return domain.DependencyStatus(status) } func ClientManagerBuildJobFromDomain(job domain.ClientManagerBuildJob) ClientManagerBuildJob { return ClientManagerBuildJob(job) } func (job ClientManagerBuildJob) ToDomain() domain.ClientManagerBuildJob { return domain.ClientManagerBuildJob(job) } func RunUpdateJobFromDomain(job domain.RunUpdateJob) RunUpdateJob { return RunUpdateJob(job) } func (job RunUpdateJob) ToDomain() domain.RunUpdateJob { return domain.RunUpdateJob(job) }