Skip to content
Snippets Groups Projects
design.go 1.84 KiB
Newer Older
  • Learn to ignore specific revisions
  • // nolint:revive
    package design
    
    import . "goa.design/goa/v3/dsl"
    
    var _ = API("task", func() {
    	Title("Task Service")
    	Description("The task service is executing tasks created from policies.")
    	Server("task", func() {
    		Description("Task Server")
    		Host("development", func() {
    			Description("Local development server")
    
    			URI("http://localhost:8082")
    		})
    	})
    })
    
    var _ = Service("task", func() {
    	Description("Task service provides endpoints to work with tasks.")
    
    	Method("Create", func() {
    		Description("Create a task and put it in a queue for execution.")
    		Payload(CreateRequest)
    		Result(CreateResult)
    		HTTP(func() {
    			POST("/v1/task/{taskName}")
    
    
    			Header("cacheNamespace:x-cache-namespace", String, "Cache key namespace", func() {
    				Example("login")
    			})
    			Header("cacheScope:x-cache-scope", String, "Cache key scope", func() {
    				Example("user")
    			})
    
    
    
    	Method("TaskResult", func() {
    		Description("TaskResult retrieves task result from the Cache service.")
    		Payload(TaskResultRequest)
    		Result(Any)
    		HTTP(func() {
    			GET("/v1/taskResult/{taskID}")
    			Response(StatusOK)
    		})
    	})
    
    })
    
    var _ = Service("health", func() {
    	Description("Health service provides health check endpoints.")
    
    	Method("Liveness", func() {
    		Payload(Empty)
    		Result(Empty)
    		HTTP(func() {
    			GET("/liveness")
    			Response(StatusOK)
    		})
    	})
    
    	Method("Readiness", func() {
    		Payload(Empty)
    		Result(Empty)
    		HTTP(func() {
    			GET("/readiness")
    			Response(StatusOK)
    		})
    	})
    })
    
    var _ = Service("openapi", func() {
    	Description("The openapi service serves the OpenAPI(v3) definition.")
    	Meta("swagger:generate", "false")
    	HTTP(func() {
    		Path("/swagger-ui")
    	})
    	Files("/openapi.json", "./gen/http/openapi3.json", func() {
    		Description("JSON document containing the OpenAPI(v3) service definition")
    	})
    	Files("/{*filepath}", "./swagger/")
    })