- route definition
- Url: /api/v1/functions
- Method: GET
- Request:
FunctionsListRequest - Response:
FunctionsListResponse
- request definition
type FunctionsListRequest struct {
Page int `form:"page,optional,default=1"`
PageSize int `form:"pageSize,optional,default=20"`
GameId string `form:"gameId,optional"`
Category string `form:"category,optional"`
Status int `form:"status,optional"`
}
- response definition
type FunctionsListResponse struct {
Items []Function `json:"items"`
Total int64 `json:"total"`
Page int `json:"page"`
Size int `json:"pageSize"`
}
- route definition
- Url: /api/v1/functions/:id
- Method: GET
- Request:
FunctionDetailRequest - Response:
FunctionDetailResponse
- request definition
type FunctionDetailRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionDetailResponse struct {
Id string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Category string `json:"category"`
GameId string `json:"gameId"`
Status int `json:"status"`
Version string `json:"version"`
Instances int `json:"instances"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
Descriptor FunctionDescriptor `json:"descriptor"`
}
type Function struct {
Id string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Category string `json:"category"`
GameId string `json:"gameId"`
Status int `json:"status"`
Version string `json:"version"`
Instances int `json:"instances"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
}
type FunctionDescriptor struct {
Input interface{} `json:"input"`
Output interface{} `json:"output"`
Schema interface{} `json:"schema"`
}
- route definition
- Url: /api/v1/functions/:id
- Method: DELETE
- Request:
FunctionActionRequest - Response:
-
- request definition
type FunctionActionRequest struct {
ID string `path:"id"`
}
- response definition
- route definition
- Url: /api/v1/functions/:id/copy
- Method: POST
- Request:
FunctionCopyRequest - Response:
FunctionCopyResponse
- request definition
type FunctionCopyRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionCopyResponse struct {
FunctionId string `json:"function_id"`
NewId string `json:"new_id"`
}
- route definition
- Url: /api/v1/functions/:id/disable
- Method: POST
- Request:
FunctionActionRequest - Response:
-
- request definition
type FunctionActionRequest struct {
ID string `path:"id"`
}
- response definition
- route definition
- Url: /api/v1/functions/:id/enable
- Method: POST
- Request:
FunctionActionRequest - Response:
-
- request definition
type FunctionActionRequest struct {
ID string `path:"id"`
}
- response definition
- route definition
- Url: /api/v1/functions/:id/instances
- Method: GET
- Request:
FunctionInstancesRequest - Response:
FunctionInstancesResponse
- request definition
type FunctionInstancesRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionInstancesResponse struct {
Items []FunctionInstance `json:"items"`
}
- route definition
- Url: /api/v1/functions/:id/invoke
- Method: POST
- Request:
FunctionInvokeRequest - Response:
FunctionInvokeResponse
- request definition
type FunctionInvokeRequest struct {
ID string `path:"id"`
Params interface{} `json:"params,optional"`
Payload interface{} `json:"payload,optional"`
GameID string `json:"gameId,optional"`
Env string `json:"env,optional"`
Mode string `json:"mode,optional"`
Route string `json:"route,optional"`
TargetServiceID string `json:"target_service_id,optional"`
HashKey string `json:"hash_key,optional"`
}
- response definition
type FunctionInvokeResponse struct {
JobId string `json:"jobId"`
JobID string `json:"jobID,omitempty"`
Result interface{} `json:"result,omitempty"`
}
- route definition
- Url: /api/v1/functions/:id/permissions
- Method: GET
- Request:
FunctionPermissionsRequest - Response:
FunctionPermissionsResponse
- request definition
type FunctionPermissionsRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionPermissionsResponse struct {
Items []FunctionPermission `json:"items"`
}
- route definition
- Url: /api/v1/functions/:id/permissions
- Method: PUT
- Request:
FunctionPermissionsUpdateRequest - Response:
FunctionPermissionsResponse
- request definition
type FunctionPermissionsUpdateRequest struct {
ID string `path:"id"`
Permissions []FunctionPermission `json:"permissions"`
}
- response definition
type FunctionPermissionsResponse struct {
Items []FunctionPermission `json:"items"`
}
- route definition
- Url: /api/v1/functions/:id/publish
- Method: POST
- Request:
FunctionPublishRequest - Response:
FunctionPublishResponse
- request definition
type FunctionPublishRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionPublishResponse struct {
ApprovalId string `json:"approvalId,omitempty"` // 如果需要审批
Published bool `json:"published"`
}
- route definition
- Url: /api/v1/functions/:id/ui
- Method: GET
- Request:
FunctionUIRequest - Response:
FunctionUIResponse
- request definition
type FunctionUIRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionUIResponse struct {
Schema interface{} `json:"schema"`
Layout interface{} `json:"layout"`
Components interface{} `json:"components"`
}
- route definition
- Url: /api/v1/functions/:id/ui
- Method: PUT
- Request:
FunctionUIUpdateRequest - Response:
FunctionUIResponse
- request definition
type FunctionUIUpdateRequest struct {
ID string `path:"id"`
Schema interface{} `json:"schema,optional"`
Layout interface{} `json:"layout,optional"`
Components interface{} `json:"components,optional"`
}
- response definition
type FunctionUIResponse struct {
Schema interface{} `json:"schema"`
Layout interface{} `json:"layout"`
Components interface{} `json:"components"`
}
- route definition
- Url: /api/v1/functions/:id/ui/history
- Method: GET
- Request:
FunctionUIHistoryRequest - Response:
FunctionUIHistoryResponse
- request definition
type FunctionUIHistoryRequest struct {
ID string `path:"id"`
}
- response definition
type FunctionUIHistoryResponse struct {
Items []FunctionUIHistoryItem `json:"items"`
}
- route definition
- Url: /api/v1/functions/:id/ui/rollback
- Method: POST
- Request:
FunctionUIRollbackRequest - Response:
FunctionUIRollbackResponse
- request definition
type FunctionUIRollbackRequest struct {
ID string `path:"id"`
Version int `json:"version"`
}
- response definition
type FunctionUIRollbackResponse struct {
AppliedVersion int `json:"appliedVersion"`
Current *FunctionUIResponse `json:"current"`
}
- route definition
- Url: /api/v1/functions/batch-copy
- Method: POST
- Request:
BatchCopyFunctionsRequest - Response:
BatchCopyFunctionsResponse
- request definition
type BatchCopyFunctionsRequest struct {
FunctionIds []string `json:"function_ids"`
}
- response definition
type BatchCopyFunctionsResponse struct {
Updated int `json:"updated"`
Failed []string `json:"failed"`
Copied []string `json:"copied"` // 新复制的函数ID列表
}
- route definition
- Url: /api/v1/functions/batch-delete
- Method: POST
- Request:
BatchDeleteFunctionsRequest - Response:
BatchDeleteFunctionsResponse
- request definition
type BatchDeleteFunctionsRequest struct {
FunctionIds []string `json:"function_ids"`
}
- response definition
type BatchDeleteFunctionsResponse struct {
Updated int `json:"updated"`
Failed []string `json:"failed"`
}
- route definition
- Url: /api/v1/functions/batch-update
- Method: POST
- Request:
BatchUpdateFunctionsRequest - Response:
BatchUpdateFunctionsResponse
- request definition
type BatchUpdateFunctionsRequest struct {
FunctionIds []string `json:"function_ids"`
Enabled bool `json:"enabled"`
}
- response definition
type BatchUpdateFunctionsResponse struct {
Updated int `json:"updated"`
Failed []string `json:"failed"`
}
- route definition
- Url: /api/v1/functions/descriptors
- Method: GET
- Request:
DescriptorsRequest - Response:
DescriptorsResponse
- request definition
type DescriptorsRequest struct {
Type string `form:"type,optional"`
GameId string `form:"gameId,optional"`
}
- response definition
type DescriptorsResponse struct {
Items []Descriptor `json:"items"`
}
- route definition
- Url: /api/v1/functions/pending
- Method: GET
- Request:
FunctionsPendingRequest - Response:
FunctionsPendingResponse
- request definition
type FunctionsPendingRequest struct {
}
- response definition
type FunctionsPendingResponse struct {
Items []PendingFunction `json:"items"`
}
- route definition
- Url: /api/v1/functions/_openapi-batch
- Method: POST
- Request:
BatchGetSpecRequest - Response:
map[string]interface{}
- request definition
type BatchGetSpecRequest struct {
FunctionIDs []string `json:"function_ids"`
}
- response definition
// key 为 function id,value 为对应的 OpenAPI Operation;未找到时返回 null
map[string]interface{}
- 该接口用于 Dashboard 批量读取函数 OpenAPI,避免逐个请求。
- 当前返回值直接透传注册表中的 OpenAPI operation 对象。