mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-04-24 19:29:16 -05:00
fix: parse schema in API, not engine (#233)
* no schema parsing in core engine * fix: parse schema in api, not engine * fix: parsing of input schema should not use json keys as field names
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package stepruns
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
|
||||
"github.com/hatchet-dev/hatchet/api/v1/server/oas/gen"
|
||||
"github.com/hatchet-dev/hatchet/internal/repository/prisma/db"
|
||||
"github.com/hatchet-dev/hatchet/internal/schema"
|
||||
)
|
||||
|
||||
func (t *StepRunService) StepRunGetSchema(ctx echo.Context, request gen.StepRunGetSchemaRequestObject) (gen.StepRunGetSchemaResponseObject, error) {
|
||||
stepRun := ctx.Get("step-run").(*db.StepRunModel)
|
||||
|
||||
var res map[string]interface{}
|
||||
|
||||
input, ok := stepRun.Input()
|
||||
|
||||
if ok {
|
||||
schemaBytes, err := schema.SchemaBytesFromBytes(input)
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not get schema bytes: %w", err)
|
||||
}
|
||||
|
||||
err = json.Unmarshal(schemaBytes, &res)
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not unmarshal schema: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
return gen.StepRunGetSchema200JSONResponse(res), nil
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package workflows
|
||||
|
||||
import (
|
||||
"github.com/labstack/echo/v4"
|
||||
|
||||
"github.com/hatchet-dev/hatchet/api/v1/server/oas/gen"
|
||||
"github.com/hatchet-dev/hatchet/internal/repository/prisma/db"
|
||||
)
|
||||
|
||||
func (t *WorkflowService) WorkflowDelete(ctx echo.Context, request gen.WorkflowDeleteRequestObject) (gen.WorkflowDeleteResponseObject, error) {
|
||||
tenant := ctx.Get("tenant").(*db.TenantModel)
|
||||
workflow := ctx.Get("workflow").(*db.WorkflowModel)
|
||||
|
||||
workflow, err := t.config.Repository.Workflow().DeleteWorkflow(tenant.ID, workflow.ID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return gen.WorkflowDelete204Response{}, nil
|
||||
}
|
||||
@@ -460,7 +460,6 @@ type StepRun struct {
|
||||
FinishedAt *time.Time `json:"finishedAt,omitempty"`
|
||||
FinishedAtEpoch *int `json:"finishedAtEpoch,omitempty"`
|
||||
Input *string `json:"input,omitempty"`
|
||||
InputSchema *string `json:"inputSchema,omitempty"`
|
||||
JobRun *JobRun `json:"jobRun,omitempty"`
|
||||
JobRunId string `json:"jobRunId"`
|
||||
Metadata APIResourceMeta `json:"metadata"`
|
||||
@@ -978,6 +977,9 @@ type ServerInterface interface {
|
||||
// Rerun step run
|
||||
// (POST /api/v1/tenants/{tenant}/step-runs/{step-run}/rerun)
|
||||
StepRunUpdateRerun(ctx echo.Context, tenant openapi_types.UUID, stepRun openapi_types.UUID) error
|
||||
// Get step run schema
|
||||
// (GET /api/v1/tenants/{tenant}/step-runs/{step-run}/schema)
|
||||
StepRunGetSchema(ctx echo.Context, tenant openapi_types.UUID, stepRun openapi_types.UUID) error
|
||||
// Get workers
|
||||
// (GET /api/v1/tenants/{tenant}/worker)
|
||||
WorkerList(ctx echo.Context, tenant openapi_types.UUID) error
|
||||
@@ -1032,6 +1034,9 @@ type ServerInterface interface {
|
||||
// Get worker
|
||||
// (GET /api/v1/workers/{worker})
|
||||
WorkerGet(ctx echo.Context, worker openapi_types.UUID) error
|
||||
// Delete workflow
|
||||
// (DELETE /api/v1/workflows/{workflow})
|
||||
WorkflowDelete(ctx echo.Context, workflow openapi_types.UUID) error
|
||||
// Get workflow
|
||||
// (GET /api/v1/workflows/{workflow})
|
||||
WorkflowGet(ctx echo.Context, workflow openapi_types.UUID) error
|
||||
@@ -1693,6 +1698,34 @@ func (w *ServerInterfaceWrapper) StepRunUpdateRerun(ctx echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// StepRunGetSchema converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) StepRunGetSchema(ctx echo.Context) error {
|
||||
var err error
|
||||
// ------------- Path parameter "tenant" -------------
|
||||
var tenant openapi_types.UUID
|
||||
|
||||
err = runtime.BindStyledParameterWithLocation("simple", false, "tenant", runtime.ParamLocationPath, ctx.Param("tenant"), &tenant)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter tenant: %s", err))
|
||||
}
|
||||
|
||||
// ------------- Path parameter "step-run" -------------
|
||||
var stepRun openapi_types.UUID
|
||||
|
||||
err = runtime.BindStyledParameterWithLocation("simple", false, "step-run", runtime.ParamLocationPath, ctx.Param("step-run"), &stepRun)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter step-run: %s", err))
|
||||
}
|
||||
|
||||
ctx.Set(BearerAuthScopes, []string{})
|
||||
|
||||
ctx.Set(CookieAuthScopes, []string{})
|
||||
|
||||
// Invoke the callback with all the unmarshaled arguments
|
||||
err = w.Handler.StepRunGetSchema(ctx, tenant, stepRun)
|
||||
return err
|
||||
}
|
||||
|
||||
// WorkerList converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) WorkerList(ctx echo.Context) error {
|
||||
var err error
|
||||
@@ -1996,6 +2029,26 @@ func (w *ServerInterfaceWrapper) WorkerGet(ctx echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// WorkflowDelete converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) WorkflowDelete(ctx echo.Context) error {
|
||||
var err error
|
||||
// ------------- Path parameter "workflow" -------------
|
||||
var workflow openapi_types.UUID
|
||||
|
||||
err = runtime.BindStyledParameterWithLocation("simple", false, "workflow", runtime.ParamLocationPath, ctx.Param("workflow"), &workflow)
|
||||
if err != nil {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Invalid format for parameter workflow: %s", err))
|
||||
}
|
||||
|
||||
ctx.Set(BearerAuthScopes, []string{})
|
||||
|
||||
ctx.Set(CookieAuthScopes, []string{})
|
||||
|
||||
// Invoke the callback with all the unmarshaled arguments
|
||||
err = w.Handler.WorkflowDelete(ctx, workflow)
|
||||
return err
|
||||
}
|
||||
|
||||
// WorkflowGet converts echo context to params.
|
||||
func (w *ServerInterfaceWrapper) WorkflowGet(ctx echo.Context) error {
|
||||
var err error
|
||||
@@ -2179,6 +2232,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
router.GET(baseURL+"/api/v1/tenants/:tenant/members", wrapper.TenantMemberList)
|
||||
router.GET(baseURL+"/api/v1/tenants/:tenant/step-runs/:step-run", wrapper.StepRunGet)
|
||||
router.POST(baseURL+"/api/v1/tenants/:tenant/step-runs/:step-run/rerun", wrapper.StepRunUpdateRerun)
|
||||
router.GET(baseURL+"/api/v1/tenants/:tenant/step-runs/:step-run/schema", wrapper.StepRunGetSchema)
|
||||
router.GET(baseURL+"/api/v1/tenants/:tenant/worker", wrapper.WorkerList)
|
||||
router.GET(baseURL+"/api/v1/tenants/:tenant/workflow-runs/:workflow-run", wrapper.WorkflowRunGet)
|
||||
router.GET(baseURL+"/api/v1/tenants/:tenant/workflow-runs/:workflow-run/prs", wrapper.WorkflowRunListPullRequests)
|
||||
@@ -2197,6 +2251,7 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
|
||||
router.GET(baseURL+"/api/v1/users/memberships", wrapper.TenantMembershipsList)
|
||||
router.POST(baseURL+"/api/v1/users/register", wrapper.UserCreate)
|
||||
router.GET(baseURL+"/api/v1/workers/:worker", wrapper.WorkerGet)
|
||||
router.DELETE(baseURL+"/api/v1/workflows/:workflow", wrapper.WorkflowDelete)
|
||||
router.GET(baseURL+"/api/v1/workflows/:workflow", wrapper.WorkflowGet)
|
||||
router.POST(baseURL+"/api/v1/workflows/:workflow/link-github", wrapper.WorkflowUpdateLinkGithub)
|
||||
router.POST(baseURL+"/api/v1/workflows/:workflow/trigger", wrapper.WorkflowRunCreate)
|
||||
@@ -3213,6 +3268,51 @@ func (response StepRunUpdateRerun403JSONResponse) VisitStepRunUpdateRerunRespons
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type StepRunGetSchemaRequestObject struct {
|
||||
Tenant openapi_types.UUID `json:"tenant"`
|
||||
StepRun openapi_types.UUID `json:"step-run"`
|
||||
}
|
||||
|
||||
type StepRunGetSchemaResponseObject interface {
|
||||
VisitStepRunGetSchemaResponse(w http.ResponseWriter) error
|
||||
}
|
||||
|
||||
type StepRunGetSchema200JSONResponse map[string]interface{}
|
||||
|
||||
func (response StepRunGetSchema200JSONResponse) VisitStepRunGetSchemaResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(200)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type StepRunGetSchema400JSONResponse APIErrors
|
||||
|
||||
func (response StepRunGetSchema400JSONResponse) VisitStepRunGetSchemaResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type StepRunGetSchema403JSONResponse APIErrors
|
||||
|
||||
func (response StepRunGetSchema403JSONResponse) VisitStepRunGetSchemaResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(403)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type StepRunGetSchema404JSONResponse APIErrors
|
||||
|
||||
func (response StepRunGetSchema404JSONResponse) VisitStepRunGetSchemaResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type WorkerListRequestObject struct {
|
||||
Tenant openapi_types.UUID `json:"tenant"`
|
||||
}
|
||||
@@ -3821,6 +3921,49 @@ func (response WorkerGet403JSONResponse) VisitWorkerGetResponse(w http.ResponseW
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type WorkflowDeleteRequestObject struct {
|
||||
Workflow openapi_types.UUID `json:"workflow"`
|
||||
}
|
||||
|
||||
type WorkflowDeleteResponseObject interface {
|
||||
VisitWorkflowDeleteResponse(w http.ResponseWriter) error
|
||||
}
|
||||
|
||||
type WorkflowDelete204Response struct {
|
||||
}
|
||||
|
||||
func (response WorkflowDelete204Response) VisitWorkflowDeleteResponse(w http.ResponseWriter) error {
|
||||
w.WriteHeader(204)
|
||||
return nil
|
||||
}
|
||||
|
||||
type WorkflowDelete400JSONResponse APIErrors
|
||||
|
||||
func (response WorkflowDelete400JSONResponse) VisitWorkflowDeleteResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(400)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type WorkflowDelete403JSONResponse APIErrors
|
||||
|
||||
func (response WorkflowDelete403JSONResponse) VisitWorkflowDeleteResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(403)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type WorkflowDelete404JSONResponse APIErrors
|
||||
|
||||
func (response WorkflowDelete404JSONResponse) VisitWorkflowDeleteResponse(w http.ResponseWriter) error {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(404)
|
||||
|
||||
return json.NewEncoder(w).Encode(response)
|
||||
}
|
||||
|
||||
type WorkflowGetRequestObject struct {
|
||||
Workflow openapi_types.UUID `json:"workflow"`
|
||||
}
|
||||
@@ -4094,6 +4237,8 @@ type StrictServerInterface interface {
|
||||
|
||||
StepRunUpdateRerun(ctx echo.Context, request StepRunUpdateRerunRequestObject) (StepRunUpdateRerunResponseObject, error)
|
||||
|
||||
StepRunGetSchema(ctx echo.Context, request StepRunGetSchemaRequestObject) (StepRunGetSchemaResponseObject, error)
|
||||
|
||||
WorkerList(ctx echo.Context, request WorkerListRequestObject) (WorkerListResponseObject, error)
|
||||
|
||||
WorkflowRunGet(ctx echo.Context, request WorkflowRunGetRequestObject) (WorkflowRunGetResponseObject, error)
|
||||
@@ -4130,6 +4275,8 @@ type StrictServerInterface interface {
|
||||
|
||||
WorkerGet(ctx echo.Context, request WorkerGetRequestObject) (WorkerGetResponseObject, error)
|
||||
|
||||
WorkflowDelete(ctx echo.Context, request WorkflowDeleteRequestObject) (WorkflowDeleteResponseObject, error)
|
||||
|
||||
WorkflowGet(ctx echo.Context, request WorkflowGetRequestObject) (WorkflowGetResponseObject, error)
|
||||
|
||||
WorkflowUpdateLinkGithub(ctx echo.Context, request WorkflowUpdateLinkGithubRequestObject) (WorkflowUpdateLinkGithubResponseObject, error)
|
||||
@@ -4889,6 +5036,32 @@ func (sh *strictHandler) StepRunUpdateRerun(ctx echo.Context, tenant openapi_typ
|
||||
return nil
|
||||
}
|
||||
|
||||
// StepRunGetSchema operation middleware
|
||||
func (sh *strictHandler) StepRunGetSchema(ctx echo.Context, tenant openapi_types.UUID, stepRun openapi_types.UUID) error {
|
||||
var request StepRunGetSchemaRequestObject
|
||||
|
||||
request.Tenant = tenant
|
||||
request.StepRun = stepRun
|
||||
|
||||
handler := func(ctx echo.Context, request interface{}) (interface{}, error) {
|
||||
return sh.ssi.StepRunGetSchema(ctx, request.(StepRunGetSchemaRequestObject))
|
||||
}
|
||||
for _, middleware := range sh.middlewares {
|
||||
handler = middleware(handler, "StepRunGetSchema")
|
||||
}
|
||||
|
||||
response, err := handler(ctx, request)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if validResponse, ok := response.(StepRunGetSchemaResponseObject); ok {
|
||||
return validResponse.VisitStepRunGetSchemaResponse(ctx.Response())
|
||||
} else if response != nil {
|
||||
return fmt.Errorf("Unexpected response type: %T", response)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// WorkerList operation middleware
|
||||
func (sh *strictHandler) WorkerList(ctx echo.Context, tenant openapi_types.UUID) error {
|
||||
var request WorkerListRequestObject
|
||||
@@ -5343,6 +5516,31 @@ func (sh *strictHandler) WorkerGet(ctx echo.Context, worker openapi_types.UUID)
|
||||
return nil
|
||||
}
|
||||
|
||||
// WorkflowDelete operation middleware
|
||||
func (sh *strictHandler) WorkflowDelete(ctx echo.Context, workflow openapi_types.UUID) error {
|
||||
var request WorkflowDeleteRequestObject
|
||||
|
||||
request.Workflow = workflow
|
||||
|
||||
handler := func(ctx echo.Context, request interface{}) (interface{}, error) {
|
||||
return sh.ssi.WorkflowDelete(ctx, request.(WorkflowDeleteRequestObject))
|
||||
}
|
||||
for _, middleware := range sh.middlewares {
|
||||
handler = middleware(handler, "WorkflowDelete")
|
||||
}
|
||||
|
||||
response, err := handler(ctx, request)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if validResponse, ok := response.(WorkflowDeleteResponseObject); ok {
|
||||
return validResponse.VisitWorkflowDeleteResponse(ctx.Response())
|
||||
} else if response != nil {
|
||||
return fmt.Errorf("Unexpected response type: %T", response)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// WorkflowGet operation middleware
|
||||
func (sh *strictHandler) WorkflowGet(ctx echo.Context, workflow openapi_types.UUID) error {
|
||||
var request WorkflowGetRequestObject
|
||||
@@ -5486,116 +5684,117 @@ func (sh *strictHandler) WorkflowVersionGetDefinition(ctx echo.Context, workflow
|
||||
// Base64 encoded, gzipped, json marshaled Swagger object
|
||||
var swaggerSpec = []string{
|
||||
|
||||
"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",
|
||||
"AQAA//98DeBsBvwAAA==",
|
||||
"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",
|
||||
}
|
||||
|
||||
// GetSwagger returns the content of the embedded swagger specification file
|
||||
|
||||
@@ -212,10 +212,6 @@ func ToStepRun(stepRun *db.StepRunModel) (*gen.StepRun, error) {
|
||||
res.Output = repository.StringPtr(string(json.RawMessage(outputData)))
|
||||
}
|
||||
|
||||
if inputSchema, ok := stepRun.InputSchema(); ok {
|
||||
res.InputSchema = repository.StringPtr(string(json.RawMessage(inputSchema)))
|
||||
}
|
||||
|
||||
if jobRun := stepRun.RelationsStepRun.JobRun; jobRun != nil {
|
||||
var err error
|
||||
|
||||
|
||||
Reference in New Issue
Block a user