Skip to content

Commit c1d940c

Browse files
committed
Refactor API paths and improve endpoint structure
1 parent 0b4c28c commit c1d940c

28 files changed

+3160
-2912
lines changed

experiments/tibuild-v2/design/design.go

+20-15
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,27 @@ var _ = API("tibuild", func() {
2222
URI("http://0.0.0.0:8080")
2323
})
2424
})
25+
26+
HTTP(func() {
27+
// Add prefix to all API paths
28+
Path("/api/v2")
29+
})
2530
})
2631

2732
var _ = Service("artifact", func() {
2833
Description("The artifact service provides operations to manage artifacts.")
2934
Error("BadRequest", HTTPError, "Bad Request")
3035
Error("InternalServerError", HTTPError, "Internal Server Error")
36+
HTTP(func() {
37+
Path("/artifact")
38+
})
3139
Method("syncImage", func() {
3240
Description("Sync hotfix image to dockerhub")
33-
Payload(func() {
34-
Attribute("ImageSyncRequest", ImageSyncRequest, "Image sync to public, only hotfix is accepted right now")
35-
Required("ImageSyncRequest")
36-
})
41+
Payload(ImageSyncRequest)
3742
Result(ImageSyncRequest)
3843

3944
HTTP(func() {
40-
POST("/api/artifact/sync-image")
45+
POST("/sync-image")
4146
Response(StatusOK)
4247
Response("BadRequest", StatusBadRequest)
4348
Response("InternalServerError", StatusInternalServerError)
@@ -49,6 +54,9 @@ var _ = Service("devbuild", func() {
4954
Description("The devbuild service provides operations to manage dev builds.")
5055
Error("BadRequest", HTTPError, "Bad Request")
5156
Error("InternalServerError", HTTPError, "Internal Server Error")
57+
HTTP(func() {
58+
Path("/devbuilds")
59+
})
5260
Method("list", func() {
5361
Description("List devbuild with pagination support")
5462
Payload(func() {
@@ -67,20 +75,17 @@ var _ = Service("devbuild", func() {
6775
Default("desc")
6876
})
6977
Attribute("hotfix", Boolean, "Filter hotfix")
78+
Attribute("pageSize", Int32, "Page size")
7079
Attribute("createdBy", String, "Filter created by")
7180
})
7281
Result(ArrayOf(DevBuild), "List of dev builds")
7382
HTTP(func() {
74-
GET("/api/devbuilds")
83+
GET("/")
7584
Param("page")
7685
Param("pageSize")
7786
Param("hotfix")
7887
Param("createdBy")
79-
Response(StatusOK, func() {
80-
Header("X-Next-Page", Int, "The next page number")
81-
Header("X-Total-Count", Int, "The total number of items")
82-
Header("X-Total-Pages", Int, "The total number of pages")
83-
})
88+
Response(StatusOK)
8489
Response("BadRequest", StatusBadRequest)
8590
})
8691
})
@@ -99,7 +104,7 @@ var _ = Service("devbuild", func() {
99104
})
100105
Result(DevBuild)
101106
HTTP(func() {
102-
POST("/api/devbuilds")
107+
POST("/")
103108
Param("dryrun")
104109
Response(StatusOK)
105110
Response("BadRequest", StatusBadRequest)
@@ -121,7 +126,7 @@ var _ = Service("devbuild", func() {
121126
Result(DevBuild)
122127
Error("http_error", HTTPError, "Bad Request")
123128
HTTP(func() {
124-
GET("/api/devbuilds/{id}")
129+
GET("/{id}")
125130
Param("sync")
126131
Response(StatusOK)
127132
Response("BadRequest", StatusBadRequest)
@@ -143,7 +148,7 @@ var _ = Service("devbuild", func() {
143148
})
144149
Result(DevBuild)
145150
HTTP(func() {
146-
PUT("/api/devbuilds/{id}")
151+
PUT("/{id}")
147152
Param("dryrun")
148153
Response(StatusOK)
149154
Response("BadRequest", StatusBadRequest)
@@ -164,7 +169,7 @@ var _ = Service("devbuild", func() {
164169
})
165170
Result(DevBuild)
166171
HTTP(func() {
167-
POST("/api/devbuilds/{id}/rerun")
172+
POST("/{id}/rerun")
168173
Param("dryrun")
169174
Response(StatusOK)
170175
Response("BadRequest", StatusBadRequest)

experiments/tibuild-v2/gen/artifact/client.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/artifact/endpoints.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/artifact/service.go

+3-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/devbuild/service.go

+11-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/client/cli.go

+5-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/client/encode_decode.go

+2-26
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/client/paths.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/client/types.go

+6-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/server/encode_decode.go

+1-13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/server/paths.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

experiments/tibuild-v2/gen/http/artifact/server/server.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)