@@ -51,28 +51,35 @@ func New(options *Options) (http.Handler, func()) {
51
51
httpmw .ExtractAPIKey (options .Database , nil ),
52
52
httpmw .ExtractOrganizationParam (options .Database ),
53
53
)
54
+ r .Get ("/" , api .organization )
54
55
r .Get ("/provisionerdaemons" , api .provisionerDaemonsByOrganization )
55
56
r .Post ("/projectversions" , api .postProjectVersionsByOrganization )
56
57
r .Route ("/projects" , func (r chi.Router ) {
57
58
r .Post ("/" , api .postProjectsByOrganization )
58
59
r .Get ("/" , api .projectsByOrganization )
59
60
r .Get ("/{projectname}" , api .projectByOrganizationAndName )
60
61
})
62
+ r .Get ("/parameters" , nil )
63
+ r .Post ("/parameters" , nil )
64
+ r .Patch ("/parameters/{name}" , nil )
65
+ r .Delete ("/parameters/{name}" , nil )
61
66
})
62
67
r .Route ("/projects/{project}" , func (r chi.Router ) {
63
68
r .Use (
64
69
httpmw .ExtractAPIKey (options .Database , nil ),
65
70
httpmw .ExtractProjectParam (options .Database ),
66
71
httpmw .ExtractOrganizationParam (options .Database ),
67
72
)
68
- r .Get ("/" , api .projectByOrganization )
69
- r .Delete ("/" , nil )
70
- r .Get ("/workspaces" , api .workspacesByProject )
73
+ r .Get ("/" , api .project )
71
74
r .Get ("/parameters" , api .parametersByProject )
72
75
r .Post ("/parameters" , api .postParametersByProject )
73
- r .Get ("/versions" , api .projectVersionsByOrganization )
74
- r .Get ("/versions/latest" , nil )
75
- r .Patch ("/versions" , nil )
76
+ r .Patch ("/parameters/{name}" , nil )
77
+ r .Delete ("/parameters/{name}" , nil )
78
+ r .Route ("/versions" , func (r chi.Router ) {
79
+ r .Get ("/" , api .projectVersionsByProject )
80
+ r .Patch ("/versions" , nil )
81
+ r .Get ("/{projectversionname}" , api .projectVersionByName )
82
+ })
76
83
})
77
84
r .Route ("/projectversions/{projectversion}" , func (r chi.Router ) {
78
85
r .Use (
@@ -81,65 +88,84 @@ func New(options *Options) (http.Handler, func()) {
81
88
httpmw .ExtractOrganizationParam (options .Database ),
82
89
)
83
90
84
- r .Get ("/" , nil )
85
- r .Get ("/schema" , nil )
86
- r .Get ("/parameters" , nil )
87
- r .Get ("/logs " , nil )
88
- r .Get ("/resources " , nil )
91
+ r .Get ("/" , api . projectVersion )
92
+ r .Get ("/schema" , api . projectVersionSchema )
93
+ r .Get ("/parameters" , api . projectVersionParameters )
94
+ r .Get ("/resources " , api . projectVersionResources )
95
+ r .Get ("/logs " , api . projectVersionLogs )
89
96
})
90
97
r .Route ("/provisionerdaemons" , func (r chi.Router ) {
91
98
r .Route ("/me" , func (r chi.Router ) {
92
- r .Get ("/listen" , api .provisionerDaemonsServe )
99
+ r .Get ("/listen" , api .provisionerDaemonsListen )
93
100
})
94
101
})
95
102
r .Route ("/users" , func (r chi.Router ) {
96
- r .Post ("/login" , api .postLogin )
97
- r .Post ("/logout" , api .postLogout )
98
103
r .Get ("/first" , api .firstUser )
99
104
r .Post ("/first" , api .postFirstUser )
105
+ r .Post ("/login" , api .postLogin )
106
+ r .Post ("/logout" , api .postLogout )
100
107
r .Group (func (r chi.Router ) {
101
108
r .Use (httpmw .ExtractAPIKey (options .Database , nil ))
102
- r .Post ("/" , nil )
109
+ r .Post ("/" , api . postUsers )
103
110
r .Route ("/{user}" , func (r chi.Router ) {
104
111
r .Use (httpmw .ExtractUserParam (options .Database ))
105
112
r .Get ("/" , api .userByName )
106
113
r .Get ("/organizations" , api .organizationsByUser )
107
- r .Post ("/keys" , api .postKeyForUser )
114
+ r .Post ("/organizations" , api .postOrganizationsByUser )
115
+ r .Post ("/keys" , api .postAPIKey )
116
+ r .Route ("/organizations" , func (r chi.Router ) {
117
+ r .Post ("/" , api .postOrganizationsByUser )
118
+ r .Get ("/" , api .organizationsByUser )
119
+ r .Get ("/{organizationname}" , api .organizationByUserAndName )
120
+ })
121
+ r .Route ("/workspaces" , func (r chi.Router ) {
122
+ r .Post ("/" , api .postWorkspacesByUser )
123
+ r .Get ("/" , api .workspacesByUser )
124
+ r .Get ("/{workspacename}" , api .workspaceByUserAndName )
125
+ })
108
126
})
109
127
})
110
128
})
111
- r .Route ("/workspaceagents " , func (r chi.Router ) {
129
+ r .Route ("/workspaceresources " , func (r chi.Router ) {
112
130
r .Route ("/auth" , func (r chi.Router ) {
113
- r .Post ("/google-instance-identity" , api .postAuthenticateWorkspaceAgentUsingGoogleInstanceIdentity )
131
+ r .Post ("/google-instance-identity" , api .postWorkspaceAuthGoogleInstanceIdentity )
114
132
})
115
- r .Route ("/me " , func (r chi.Router ) {
133
+ r .Route ("/agent " , func (r chi.Router ) {
116
134
r .Use (httpmw .ExtractWorkspaceAgent (options .Database ))
117
- r .Get ("/listen" , nil )
135
+ r .Get ("/" , api .workspaceAgentListen )
136
+ })
137
+ r .Route ("/{workspaceresource}" , func (r chi.Router ) {
138
+ r .Use (
139
+ httpmw .ExtractAPIKey (options .Database , nil ),
140
+ httpmw .ExtractWorkspaceResourceParam (options .Database ),
141
+ httpmw .ExtractWorkspaceParam (options .Database ),
142
+ )
143
+ r .Get ("/" , api .workspaceResource )
144
+ r .Get ("/dial" , api .workspaceResourceDial )
118
145
})
119
146
})
120
147
r .Route ("/workspaces/{workspace}" , func (r chi.Router ) {
121
148
r .Use (
122
149
httpmw .ExtractAPIKey (options .Database , nil ),
123
150
httpmw .ExtractWorkspaceParam (options .Database ),
124
- httpmw .ExtractUserParam (options .Database ),
125
151
)
126
- r .Get ("/" , nil )
127
- r .Get ("/builds" , nil )
128
- r .Post ("/builds" , nil )
152
+ r .Get ("/" , api .workspace )
153
+ r .Route ("/builds" , func (r chi.Router ) {
154
+ r .Get ("/" , api .workspaceBuilds )
155
+ r .Post ("/" , api .postWorkspaceBuilds )
156
+ r .Get ("/latest" , api .workspaceBuildLatest )
157
+ r .Get ("/{workspacebuildname}" , api .workspaceBuildByName )
158
+ })
129
159
})
130
160
r .Route ("/workspacebuilds/{workspacebuild}" , func (r chi.Router ) {
131
161
r .Use (
132
162
httpmw .ExtractAPIKey (options .Database , nil ),
133
163
httpmw .ExtractWorkspaceBuildParam (options .Database ),
134
164
httpmw .ExtractWorkspaceParam (options .Database ),
135
165
)
136
- r .Get ("/logs" , nil )
137
- r .Get ("/resources" , nil )
138
- r .Route ("/resources/{workspaceresource}" , func (r chi.Router ) {
139
- r .Use (httpmw .ExtractWorkspaceResourceParam (options .Database ))
140
- r .Get ("/" , nil )
141
- r .Get ("/dial" , nil )
142
- })
166
+ r .Get ("/" , api .workspaceBuild )
167
+ r .Get ("/logs" , api .workspaceBuildLogs )
168
+ r .Get ("/resources" , api .workspaceBuildResources )
143
169
})
144
170
})
145
171
r .NotFound (site .Handler (options .Logger ).ServeHTTP )
0 commit comments