MCPcopy Create free account
hub / github.com/cloudbase/garm / FirstRunHandler

Method FirstRunHandler

apiserver/controllers/controllers.go:432–455  ·  view source on GitHub ↗

swagger:route POST /first-run first-run FirstRun Initialize the first run of the controller. Parameters: + name: Body description: Create a new user. type: NewUserParams in: body required: true Responses: 200: User 400: APIErrorResponse

(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

430// 200: User
431// 400: APIErrorResponse
432func (a *APIController) FirstRunHandler(w http.ResponseWriter, r *http.Request) {
433 ctx := r.Context()
434 if a.auth.IsInitialized() {
435 err := gErrors.NewConflictError("already initialized")
436 handleError(ctx, w, err)
437 return
438 }
439
440 var newUserParams runnerParams.NewUserParams
441 if err := json.NewDecoder(r.Body).Decode(&newUserParams); err != nil {
442 handleError(ctx, w, gErrors.ErrBadRequest)
443 return
444 }
445
446 newUser, err := a.auth.InitController(ctx, newUserParams)
447 if err != nil {
448 handleError(ctx, w, err)
449 return
450 }
451 w.Header().Set("Content-Type", "application/json")
452 if err := json.NewEncoder(w).Encode(newUser); err != nil {
453 slog.With(slog.Any("error", err)).ErrorContext(ctx, "failed to encode response")
454 }
455}
456
457// swagger:route GET /providers providers ListProviders
458//

Callers

nothing calls this directly

Calls 4

handleErrorFunction · 0.85
IsInitializedMethod · 0.80
InitControllerMethod · 0.65
SetMethod · 0.45

Tested by

no test coverage detected