-
This commit is contained in:
@ -46,37 +46,37 @@ type Owner struct {
|
||||
|
||||
// FunctionDefinition represents a serverless function
|
||||
type FunctionDefinition struct {
|
||||
ID uuid.UUID `json:"id" db:"id"`
|
||||
Name string `json:"name" validate:"required,min=1,max=255" db:"name"`
|
||||
AppID string `json:"app_id" validate:"required" db:"app_id"`
|
||||
Runtime RuntimeType `json:"runtime" validate:"required" db:"runtime"`
|
||||
Image string `json:"image" validate:"required" db:"image"`
|
||||
Handler string `json:"handler" validate:"required" db:"handler"`
|
||||
Code string `json:"code,omitempty" db:"code"`
|
||||
Environment map[string]string `json:"environment,omitempty" db:"environment"`
|
||||
Timeout Duration `json:"timeout" validate:"required" db:"timeout"`
|
||||
Memory int `json:"memory" validate:"required,min=64,max=3008" db:"memory"`
|
||||
Owner Owner `json:"owner" validate:"required"`
|
||||
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
|
||||
ID uuid.UUID `json:"id" db:"id"`
|
||||
Name string `json:"name" validate:"required,min=1,max=255" db:"name"`
|
||||
AppID string `json:"app_id" validate:"required" db:"app_id"`
|
||||
Runtime RuntimeType `json:"runtime" validate:"required" db:"runtime"`
|
||||
Image string `json:"image" validate:"required" db:"image"`
|
||||
Handler string `json:"handler" validate:"required" db:"handler"`
|
||||
Code string `json:"code,omitempty" db:"code"`
|
||||
Environment map[string]string `json:"environment,omitempty" db:"environment"`
|
||||
Timeout Duration `json:"timeout" validate:"required" db:"timeout"`
|
||||
Memory int `json:"memory" validate:"required,min=64,max=3008" db:"memory"`
|
||||
Owner Owner `json:"owner" validate:"required"`
|
||||
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
|
||||
}
|
||||
|
||||
// FunctionExecution represents a function execution
|
||||
type FunctionExecution struct {
|
||||
ID uuid.UUID `json:"id" db:"id"`
|
||||
FunctionID uuid.UUID `json:"function_id" db:"function_id"`
|
||||
Status ExecutionStatus `json:"status" db:"status"`
|
||||
Input json.RawMessage `json:"input,omitempty" db:"input"`
|
||||
Output json.RawMessage `json:"output,omitempty" db:"output"`
|
||||
Error string `json:"error,omitempty" db:"error"`
|
||||
Duration time.Duration `json:"duration" db:"duration"`
|
||||
MemoryUsed int `json:"memory_used" db:"memory_used"`
|
||||
Logs []string `json:"logs,omitempty" db:"logs"`
|
||||
ContainerID string `json:"container_id,omitempty" db:"container_id"`
|
||||
ExecutorID string `json:"executor_id" db:"executor_id"`
|
||||
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
||||
StartedAt *time.Time `json:"started_at,omitempty" db:"started_at"`
|
||||
CompletedAt *time.Time `json:"completed_at,omitempty" db:"completed_at"`
|
||||
ID uuid.UUID `json:"id" db:"id"`
|
||||
FunctionID uuid.UUID `json:"function_id" db:"function_id"`
|
||||
Status ExecutionStatus `json:"status" db:"status"`
|
||||
Input json.RawMessage `json:"input,omitempty" db:"input"`
|
||||
Output json.RawMessage `json:"output,omitempty" db:"output"`
|
||||
Error string `json:"error,omitempty" db:"error"`
|
||||
Duration time.Duration `json:"duration" db:"duration"`
|
||||
MemoryUsed int `json:"memory_used" db:"memory_used"`
|
||||
Logs []string `json:"logs,omitempty" db:"logs"`
|
||||
ContainerID string `json:"container_id,omitempty" db:"container_id"`
|
||||
ExecutorID string `json:"executor_id" db:"executor_id"`
|
||||
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
||||
StartedAt *time.Time `json:"started_at,omitempty" db:"started_at"`
|
||||
CompletedAt *time.Time `json:"completed_at,omitempty" db:"completed_at"`
|
||||
}
|
||||
|
||||
// CreateFunctionRequest represents a request to create a new function
|
||||
@ -115,12 +115,12 @@ type ExecuteFunctionRequest struct {
|
||||
|
||||
// ExecuteFunctionResponse represents a response for function execution
|
||||
type ExecuteFunctionResponse struct {
|
||||
ExecutionID uuid.UUID `json:"execution_id"`
|
||||
Status ExecutionStatus `json:"status"`
|
||||
Output json.RawMessage `json:"output,omitempty"`
|
||||
Error string `json:"error,omitempty"`
|
||||
Duration time.Duration `json:"duration,omitempty"`
|
||||
MemoryUsed int `json:"memory_used,omitempty"`
|
||||
ExecutionID uuid.UUID `json:"execution_id"`
|
||||
Status ExecutionStatus `json:"status"`
|
||||
Output json.RawMessage `json:"output,omitempty"`
|
||||
Error string `json:"error,omitempty"`
|
||||
Duration time.Duration `json:"duration,omitempty"`
|
||||
MemoryUsed int `json:"memory_used,omitempty"`
|
||||
}
|
||||
|
||||
// DeployFunctionRequest represents a request to deploy a function
|
||||
@ -131,17 +131,17 @@ type DeployFunctionRequest struct {
|
||||
|
||||
// DeployFunctionResponse represents a response for function deployment
|
||||
type DeployFunctionResponse struct {
|
||||
Status string `json:"status"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Image string `json:"image,omitempty"`
|
||||
ImageID string `json:"image_id,omitempty"`
|
||||
Status string `json:"status"`
|
||||
Message string `json:"message,omitempty"`
|
||||
Image string `json:"image,omitempty"`
|
||||
ImageID string `json:"image_id,omitempty"`
|
||||
}
|
||||
|
||||
// RuntimeInfo represents runtime information
|
||||
type RuntimeInfo struct {
|
||||
Type RuntimeType `json:"type"`
|
||||
Version string `json:"version"`
|
||||
Available bool `json:"available"`
|
||||
Type RuntimeType `json:"type"`
|
||||
Version string `json:"version"`
|
||||
Available bool `json:"available"`
|
||||
DefaultImage string `json:"default_image"`
|
||||
Description string `json:"description"`
|
||||
}
|
||||
@ -161,4 +161,4 @@ type AuthContext struct {
|
||||
AppID string `json:"app_id"`
|
||||
Permissions []string `json:"permissions"`
|
||||
Claims map[string]string `json:"claims"`
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user