Complete platform management workflows
This commit is contained in:
+18
-8
@@ -12,14 +12,19 @@ type RunCapabilityReport struct {
|
||||
}
|
||||
|
||||
type RunControlHelloRequest struct {
|
||||
RegistrationToken string `json:"registrationToken"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Version string `json:"version"`
|
||||
Status domain.RunEndpointStatus `json:"status"`
|
||||
Platform string `json:"platform,omitempty"`
|
||||
CapabilityReport RunCapabilityReport `json:"capabilityReport"`
|
||||
Capacity RunCapacityResponse `json:"capacity"`
|
||||
RegistrationToken string `json:"registrationToken"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
ServerInstanceID string `json:"serverInstanceId,omitempty"`
|
||||
PluginID string `json:"pluginId,omitempty"`
|
||||
ComponentKind domain.DistributionComponentKind `json:"componentKind,omitempty"`
|
||||
ComponentKey string `json:"componentKey,omitempty"`
|
||||
KeyGeneration int `json:"keyGeneration,omitempty"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Version string `json:"version"`
|
||||
Status domain.RunEndpointStatus `json:"status"`
|
||||
Platform string `json:"platform,omitempty"`
|
||||
CapabilityReport RunCapabilityReport `json:"capabilityReport"`
|
||||
Capacity RunCapacityResponse `json:"capacity"`
|
||||
}
|
||||
|
||||
type RunControlHelloResponse struct {
|
||||
@@ -52,6 +57,11 @@ func (request RunControlHelloRequest) ToDomain() domain.RunControlHello {
|
||||
return domain.RunControlHello{
|
||||
RegistrationToken: request.RegistrationToken,
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
ServerInstanceID: request.ServerInstanceID,
|
||||
PluginID: request.PluginID,
|
||||
ComponentKind: request.ComponentKind,
|
||||
ComponentKey: request.ComponentKey,
|
||||
KeyGeneration: request.KeyGeneration,
|
||||
DisplayName: request.DisplayName,
|
||||
Version: request.Version,
|
||||
Status: request.Status,
|
||||
|
||||
@@ -0,0 +1,346 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"browser.local/platform/domain"
|
||||
)
|
||||
|
||||
type RunDistributionGenerateRequest struct {
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
IdempotencyKey string `json:"idempotencyKey,omitempty"`
|
||||
}
|
||||
|
||||
type RunUpdateRequest struct {
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Checksum string `json:"checksum,omitempty"`
|
||||
IdempotencyKey string `json:"idempotencyKey,omitempty"`
|
||||
}
|
||||
|
||||
type DependencyJobRequest struct {
|
||||
ProbeKey string `json:"probeKey"`
|
||||
InstallPlanKey string `json:"installPlanKey,omitempty"`
|
||||
TargetOS string `json:"targetOs,omitempty"`
|
||||
TargetArch string `json:"targetArch,omitempty"`
|
||||
IdempotencyKey string `json:"idempotencyKey,omitempty"`
|
||||
}
|
||||
|
||||
type LogBackfillRequest struct {
|
||||
SourceKey string `json:"sourceKey"`
|
||||
CheckpointRef string `json:"checkpointRef,omitempty"`
|
||||
Limit int `json:"limit,omitempty"`
|
||||
IdempotencyKey string `json:"idempotencyKey,omitempty"`
|
||||
}
|
||||
|
||||
type ClientManagerDownloadRequest struct {
|
||||
ProfileKey string `json:"profileKey,omitempty"`
|
||||
}
|
||||
|
||||
type ClientManagerBuildRequest struct {
|
||||
ProfileKey string `json:"profileKey"`
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
RepositoryURL string `json:"repositoryUrl"`
|
||||
SourceRevision string `json:"sourceRevision,omitempty"`
|
||||
IdempotencyKey string `json:"idempotencyKey,omitempty"`
|
||||
}
|
||||
|
||||
type ComponentKeyResetRequest struct {
|
||||
ComponentKind string `json:"componentKind"`
|
||||
ComponentKey string `json:"componentKey,omitempty"`
|
||||
}
|
||||
|
||||
type ComponentKeyResponse struct {
|
||||
ID string `json:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
ComponentKind string `json:"componentKind"`
|
||||
ComponentKey string `json:"componentKey,omitempty"`
|
||||
SecretRef string `json:"secretRef"`
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
Generation int `json:"generation"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
ResetAt time.Time `json:"resetAt,omitempty"`
|
||||
}
|
||||
|
||||
type ServerRuntimeActionResponse struct {
|
||||
Key string `json:"key"`
|
||||
Label string `json:"label"`
|
||||
Available bool `json:"available"`
|
||||
Reason string `json:"reason,omitempty"`
|
||||
}
|
||||
|
||||
type ServerRuntimeActionsResponse struct {
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
RunStatus string `json:"runStatus"`
|
||||
Actions []ServerRuntimeActionResponse `json:"actions"`
|
||||
}
|
||||
|
||||
type RunDistributionResponse struct {
|
||||
ID string `json:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
PackageFormat string `json:"packageFormat"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Checksum string `json:"checksum"`
|
||||
KeyGeneration int `json:"keyGeneration"`
|
||||
SecretRef string `json:"secretRef"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type ClientManagerDistributionResponse struct {
|
||||
ID string `json:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
ProfileKey string `json:"profileKey"`
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
RepositoryURL string `json:"repositoryUrl"`
|
||||
SourceRevision string `json:"sourceRevision"`
|
||||
BuildJobID string `json:"buildJobId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Checksum string `json:"checksum"`
|
||||
KeyGeneration int `json:"keyGeneration"`
|
||||
SecretRef string `json:"secretRef"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type DependencyStatusResponse struct {
|
||||
ID string `json:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
ProbeKey string `json:"probeKey"`
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
State string `json:"state"`
|
||||
Required bool `json:"required"`
|
||||
InstallPlanKey string `json:"installPlanKey,omitempty"`
|
||||
Message string `json:"message,omitempty"`
|
||||
CheckedAt time.Time `json:"checkedAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type ClientManagerBuildJobResponse struct {
|
||||
ID string `json:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
ProfileKey string `json:"profileKey"`
|
||||
TargetOS string `json:"targetOs"`
|
||||
TargetArch string `json:"targetArch"`
|
||||
RepositoryURL string `json:"repositoryUrl"`
|
||||
SourceRevision string `json:"sourceRevision"`
|
||||
ArtifactID string `json:"artifactId,omitempty"`
|
||||
Checksum string `json:"checksum,omitempty"`
|
||||
KeyGeneration int `json:"keyGeneration,omitempty"`
|
||||
LogsRef string `json:"logsRef,omitempty"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type RunUpdateJobResponse struct {
|
||||
ID string `json:"id"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Checksum string `json:"checksum"`
|
||||
JobID string `json:"jobId,omitempty"`
|
||||
IdempotencyKey string `json:"idempotencyKey,omitempty"`
|
||||
Status string `json:"status"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func (request RunDistributionGenerateRequest) ToDomain(serverInstanceID string) domain.RunDistributionGenerateRequest {
|
||||
return domain.RunDistributionGenerateRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
TargetOS: request.TargetOS,
|
||||
TargetArch: request.TargetArch,
|
||||
IdempotencyKey: request.IdempotencyKey,
|
||||
}
|
||||
}
|
||||
|
||||
func (request RunUpdateRequest) ToDomain(serverInstanceID string) domain.RunUpdateRequest {
|
||||
return domain.RunUpdateRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
ArtifactID: request.ArtifactID,
|
||||
Checksum: request.Checksum,
|
||||
IdempotencyKey: request.IdempotencyKey,
|
||||
}
|
||||
}
|
||||
|
||||
func (request DependencyJobRequest) ToDomain(serverInstanceID string, install bool) domain.DependencyJobRequest {
|
||||
return domain.DependencyJobRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
ProbeKey: request.ProbeKey,
|
||||
InstallPlanKey: request.InstallPlanKey,
|
||||
TargetOS: request.TargetOS,
|
||||
TargetArch: request.TargetArch,
|
||||
IdempotencyKey: request.IdempotencyKey,
|
||||
Install: install,
|
||||
}
|
||||
}
|
||||
|
||||
func (request LogBackfillRequest) ToDomain(serverInstanceID string) domain.LogBackfillRequest {
|
||||
return domain.LogBackfillRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
SourceKey: request.SourceKey,
|
||||
CheckpointRef: request.CheckpointRef,
|
||||
Limit: request.Limit,
|
||||
IdempotencyKey: request.IdempotencyKey,
|
||||
}
|
||||
}
|
||||
|
||||
func (request ClientManagerBuildRequest) ToDomain(serverInstanceID string) domain.ClientManagerBuildRequest {
|
||||
return domain.ClientManagerBuildRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
ProfileKey: request.ProfileKey,
|
||||
TargetOS: request.TargetOS,
|
||||
TargetArch: request.TargetArch,
|
||||
RepositoryURL: request.RepositoryURL,
|
||||
SourceRevision: request.SourceRevision,
|
||||
IdempotencyKey: request.IdempotencyKey,
|
||||
}
|
||||
}
|
||||
|
||||
func (request ComponentKeyResetRequest) ToDomain(serverInstanceID string) domain.ComponentKeyResetRequest {
|
||||
return domain.ComponentKeyResetRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
ComponentKind: domain.DistributionComponentKind(request.ComponentKind),
|
||||
ComponentKey: request.ComponentKey,
|
||||
}
|
||||
}
|
||||
|
||||
func ComponentKeyFromDomain(key domain.EncryptedComponentKey) ComponentKeyResponse {
|
||||
return ComponentKeyResponse{
|
||||
ID: key.ID,
|
||||
ServerInstanceID: key.ServerInstanceID,
|
||||
ComponentKind: string(key.ComponentKind),
|
||||
ComponentKey: key.ComponentKey,
|
||||
SecretRef: key.SecretRef,
|
||||
Fingerprint: key.Fingerprint,
|
||||
Generation: key.Generation,
|
||||
Status: string(key.Status),
|
||||
CreatedAt: key.CreatedAt,
|
||||
UpdatedAt: key.UpdatedAt,
|
||||
ResetAt: key.ResetAt,
|
||||
}
|
||||
}
|
||||
|
||||
func ServerRuntimeActionsFromDomain(actions domain.ServerRuntimeActions) ServerRuntimeActionsResponse {
|
||||
actions = domain.CopyServerRuntimeActions(actions)
|
||||
items := make([]ServerRuntimeActionResponse, len(actions.Actions))
|
||||
for i, action := range actions.Actions {
|
||||
items[i] = ServerRuntimeActionResponse{Key: action.Key, Label: action.Label, Available: action.Available, Reason: action.Reason}
|
||||
}
|
||||
return ServerRuntimeActionsResponse{
|
||||
ServerInstanceID: actions.ServerInstanceID,
|
||||
PluginID: actions.PluginID,
|
||||
RunEndpointID: actions.RunEndpointID,
|
||||
RunStatus: string(actions.RunStatus),
|
||||
Actions: items,
|
||||
}
|
||||
}
|
||||
|
||||
func RunDistributionFromDomain(distribution domain.RunDistribution) RunDistributionResponse {
|
||||
return RunDistributionResponse{
|
||||
ID: distribution.ID,
|
||||
ServerInstanceID: distribution.ServerInstanceID,
|
||||
PluginID: distribution.PluginID,
|
||||
RunEndpointID: distribution.RunEndpointID,
|
||||
TargetOS: distribution.TargetOS,
|
||||
TargetArch: distribution.TargetArch,
|
||||
PackageFormat: distribution.PackageFormat,
|
||||
ArtifactID: distribution.ArtifactID,
|
||||
Checksum: distribution.Checksum,
|
||||
KeyGeneration: distribution.KeyGeneration,
|
||||
SecretRef: distribution.SecretRef,
|
||||
Status: string(distribution.Status),
|
||||
CreatedAt: distribution.CreatedAt,
|
||||
UpdatedAt: distribution.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func ClientManagerDistributionFromDomain(distribution domain.ClientManagerDistribution) ClientManagerDistributionResponse {
|
||||
return ClientManagerDistributionResponse{
|
||||
ID: distribution.ID,
|
||||
ServerInstanceID: distribution.ServerInstanceID,
|
||||
PluginID: distribution.PluginID,
|
||||
ProfileKey: distribution.ProfileKey,
|
||||
TargetOS: distribution.TargetOS,
|
||||
TargetArch: distribution.TargetArch,
|
||||
RepositoryURL: distribution.RepositoryURL,
|
||||
SourceRevision: distribution.SourceRevision,
|
||||
BuildJobID: distribution.BuildJobID,
|
||||
ArtifactID: distribution.ArtifactID,
|
||||
Checksum: distribution.Checksum,
|
||||
KeyGeneration: distribution.KeyGeneration,
|
||||
SecretRef: distribution.SecretRef,
|
||||
Status: string(distribution.Status),
|
||||
CreatedAt: distribution.CreatedAt,
|
||||
UpdatedAt: distribution.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func DependencyStatusFromDomain(status domain.DependencyStatus) DependencyStatusResponse {
|
||||
return DependencyStatusResponse{
|
||||
ID: status.ID,
|
||||
ServerInstanceID: status.ServerInstanceID,
|
||||
PluginID: status.PluginID,
|
||||
ProbeKey: status.ProbeKey,
|
||||
TargetOS: status.TargetOS,
|
||||
TargetArch: status.TargetArch,
|
||||
State: string(status.State),
|
||||
Required: status.Required,
|
||||
InstallPlanKey: status.InstallPlanKey,
|
||||
Message: status.Message,
|
||||
CheckedAt: status.CheckedAt,
|
||||
UpdatedAt: status.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func ClientManagerBuildJobFromDomain(job domain.ClientManagerBuildJob) ClientManagerBuildJobResponse {
|
||||
return ClientManagerBuildJobResponse{
|
||||
ID: job.ID,
|
||||
ServerInstanceID: job.ServerInstanceID,
|
||||
PluginID: job.PluginID,
|
||||
ProfileKey: job.ProfileKey,
|
||||
TargetOS: job.TargetOS,
|
||||
TargetArch: job.TargetArch,
|
||||
RepositoryURL: job.RepositoryURL,
|
||||
SourceRevision: job.SourceRevision,
|
||||
ArtifactID: job.ArtifactID,
|
||||
Checksum: job.Checksum,
|
||||
KeyGeneration: job.KeyGeneration,
|
||||
LogsRef: job.LogsRef,
|
||||
Status: string(job.Status),
|
||||
CreatedAt: job.CreatedAt,
|
||||
UpdatedAt: job.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func RunUpdateJobFromDomain(job domain.RunUpdateJob) RunUpdateJobResponse {
|
||||
return RunUpdateJobResponse{
|
||||
ID: job.ID,
|
||||
ServerInstanceID: job.ServerInstanceID,
|
||||
RunEndpointID: job.RunEndpointID,
|
||||
ArtifactID: job.ArtifactID,
|
||||
Checksum: job.Checksum,
|
||||
JobID: job.JobID,
|
||||
IdempotencyKey: job.IdempotencyKey,
|
||||
Status: string(job.Status),
|
||||
CreatedAt: job.CreatedAt,
|
||||
UpdatedAt: job.UpdatedAt,
|
||||
}
|
||||
}
|
||||
+63
-15
@@ -158,11 +158,12 @@ type AIProviderModelsResponse struct {
|
||||
}
|
||||
|
||||
type PluginPermissionsResponse struct {
|
||||
AI bool `json:"ai"`
|
||||
Logs bool `json:"logs"`
|
||||
Files bool `json:"files"`
|
||||
Jobs bool `json:"jobs"`
|
||||
Artifacts bool `json:"artifacts"`
|
||||
AI bool `json:"ai"`
|
||||
Logs bool `json:"logs"`
|
||||
Files bool `json:"files"`
|
||||
Jobs bool `json:"jobs"`
|
||||
Artifacts bool `json:"artifacts"`
|
||||
RemoteAccess bool `json:"remoteAccess"`
|
||||
}
|
||||
|
||||
type PluginLifecycleActionsBody struct {
|
||||
@@ -196,6 +197,14 @@ type GamePluginManifestAIBody struct {
|
||||
Purposes []string `json:"purposes,omitempty"`
|
||||
}
|
||||
|
||||
type GamePluginRemoteAccessBody struct {
|
||||
Methods []string `json:"methods,omitempty"`
|
||||
RunCapabilities []string `json:"runCapabilities,omitempty"`
|
||||
DatabaseEngines []string `json:"databaseEngines,omitempty"`
|
||||
RCON bool `json:"rcon,omitempty"`
|
||||
LogTransfer bool `json:"logTransfer,omitempty"`
|
||||
}
|
||||
|
||||
type GamePluginManifestBody struct {
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
@@ -210,6 +219,7 @@ type GamePluginManifestBody struct {
|
||||
Actions PluginLifecycleActionsBody `json:"actions"`
|
||||
Pages []GamePluginPageBody `json:"pages,omitempty"`
|
||||
AI GamePluginManifestAIBody `json:"ai,omitempty"`
|
||||
RemoteAccess GamePluginRemoteAccessBody `json:"remoteAccess,omitempty"`
|
||||
}
|
||||
|
||||
type GamePluginManifestRegistrationRequest struct {
|
||||
@@ -235,6 +245,7 @@ type GamePluginCreateRequest struct {
|
||||
Pages []GamePluginPageBody `json:"pages,omitempty"`
|
||||
Tags []string `json:"tags,omitempty"`
|
||||
AIPurposes []string `json:"aiPurposes,omitempty"`
|
||||
RemoteAccess GamePluginRemoteAccessBody `json:"remoteAccess,omitempty"`
|
||||
ValidationViolations []string `json:"validationViolations,omitempty"`
|
||||
}
|
||||
|
||||
@@ -256,6 +267,7 @@ type GamePluginResponse struct {
|
||||
Pages []GamePluginPageBody `json:"pages"`
|
||||
Tags []string `json:"tags"`
|
||||
AIPurposes []string `json:"aiPurposes"`
|
||||
RemoteAccess GamePluginRemoteAccessBody `json:"remoteAccess,omitempty"`
|
||||
ValidationViolations []string `json:"validationViolations,omitempty"`
|
||||
Status domain.GamePluginStatus `json:"status"`
|
||||
}
|
||||
@@ -283,6 +295,7 @@ type MarketplacePluginResponse struct {
|
||||
Pages []GamePluginPageBody `json:"pages"`
|
||||
Tags []string `json:"tags"`
|
||||
AIPurposes []string `json:"aiPurposes"`
|
||||
RemoteAccess GamePluginRemoteAccessBody `json:"remoteAccess,omitempty"`
|
||||
ValidationViolations []string `json:"validationViolations,omitempty"`
|
||||
Status domain.GamePluginStatus `json:"status"`
|
||||
Source string `json:"source"`
|
||||
@@ -353,6 +366,10 @@ type ServerInstanceCreateRequest struct {
|
||||
State domain.ServerInstanceState `json:"state,omitempty"`
|
||||
}
|
||||
|
||||
type ServerInstanceUpdateRequest struct {
|
||||
Name *string `json:"name,omitempty"`
|
||||
}
|
||||
|
||||
type ServerMemberRequest struct {
|
||||
UserID string `json:"userId"`
|
||||
}
|
||||
@@ -764,6 +781,7 @@ func (request GamePluginManifestRegistrationRequest) ToDomain() domain.GamePlugi
|
||||
Actions: request.Manifest.Actions.ToDomain(),
|
||||
Pages: pagesToDomain(request.Manifest.Pages),
|
||||
AI: request.Manifest.AI.ToDomain(),
|
||||
RemoteAccess: request.Manifest.RemoteAccess.ToDomain(),
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -785,6 +803,16 @@ func (ai GamePluginManifestAIBody) ToDomain() domain.GamePluginManifestAI {
|
||||
return domain.GamePluginManifestAI{Purposes: domain.CopyStringSlice(ai.Purposes)}
|
||||
}
|
||||
|
||||
func (remote GamePluginRemoteAccessBody) ToDomain() domain.GamePluginRemoteAccess {
|
||||
return domain.GamePluginRemoteAccess{
|
||||
Methods: domain.CopyStringSlice(remote.Methods),
|
||||
RunCapabilities: domain.CopyStringSlice(remote.RunCapabilities),
|
||||
DatabaseEngines: domain.CopyStringSlice(remote.DatabaseEngines),
|
||||
RCON: remote.RCON,
|
||||
LogTransfer: remote.LogTransfer,
|
||||
}
|
||||
}
|
||||
|
||||
func (actions PluginLifecycleActionsBody) ToDomain() domain.PluginLifecycleActions {
|
||||
return domain.PluginLifecycleActions{
|
||||
Install: actions.Install,
|
||||
@@ -814,6 +842,7 @@ func (request GamePluginCreateRequest) ToDomain() domain.GamePlugin {
|
||||
Pages: pagesToDomain(request.Pages),
|
||||
Tags: domain.CopyStringSlice(request.Tags),
|
||||
AIPurposes: domain.CopyStringSlice(request.AIPurposes),
|
||||
RemoteAccess: request.RemoteAccess.ToDomain(),
|
||||
ValidationViolations: domain.CopyStringSlice(request.ValidationViolations),
|
||||
}
|
||||
}
|
||||
@@ -830,6 +859,10 @@ func (request ServerInstanceCreateRequest) ToDomain() domain.ServerInstance {
|
||||
}
|
||||
}
|
||||
|
||||
func (request ServerInstanceUpdateRequest) ToDomain() domain.ServerInstanceUpdate {
|
||||
return domain.ServerInstanceUpdate{Name: request.Name}
|
||||
}
|
||||
|
||||
func (request ServerConfigDiffPreviewRequest) ToDomain(serverInstanceID string) domain.ServerConfigDiffRequest {
|
||||
return domain.ServerConfigDiffRequest{
|
||||
ServerInstanceID: serverInstanceID,
|
||||
@@ -1045,6 +1078,7 @@ func GamePluginFromDomain(plugin domain.GamePlugin) GamePluginResponse {
|
||||
Pages: pagesFromDomain(plugin.Pages),
|
||||
Tags: plugin.Tags,
|
||||
AIPurposes: plugin.AIPurposes,
|
||||
RemoteAccess: remoteAccessFromDomain(plugin.RemoteAccess),
|
||||
ValidationViolations: plugin.ValidationViolations,
|
||||
Status: plugin.Status,
|
||||
}
|
||||
@@ -1132,6 +1166,7 @@ func MarketplacePluginFromDomain(plugin domain.PluginMarketplacePlugin) Marketpl
|
||||
Pages: pagesFromDomain(plugin.Pages),
|
||||
Tags: plugin.Tags,
|
||||
AIPurposes: plugin.AIPurposes,
|
||||
RemoteAccess: remoteAccessFromDomain(plugin.RemoteAccess),
|
||||
ValidationViolations: plugin.ValidationViolations,
|
||||
Status: plugin.Status,
|
||||
Source: plugin.Source,
|
||||
@@ -1403,21 +1438,34 @@ func AuditEventListFromDomain(events []domain.AuditEvent) AuditEventListResponse
|
||||
|
||||
func permissionsFromDomain(permissions domain.PluginPermissions) PluginPermissionsResponse {
|
||||
return PluginPermissionsResponse{
|
||||
AI: permissions.AI,
|
||||
Logs: permissions.Logs,
|
||||
Files: permissions.Files,
|
||||
Jobs: permissions.Jobs,
|
||||
Artifacts: permissions.Artifacts,
|
||||
AI: permissions.AI,
|
||||
Logs: permissions.Logs,
|
||||
Files: permissions.Files,
|
||||
Jobs: permissions.Jobs,
|
||||
Artifacts: permissions.Artifacts,
|
||||
RemoteAccess: permissions.RemoteAccess,
|
||||
}
|
||||
}
|
||||
|
||||
func permissionsToDomain(permissions PluginPermissionsResponse) domain.PluginPermissions {
|
||||
return domain.PluginPermissions{
|
||||
AI: permissions.AI,
|
||||
Logs: permissions.Logs,
|
||||
Files: permissions.Files,
|
||||
Jobs: permissions.Jobs,
|
||||
Artifacts: permissions.Artifacts,
|
||||
AI: permissions.AI,
|
||||
Logs: permissions.Logs,
|
||||
Files: permissions.Files,
|
||||
Jobs: permissions.Jobs,
|
||||
Artifacts: permissions.Artifacts,
|
||||
RemoteAccess: permissions.RemoteAccess,
|
||||
}
|
||||
}
|
||||
|
||||
func remoteAccessFromDomain(remote domain.GamePluginRemoteAccess) GamePluginRemoteAccessBody {
|
||||
remote = domain.CopyGamePluginRemoteAccess(remote)
|
||||
return GamePluginRemoteAccessBody{
|
||||
Methods: remote.Methods,
|
||||
RunCapabilities: remote.RunCapabilities,
|
||||
DatabaseEngines: remote.DatabaseEngines,
|
||||
RCON: remote.RCON,
|
||||
LogTransfer: remote.LogTransfer,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user