feat: 完整游戏运维功能

This commit is contained in:
npc0-hue
2026-07-18 09:04:01 +08:00
parent f3b14b7945
commit 48b8ad8d6c
187 changed files with 16607 additions and 1140 deletions
+16
View File
@@ -10,6 +10,7 @@ type RuntimeBinding struct {
ID string `json:"id" db:"id"`
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
PluginID string `json:"pluginId" db:"plugin_id"`
PluginVersion string `json:"pluginVersion" db:"plugin_version"`
ProfileKey string `json:"profileKey" db:"profile_key"`
Mode string `json:"mode" db:"mode"`
Bindings map[string]string `json:"bindings" db:"bindings"`
@@ -64,6 +65,7 @@ type ClientManagerDistribution struct {
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
PluginID string `json:"pluginId" db:"plugin_id"`
ProfileKey string `json:"profileKey" db:"profile_key"`
Version string `json:"version" db:"version"`
TargetOS string `json:"targetOs" db:"target_os"`
TargetArch string `json:"targetArch" db:"target_arch"`
RepositoryURL string `json:"repositoryUrl" db:"repository_url"`
@@ -90,6 +92,10 @@ type DependencyStatus struct {
State domain.DependencyState `json:"state" db:"state"`
Required bool `json:"required" db:"required"`
InstallPlanKey string `json:"installPlanKey,omitempty" db:"install_plan_key"`
PlanDigest string `json:"planDigest,omitempty" db:"plan_digest"`
JobID string `json:"jobId,omitempty" db:"job_id"`
Evidence string `json:"evidence,omitempty" db:"evidence"`
CompletedSteps int `json:"completedSteps,omitempty" db:"completed_steps"`
Message string `json:"message,omitempty" db:"message"`
CheckedAt time.Time `json:"checkedAt" db:"checked_at"`
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
@@ -102,6 +108,7 @@ type ClientManagerBuildJob struct {
ServerInstanceID string `json:"serverInstanceId" db:"server_instance_id"`
PluginID string `json:"pluginId" db:"plugin_id"`
ProfileKey string `json:"profileKey" db:"profile_key"`
Version string `json:"version" db:"version"`
TargetOS string `json:"targetOs" db:"target_os"`
TargetArch string `json:"targetArch" db:"target_arch"`
RepositoryURL string `json:"repositoryUrl" db:"repository_url"`
@@ -123,9 +130,16 @@ type RunUpdateJob struct {
RunEndpointID string `json:"runEndpointId" db:"run_endpoint_id"`
ArtifactID string `json:"artifactId" db:"artifact_id"`
Checksum string `json:"checksum" db:"checksum"`
TargetOS string `json:"targetOs" db:"target_os"`
TargetArch string `json:"targetArch" db:"target_arch"`
TargetRelease string `json:"targetRelease,omitempty" db:"target_release"`
PreviousVersion string `json:"previousVersion,omitempty" db:"previous_version"`
JobID string `json:"jobId" db:"job_id"`
IdempotencyKey string `json:"idempotencyKey" db:"idempotency_key"`
Status domain.DistributionJobStatus `json:"status" db:"status"`
Phase domain.RunUpdatePhase `json:"phase" db:"phase"`
Message string `json:"message,omitempty" db:"message"`
Rollback bool `json:"rollback,omitempty" db:"rollback"`
CreatedAt time.Time `json:"createdAt" db:"created_at"`
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
}
@@ -138,6 +152,7 @@ func RuntimeBindingFromDomain(binding domain.RuntimeBinding) RuntimeBinding {
ID: binding.ID,
ServerInstanceID: binding.ServerInstanceID,
PluginID: binding.PluginID,
PluginVersion: binding.PluginVersion,
ProfileKey: binding.ProfileKey,
Mode: binding.Mode,
Bindings: binding.Bindings,
@@ -153,6 +168,7 @@ func (binding RuntimeBinding) ToDomain() domain.RuntimeBinding {
ID: binding.ID,
ServerInstanceID: binding.ServerInstanceID,
PluginID: binding.PluginID,
PluginVersion: binding.PluginVersion,
ProfileKey: binding.ProfileKey,
Mode: binding.Mode,
Bindings: domain.CopyStringMap(binding.Bindings),