Skip to content

Commit 1ea0ef4

Browse files
committed
Skeleton using goa
1 parent 2924c94 commit 1ea0ef4

File tree

10 files changed

+142
-0
lines changed

10 files changed

+142
-0
lines changed

app/contexts.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/controllers.go

Lines changed: 23 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/hrefs.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/media_types.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/user_types.go

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cli/gen/main.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package main
2+
3+
import (
4+
_ "github.com/arduino/arduino-create-agent/design"
5+
6+
"github.com/goadesign/goa/design"
7+
"github.com/goadesign/goa/goagen/codegen"
8+
genapp "github.com/goadesign/goa/goagen/gen_app"
9+
genswagger "github.com/goadesign/goa/goagen/gen_swagger"
10+
)
11+
12+
func main() {
13+
codegen.ParseDSL()
14+
codegen.Run(
15+
genswagger.NewGenerator(
16+
genswagger.API(design.Design),
17+
),
18+
genapp.NewGenerator(
19+
genapp.API(design.Design),
20+
genapp.OutDir("app"),
21+
genapp.Target("app"),
22+
genapp.NoTest(false),
23+
),
24+
)
25+
}

design/design.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package design
2+
3+
import (
4+
. "github.com/goadesign/goa/design"
5+
. "github.com/goadesign/goa/design/apidsl"
6+
)
7+
8+
var _ = API("arduino-create-agent", func() {
9+
Title("Arduino Create Agent")
10+
Description("A bridge from the user's computer and the Create platform")
11+
Host("localhost:9000")
12+
Scheme("http")
13+
BasePath("/")
14+
Consumes("application/json")
15+
Produces("application/json")
16+
17+
Origin("*", func() {
18+
Methods("GET", "PUT", "POST", "DELETE")
19+
Headers("Authorization", "Origin", "X-Requested-With", "Content-Type", "Accept")
20+
Credentials()
21+
})
22+
})

main.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//go:generate go run cli/gen/main.go
2+
3+
package main
4+
5+
import (
6+
"github.com/goadesign/goa"
7+
"github.com/goadesign/goa/middleware"
8+
)
9+
10+
func main() {
11+
// Create service
12+
service := goa.New("arduino-create-agent")
13+
14+
// Mount middleware
15+
service.Use(middleware.RequestID())
16+
service.Use(middleware.LogRequest(true))
17+
service.Use(middleware.ErrorHandler(service, true))
18+
service.Use(middleware.Recover())
19+
20+
// Start service
21+
if err := service.ListenAndServe(":9000"); err != nil {
22+
service.LogError("startup", "err", err)
23+
}
24+
25+
}

swagger/swagger.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"swagger":"2.0","info":{"title":"Arduino Create Agent","description":"A bridge from the user's computer and the Create platform","version":""},"host":"localhost:9000","basePath":"/","schemes":["http"],"consumes":["application/json"],"produces":["application/json"],"paths":{}}

swagger/swagger.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
basePath: /
2+
consumes:
3+
- application/json
4+
host: localhost:9000
5+
info:
6+
description: A bridge from the user's computer and the Create platform
7+
title: Arduino Create Agent
8+
version: ""
9+
paths: {}
10+
produces:
11+
- application/json
12+
schemes:
13+
- http
14+
swagger: "2.0"

0 commit comments

Comments
 (0)