55 "encoding/json"
66 "fmt"
77 "net/http"
8- "strconv"
98
109 "github.com/databricks/databricks-sdk-go/service/catalog"
1110 "github.com/databricks/databricks-sdk-go/service/compute"
@@ -180,77 +179,42 @@ func AddDefaultHandlers(server *Server) {
180179 })
181180
182181 server .Handle ("POST" , "/api/2.2/jobs/create" , func (req Request ) any {
183- var request jobs.CreateJob
184- if err := json .Unmarshal (req .Body , & request ); err != nil {
185- return Response {
186- Body : fmt .Sprintf ("internal error: %s" , err ),
187- StatusCode : 500 ,
188- }
189- }
190-
191- return req .Workspace .JobsCreate (request )
182+ return req .Workspace .JobsCreate (req )
192183 })
193184
194185 server .Handle ("POST" , "/api/2.2/jobs/delete" , func (req Request ) any {
195186 var request jobs.DeleteJob
196187 if err := json .Unmarshal (req .Body , & request ); err != nil {
197188 return Response {
198- Body : fmt . Sprintf ( "internal error: %s" , err ) ,
199- StatusCode : 500 ,
189+ StatusCode : 400 ,
190+ Body : fmt . Sprintf ( "request parsing error: %s" , err ) ,
200191 }
201192 }
202193 return MapDelete (req .Workspace , req .Workspace .Jobs , request .JobId )
203194 })
204195
205196 server .Handle ("POST" , "/api/2.2/jobs/reset" , func (req Request ) any {
206- var request jobs.ResetJob
207- if err := json .Unmarshal (req .Body , & request ); err != nil {
208- return Response {
209- Body : fmt .Sprintf ("internal error: %s" , err ),
210- StatusCode : 500 ,
211- }
212- }
213-
214- return req .Workspace .JobsReset (request )
197+ return req .Workspace .JobsReset (req )
215198 })
216199
217200 server .Handle ("GET" , "/api/2.0/jobs/get" , func (req Request ) any {
218- jobId := req .URL .Query ().Get ("job_id" )
219- return req .Workspace .JobsGet (jobId )
201+ return req .Workspace .JobsGet (req )
220202 })
221203
222204 server .Handle ("GET" , "/api/2.2/jobs/get" , func (req Request ) any {
223- jobId := req .URL .Query ().Get ("job_id" )
224- return req .Workspace .JobsGet (jobId )
205+ return req .Workspace .JobsGet (req )
225206 })
226207
227208 server .Handle ("GET" , "/api/2.2/jobs/list" , func (req Request ) any {
228209 return req .Workspace .JobsList ()
229210 })
230211
231212 server .Handle ("POST" , "/api/2.2/jobs/run-now" , func (req Request ) any {
232- var request jobs.RunNow
233- if err := json .Unmarshal (req .Body , & request ); err != nil {
234- return Response {
235- Body : fmt .Sprintf ("internal error: %s" , err ),
236- StatusCode : 500 ,
237- }
238- }
239-
240- return req .Workspace .JobsRunNow (request .JobId )
213+ return req .Workspace .JobsRunNow (req )
241214 })
242215
243216 server .Handle ("GET" , "/api/2.2/jobs/runs/get" , func (req Request ) any {
244- runId := req .URL .Query ().Get ("run_id" )
245- runIdInt , err := strconv .ParseInt (runId , 10 , 64 )
246- if err != nil {
247- return Response {
248- Body : fmt .Sprintf ("internal error: %s" , err ),
249- StatusCode : 500 ,
250- }
251- }
252-
253- return req .Workspace .JobsGetRun (runIdInt )
217+ return req .Workspace .JobsGetRun (req )
254218 })
255219
256220 server .Handle ("GET" , "/api/2.2/jobs/runs/list" , func (req Request ) any {
@@ -395,6 +359,8 @@ func AddDefaultHandlers(server *Server) {
395359 return req .Workspace .VolumesCreate (req )
396360 })
397361
362+ // Repos:
363+
398364 server .Handle ("POST" , "/api/2.0/repos" , func (req Request ) any {
399365 return req .Workspace .ReposCreate (req )
400366 })
@@ -420,6 +386,7 @@ func AddDefaultHandlers(server *Server) {
420386 })
421387
422388 // SQL Warehouses:
389+
423390 server .Handle ("GET" , "/api/2.0/sql/warehouses/{warehouse_id}" , func (req Request ) any {
424391 return MapGet (req .Workspace , req .Workspace .SqlWarehouses , req .Vars ["warehouse_id" ])
425392 })
@@ -444,60 +411,24 @@ func AddDefaultHandlers(server *Server) {
444411 return req .Workspace .SqlDataSourcesList (req )
445412 })
446413
414+ // Secrets ACLs:
415+
447416 server .Handle ("GET" , "/api/2.0/secrets/acls/get" , func (req Request ) any {
448- defer req .Workspace .LockUnlock ()()
449-
450- scope := req .URL .Query ().Get ("scope" )
451- principal := req .URL .Query ().Get ("principal" )
452- scopeAcls := req .Workspace .Acls [scope ]
453- for _ , acl := range scopeAcls {
454- if acl .Principal == principal {
455- return acl
456- }
457- }
458- return Response {StatusCode : 404 }
417+ return req .Workspace .SecretsAclsGet (req )
459418 })
460419
461420 server .Handle ("GET" , "/api/2.0/secrets/acls/list" , func (req Request ) any {
462- return MapGet (req .Workspace , req .Workspace .Acls , req .Vars [ "scope" ] )
421+ return MapGet (req .Workspace , req .Workspace .Acls , req .URL . Query (). Get ( "scope" ) )
463422 })
464423
465424 server .Handle ("POST" , "/api/2.0/secrets/acls/put" , func (req Request ) any {
466- defer req .Workspace .LockUnlock ()()
467-
468- var request workspace.PutAcl
469- if err := json .Unmarshal (req .Body , & request ); err != nil {
470- return Response {
471- Body : fmt .Sprintf ("internal error: %s" , err ),
472- StatusCode : 500 ,
473- }
474- }
475- req .Workspace .Acls [request .Scope ] = append (req .Workspace .Acls [request .Scope ], workspace.AclItem {
476- Principal : request .Principal ,
477- Permission : request .Permission ,
478- })
479- return ""
425+ return req .Workspace .SecretsAclsPut (req )
480426 })
481427
482428 server .Handle ("POST" , "/api/2.0/secrets/acls/delete" , func (req Request ) any {
483- defer req .Workspace .LockUnlock ()()
484-
485- var request workspace.DeleteAcl
486- if err := json .Unmarshal (req .Body , & request ); err != nil {
487- return Response {
488- Body : fmt .Sprintf ("internal error: %s" , err ),
489- StatusCode : 500 ,
490- }
491- }
492- scopeAcls := req .Workspace .Acls [request .Scope ]
493- for i , acl := range scopeAcls {
494- if acl .Principal == request .Principal {
495- req .Workspace .Acls [request .Scope ] = append (scopeAcls [:i ], scopeAcls [i + 1 :]... )
496- return ""
497- }
498- }
499- return Response {StatusCode : 404 }
429+ return req .Workspace .SecretsAclsDelete (req )
500430 })
431+ // Database Instances:
501432
502433 server .Handle ("POST" , "/api/2.0/database/instances" , func (req Request ) any {
503434 return req .Workspace .DatabaseInstanceCreate (req )
@@ -519,6 +450,8 @@ func AddDefaultHandlers(server *Server) {
519450 return DatabaseInstanceMapDelete (req )
520451 })
521452
453+ // Database Catalogs:
454+
522455 server .Handle ("POST" , "/api/2.0/database/catalogs" , func (req Request ) any {
523456 return req .Workspace .DatabaseCatalogCreate (req )
524457 })
@@ -535,6 +468,8 @@ func AddDefaultHandlers(server *Server) {
535468 return MapDelete (req .Workspace , req .Workspace .DatabaseCatalogs , req .Vars ["name" ])
536469 })
537470
471+ // Synced Database Tables:
472+
538473 server .Handle ("POST" , "/api/2.0/database/synced_tables" , func (req Request ) any {
539474 return req .Workspace .SyncedDatabaseTableCreate (req )
540475 })
0 commit comments