Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
464 lines
24 KiB
Go
464 lines
24 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"strings"
|
|
|
|
tuttigenerated "github.com/tutti-os/tutti/services/tuttid/api/generated"
|
|
workspaceapi "github.com/tutti-os/tutti/services/tuttid/api/workspace"
|
|
"github.com/tutti-os/tutti/services/tuttid/apierrors"
|
|
workspacebiz "github.com/tutti-os/tutti/services/tuttid/biz/workspace"
|
|
agentservice "github.com/tutti-os/tutti/services/tuttid/service/agent"
|
|
workspaceservice "github.com/tutti-os/tutti/services/tuttid/service/workspace"
|
|
)
|
|
|
|
type AppFactoryService interface {
|
|
Cancel(context.Context, string, string) (workspacebiz.AppFactoryJob, error)
|
|
Create(context.Context, string, workspaceservice.CreateAppFactoryJobInput) (workspacebiz.AppFactoryJob, error)
|
|
Delete(context.Context, string, string) error
|
|
Fix(context.Context, string, string, workspaceservice.FixAppFactoryJobInput) (workspacebiz.AppFactoryJob, error)
|
|
Get(context.Context, string, string) (workspacebiz.AppFactoryJob, error)
|
|
GetAgentTargetComposerOptions(context.Context, string, workspaceservice.AppFactoryAgentTargetComposerOptionsInput) (agentservice.ComposerOptions, error)
|
|
List(context.Context, string) ([]workspacebiz.AppFactoryJob, error)
|
|
PrepareModification(context.Context, string, string) (workspacebiz.AppFactoryJob, error)
|
|
Publish(context.Context, string, string) (workspacebiz.AppFactoryJob, workspacebiz.WorkspaceApp, error)
|
|
RetryValidation(context.Context, string, string) (workspacebiz.AppFactoryJob, error)
|
|
}
|
|
|
|
func workspaceAppFactoryServiceUnavailableError() tuttigenerated.ServiceUnavailableErrorJSONResponse {
|
|
return serviceUnavailableError(
|
|
apierrors.WorkspaceAppServiceUnavailable(
|
|
apierrors.WithDeveloperMessage("workspace app factory service is unavailable"),
|
|
),
|
|
)
|
|
}
|
|
|
|
func (api DaemonAPI) ListWorkspaceAppFactoryJobs(ctx context.Context, request tuttigenerated.ListWorkspaceAppFactoryJobsRequestObject) (tuttigenerated.ListWorkspaceAppFactoryJobsResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.ListWorkspaceAppFactoryJobs503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID := strings.TrimSpace(string(request.WorkspaceID))
|
|
if workspaceID == "" {
|
|
return tuttigenerated.ListWorkspaceAppFactoryJobs400JSONResponse{InvalidRequestErrorJSONResponse: invalidWorkspaceIDError()}, nil
|
|
}
|
|
jobs, err := api.AppFactoryService.List(ctx, workspaceID)
|
|
if err != nil {
|
|
return writeListWorkspaceAppFactoryJobsError(err), nil
|
|
}
|
|
return tuttigenerated.ListWorkspaceAppFactoryJobs200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Jobs: generatedAppFactoryJobs(jobs),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) CreateWorkspaceAppFactoryJob(ctx context.Context, request tuttigenerated.CreateWorkspaceAppFactoryJobRequestObject) (tuttigenerated.CreateWorkspaceAppFactoryJobResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID := strings.TrimSpace(string(request.WorkspaceID))
|
|
if workspaceID == "" {
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidWorkspaceIDError()}, nil
|
|
}
|
|
if request.Body == nil || strings.TrimSpace(request.Body.Prompt) == "" {
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(apierrors.MalformedRequest(apierrors.WithDeveloperMessage("app factory prompt is required")))}, nil
|
|
}
|
|
if strings.TrimSpace(request.Body.DisplayName) == "" {
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(apierrors.MalformedRequest(apierrors.WithDeveloperMessage("app factory display name is required")))}, nil
|
|
}
|
|
if strings.TrimSpace(request.Body.AgentTargetId) == "" {
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(apierrors.MalformedRequest(
|
|
apierrors.WithDeveloperMessage("agent target id is required"),
|
|
apierrors.WithParams(map[string]any{"field": "agentTargetId"}),
|
|
))}, nil
|
|
}
|
|
if strings.TrimSpace(request.Body.ClientSubmitId) == "" {
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(apierrors.MalformedRequest(
|
|
apierrors.WithDeveloperMessage("client submit id is required"),
|
|
apierrors.WithParams(map[string]any{"field": "clientSubmitId"}),
|
|
))}, nil
|
|
}
|
|
job, err := api.AppFactoryService.Create(ctx, workspaceID, workspaceservice.CreateAppFactoryJobInput{
|
|
Prompt: request.Body.Prompt,
|
|
DisplayName: request.Body.DisplayName,
|
|
Description: optionalStringValue(request.Body.Description),
|
|
AgentTargetID: request.Body.AgentTargetId,
|
|
Model: optionalStringValue(request.Body.Model),
|
|
PermissionModeID: optionalStringValue(
|
|
request.Body.PermissionModeId,
|
|
),
|
|
ReasoningEffort: optionalStringValue(request.Body.ReasoningEffort),
|
|
})
|
|
if err != nil {
|
|
return writeCreateWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob201JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) GetWorkspaceAppFactoryAgentTargetComposerOptions(ctx context.Context, request tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptionsRequestObject) (tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptionsResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID := strings.TrimSpace(string(request.WorkspaceID))
|
|
if workspaceID == "" {
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions400JSONResponse{InvalidRequestErrorJSONResponse: invalidWorkspaceIDError()}, nil
|
|
}
|
|
agentTargetID := strings.TrimSpace(request.AgentTargetID)
|
|
if agentTargetID == "" {
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions400JSONResponse{
|
|
InvalidRequestErrorJSONResponse: invalidRequestError(apierrors.MalformedRequest(
|
|
apierrors.WithDeveloperMessage("agent target id is required"),
|
|
apierrors.WithParams(map[string]any{"field": "agentTargetId"}),
|
|
)),
|
|
}, nil
|
|
}
|
|
settings := agentservice.ComposerSettings{}
|
|
section := agentservice.ComposerOptionsSectionFull
|
|
if request.Body != nil && request.Body.Section != nil {
|
|
section = agentservice.ComposerOptionsSection(*request.Body.Section)
|
|
}
|
|
if request.Body != nil && request.Body.Settings != nil {
|
|
settings = composerSettingsFromGenerated(*request.Body.Settings)
|
|
}
|
|
locale := api.composerDefaultLocale(ctx)
|
|
if request.Body != nil && request.Body.Locale != nil {
|
|
locale = string(*request.Body.Locale)
|
|
}
|
|
options, err := api.AppFactoryService.GetAgentTargetComposerOptions(ctx, workspaceID, workspaceservice.AppFactoryAgentTargetComposerOptionsInput{
|
|
AgentTargetID: agentTargetID,
|
|
Locale: locale,
|
|
Section: section,
|
|
Settings: settings,
|
|
})
|
|
if err != nil {
|
|
return writeGetWorkspaceAppFactoryAgentTargetComposerOptionsError(err), nil
|
|
}
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions200JSONResponse(
|
|
generatedAgentProviderComposerOptions(options),
|
|
), nil
|
|
}
|
|
|
|
func (api DaemonAPI) GetWorkspaceAppFactoryJob(ctx context.Context, request tuttigenerated.GetWorkspaceAppFactoryJobRequestObject) (tuttigenerated.GetWorkspaceAppFactoryJobResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.GetWorkspaceAppFactoryJob503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.GetWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
job, err := api.AppFactoryService.Get(ctx, workspaceID, jobID)
|
|
if err != nil {
|
|
return writeGetWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
return tuttigenerated.GetWorkspaceAppFactoryJob200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) DeleteWorkspaceAppFactoryJob(ctx context.Context, request tuttigenerated.DeleteWorkspaceAppFactoryJobRequestObject) (tuttigenerated.DeleteWorkspaceAppFactoryJobResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.DeleteWorkspaceAppFactoryJob503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.DeleteWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
if err := api.AppFactoryService.Delete(ctx, workspaceID, jobID); err != nil {
|
|
return writeDeleteWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
jobs, err := api.AppFactoryService.List(ctx, workspaceID)
|
|
if err != nil {
|
|
return writeDeleteWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
return tuttigenerated.DeleteWorkspaceAppFactoryJob200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Jobs: generatedAppFactoryJobs(jobs),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) CancelWorkspaceAppFactoryJob(ctx context.Context, request tuttigenerated.CancelWorkspaceAppFactoryJobRequestObject) (tuttigenerated.CancelWorkspaceAppFactoryJobResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.CancelWorkspaceAppFactoryJob503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.CancelWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
job, err := api.AppFactoryService.Cancel(ctx, workspaceID, jobID)
|
|
if err != nil {
|
|
return writeCancelWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
return tuttigenerated.CancelWorkspaceAppFactoryJob200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) RetryWorkspaceAppFactoryJobValidation(ctx context.Context, request tuttigenerated.RetryWorkspaceAppFactoryJobValidationRequestObject) (tuttigenerated.RetryWorkspaceAppFactoryJobValidationResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.RetryWorkspaceAppFactoryJobValidation503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.RetryWorkspaceAppFactoryJobValidation400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
job, err := api.AppFactoryService.RetryValidation(ctx, workspaceID, jobID)
|
|
if err != nil {
|
|
return writeRetryWorkspaceAppFactoryJobValidationError(err), nil
|
|
}
|
|
return tuttigenerated.RetryWorkspaceAppFactoryJobValidation200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) FixWorkspaceAppFactoryJob(ctx context.Context, request tuttigenerated.FixWorkspaceAppFactoryJobRequestObject) (tuttigenerated.FixWorkspaceAppFactoryJobResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
if request.Body == nil || strings.TrimSpace(request.Body.Prompt) == "" {
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(apierrors.MalformedRequest(apierrors.WithDeveloperMessage("app factory fix prompt is required")))}, nil
|
|
}
|
|
job, err := api.AppFactoryService.Fix(ctx, workspaceID, jobID, workspaceservice.FixAppFactoryJobInput{Prompt: request.Body.Prompt})
|
|
if err != nil {
|
|
return writeFixWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) PrepareWorkspaceAppFactoryJobModification(ctx context.Context, request tuttigenerated.PrepareWorkspaceAppFactoryJobModificationRequestObject) (tuttigenerated.PrepareWorkspaceAppFactoryJobModificationResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.PrepareWorkspaceAppFactoryJobModification503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.PrepareWorkspaceAppFactoryJobModification400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
job, err := api.AppFactoryService.PrepareModification(ctx, workspaceID, jobID)
|
|
if err != nil {
|
|
return writePrepareWorkspaceAppFactoryJobModificationError(err), nil
|
|
}
|
|
return tuttigenerated.PrepareWorkspaceAppFactoryJobModification200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
}, nil
|
|
}
|
|
|
|
func (api DaemonAPI) PublishWorkspaceAppFactoryJob(ctx context.Context, request tuttigenerated.PublishWorkspaceAppFactoryJobRequestObject) (tuttigenerated.PublishWorkspaceAppFactoryJobResponseObject, error) {
|
|
if api.AppFactoryService == nil {
|
|
return tuttigenerated.PublishWorkspaceAppFactoryJob503JSONResponse{ServiceUnavailableErrorJSONResponse: workspaceAppFactoryServiceUnavailableError()}, nil
|
|
}
|
|
workspaceID, jobID, errResponse := validateWorkspaceAppFactoryJobPath(request.WorkspaceID, request.JobID)
|
|
if errResponse != nil {
|
|
return tuttigenerated.PublishWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: *errResponse}, nil
|
|
}
|
|
job, app, err := api.AppFactoryService.Publish(ctx, workspaceID, jobID)
|
|
if err != nil {
|
|
return writePublishWorkspaceAppFactoryJobError(err), nil
|
|
}
|
|
return tuttigenerated.PublishWorkspaceAppFactoryJob200JSONResponse{
|
|
WorkspaceId: workspaceID,
|
|
Job: generatedAppFactoryJob(job),
|
|
App: workspaceapi.GeneratedAppFromBiz(app),
|
|
}, nil
|
|
}
|
|
|
|
func generatedAppFactoryJobs(jobs []workspacebiz.AppFactoryJob) []tuttigenerated.WorkspaceAppFactoryJob {
|
|
result := make([]tuttigenerated.WorkspaceAppFactoryJob, 0, len(jobs))
|
|
for _, job := range jobs {
|
|
result = append(result, generatedAppFactoryJob(job))
|
|
}
|
|
return result
|
|
}
|
|
|
|
func generatedAppFactoryJob(job workspacebiz.AppFactoryJob) tuttigenerated.WorkspaceAppFactoryJob {
|
|
return tuttigenerated.WorkspaceAppFactoryJob{
|
|
AgentSessionId: nullableGeneratedString(job.AgentSessionID),
|
|
AppId: nullableGeneratedString(job.AppID),
|
|
CreatedAtUnixMs: job.CreatedAtUnixMs,
|
|
Description: nullableGeneratedString(job.Description),
|
|
DisplayName: strings.TrimSpace(job.DisplayName),
|
|
FailureReason: nullableGeneratedString(job.FailureReason),
|
|
AgentTargetId: nullableGeneratedString(job.AgentTargetID),
|
|
JobId: job.JobID,
|
|
Model: nullableGeneratedString(job.Model),
|
|
Prompt: job.Prompt,
|
|
Provider: nullableGeneratedString(job.Provider),
|
|
ReasoningEffort: nullableGeneratedString(job.ReasoningEffort),
|
|
PublishedVersion: nullableGeneratedString(job.PublishedVersion),
|
|
Status: tuttigenerated.WorkspaceAppFactoryJobStatus(job.Status),
|
|
UpdatedAtUnixMs: job.UpdatedAtUnixMs,
|
|
ValidationResult: generatedValidationResult(job.ValidationResultJSON),
|
|
WorkspaceId: job.WorkspaceID,
|
|
}
|
|
}
|
|
|
|
func generatedValidationResult(raw string) *map[string]interface{} {
|
|
raw = strings.TrimSpace(raw)
|
|
if raw == "" {
|
|
return nil
|
|
}
|
|
var result map[string]interface{}
|
|
if err := json.Unmarshal([]byte(raw), &result); err != nil {
|
|
return nil
|
|
}
|
|
return &result
|
|
}
|
|
|
|
func nullableGeneratedString(value string) *string {
|
|
value = strings.TrimSpace(value)
|
|
if value == "" {
|
|
return nil
|
|
}
|
|
return &value
|
|
}
|
|
|
|
func validateWorkspaceAppFactoryJobPath(workspaceIDValue tuttigenerated.WorkspaceID, jobIDValue tuttigenerated.WorkspaceAppFactoryJobID) (string, string, *tuttigenerated.InvalidRequestErrorJSONResponse) {
|
|
workspaceID := strings.TrimSpace(string(workspaceIDValue))
|
|
if workspaceID == "" {
|
|
response := invalidWorkspaceIDError()
|
|
return "", "", &response
|
|
}
|
|
jobID := strings.TrimSpace(string(jobIDValue))
|
|
if jobID == "" {
|
|
response := invalidRequestError(apierrors.MalformedRequest(apierrors.WithDeveloperMessage("app factory job id is required"), apierrors.WithParams(map[string]any{"field": "jobId"})))
|
|
return "", "", &response
|
|
}
|
|
return workspaceID, jobID, nil
|
|
}
|
|
|
|
func invalidWorkspaceIDError() tuttigenerated.InvalidRequestErrorJSONResponse {
|
|
return invalidRequestError(apierrors.MissingWorkspaceID(apierrors.WithDeveloperMessage("workspace id is required"), apierrors.WithParams(map[string]any{"field": "workspaceId"})))
|
|
}
|
|
|
|
func writeListWorkspaceAppFactoryJobsError(err error) tuttigenerated.ListWorkspaceAppFactoryJobsResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound:
|
|
return tuttigenerated.ListWorkspaceAppFactoryJobs404JSONResponse{WorkspaceNotFoundErrorJSONResponse: workspaceNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.ListWorkspaceAppFactoryJobs400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.ListWorkspaceAppFactoryJobs502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeCreateWorkspaceAppFactoryJobError(err error) tuttigenerated.CreateWorkspaceAppFactoryJobResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound:
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob404JSONResponse{WorkspaceNotFoundErrorJSONResponse: workspaceNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.CreateWorkspaceAppFactoryJob502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeGetWorkspaceAppFactoryAgentTargetComposerOptionsError(err error) tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptionsResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound:
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions404JSONResponse{WorkspaceNotFoundErrorJSONResponse: workspaceNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.GetWorkspaceAppFactoryAgentTargetComposerOptions502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeGetWorkspaceAppFactoryJobError(err error) tuttigenerated.GetWorkspaceAppFactoryJobResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.GetWorkspaceAppFactoryJob404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.GetWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.GetWorkspaceAppFactoryJob502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeCancelWorkspaceAppFactoryJobError(err error) tuttigenerated.CancelWorkspaceAppFactoryJobResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.CancelWorkspaceAppFactoryJob404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.CancelWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.CancelWorkspaceAppFactoryJob502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeDeleteWorkspaceAppFactoryJobError(err error) tuttigenerated.DeleteWorkspaceAppFactoryJobResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.DeleteWorkspaceAppFactoryJob404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.DeleteWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.DeleteWorkspaceAppFactoryJob502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeRetryWorkspaceAppFactoryJobValidationError(err error) tuttigenerated.RetryWorkspaceAppFactoryJobValidationResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.RetryWorkspaceAppFactoryJobValidation404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.RetryWorkspaceAppFactoryJobValidation400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.RetryWorkspaceAppFactoryJobValidation502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writeFixWorkspaceAppFactoryJobError(err error) tuttigenerated.FixWorkspaceAppFactoryJobResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.FixWorkspaceAppFactoryJob502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writePrepareWorkspaceAppFactoryJobModificationError(err error) tuttigenerated.PrepareWorkspaceAppFactoryJobModificationResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.PrepareWorkspaceAppFactoryJobModification404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.PrepareWorkspaceAppFactoryJobModification400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.PrepareWorkspaceAppFactoryJobModification502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|
|
|
|
func writePublishWorkspaceAppFactoryJobError(err error) tuttigenerated.PublishWorkspaceAppFactoryJobResponseObject {
|
|
protocolErr := apierrors.Classify(err)
|
|
switch protocolErr.Code {
|
|
case tuttigenerated.WorkspaceNotFound, tuttigenerated.WorkspaceAppNotFound:
|
|
return tuttigenerated.PublishWorkspaceAppFactoryJob404JSONResponse{WorkspaceAppNotFoundErrorJSONResponse: workspaceAppNotFoundError(protocolErr)}
|
|
case tuttigenerated.InvalidRequest:
|
|
return tuttigenerated.PublishWorkspaceAppFactoryJob400JSONResponse{InvalidRequestErrorJSONResponse: invalidRequestError(protocolErr)}
|
|
default:
|
|
return tuttigenerated.PublishWorkspaceAppFactoryJob502JSONResponse{WorkspaceOperationErrorJSONResponse: workspaceOperationError(protocolErr)}
|
|
}
|
|
}
|