Skip to content
Snippets Groups Projects
design.go 1.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • // nolint:revive
    
    package design
    
    import . "goa.design/goa/v3/dsl"
    
    var _ = API("cache", func() {
    	Title("Cache Service")
    	Description("The cache service exposes interface for working with Redis.")
    	Server("cache", func() {
    		Description("Cache Server")
    		Host("development", func() {
    			Description("Local development server")
    
    			URI("http://localhost:8083")
    
    		})
    	})
    })
    
    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("cache", func() {
    	Description("Cache service allows storing and retrieving data from distributed cache.")
    
    	Method("Get", func() {
    		Description("Get value from the cache. The result is a sequence of bytes which the client must decode.")
    
    		Payload(CacheGetRequest)
    		Result(Bytes)
    
    		HTTP(func() {
    			GET("/v1/cache")
    
    			Header("key:x-cache-key", String, "Cache entry key", func() {
    				Example("did:web:example.com")
    			})
    			Header("namespace:x-cache-namespace", String, "Cache entry namespace", func() {
    				Example("Login")
    			})
    			Header("scope:x-cache-scope", String, "Cache entry scope", func() {
    				Example("administration")
    			})
    
    			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/")
    })