first commit

This commit is contained in:
npc0-hue
2026-07-11 14:56:10 +08:00
commit 7e05d0a4e7
660 changed files with 78119 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
package domain
type ServerLifecycleAction string
const (
ServerLifecycleActionCreate ServerLifecycleAction = "create"
ServerLifecycleActionStart ServerLifecycleAction = "start"
ServerLifecycleActionStop ServerLifecycleAction = "stop"
)
const (
LifecycleCapabilityInstall = "process.install"
LifecycleCapabilityStart = "process.start"
LifecycleCapabilityStop = "process.stop"
)
type ServerLifecycleCreate struct {
ID string
PluginID string
RunEndpointID string
Name string
OwnerUserID string
IdempotencyKey string
}
type ServerLifecycleCommand struct {
ServerInstanceID string
ExpectedConfigVersion int
IdempotencyKey string
}
type ServerLifecycleResult struct {
Accepted bool
Action ServerLifecycleAction
Instance ServerInstance
Job Job
}
func LifecycleCapabilityForAction(action ServerLifecycleAction) string {
switch action {
case ServerLifecycleActionCreate:
return LifecycleCapabilityInstall
case ServerLifecycleActionStart:
return LifecycleCapabilityStart
case ServerLifecycleActionStop:
return LifecycleCapabilityStop
default:
return ""
}
}
func CopyServerLifecycleCreate(create ServerLifecycleCreate) ServerLifecycleCreate {
return create
}
func CopyServerLifecycleCommand(command ServerLifecycleCommand) ServerLifecycleCommand {
return command
}
func CopyServerLifecycleResult(result ServerLifecycleResult) ServerLifecycleResult {
result.Instance = CopyServerInstance(result.Instance)
result.Job = CopyJob(result.Job)
return result
}