MCPcopy
hub / github.com/spacecloud-io/space-cloud / handleCreateProject

Method handleCreateProject

runner/server/handle.go:20–59  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

18)
19
20func (s *Server) handleCreateProject() http.HandlerFunc {
21 return func(w http.ResponseWriter, r *http.Request) {
22
23 // Close the body of the request
24 defer utils.CloseTheCloser(r.Body)
25
26 ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
27 defer cancel()
28
29 // Verify token
30 _, err := s.auth.VerifyToken(utils.GetToken(r))
31 if err != nil {
32 _ = helpers.Logger.LogError(helpers.GetRequestID(ctx), "Failed to create project", err, nil)
33 _ = helpers.Response.SendErrorResponse(ctx, w, http.StatusUnauthorized, err)
34 return
35 }
36
37 vars := mux.Vars(r)
38 projectID := vars["project"]
39
40 // Parse request body
41 project := new(model.Project)
42 if err := json.NewDecoder(r.Body).Decode(project); err != nil {
43 _ = helpers.Logger.LogError(helpers.GetRequestID(ctx), "Failed to create project", err, nil)
44 _ = helpers.Response.SendErrorResponse(ctx, w, http.StatusBadRequest, err)
45 return
46 }
47
48 project.ID = projectID
49
50 // Apply the service config
51 if err := s.driver.CreateProject(ctx, project); err != nil {
52 _ = helpers.Logger.LogError(helpers.GetRequestID(ctx), "Failed to create project", err, nil)
53 _ = helpers.Response.SendErrorResponse(ctx, w, http.StatusInternalServerError, err)
54 return
55 }
56
57 _ = helpers.Response.SendOkayResponse(ctx, http.StatusOK, w)
58 }
59}
60
61func (s *Server) handleDeleteProject() http.HandlerFunc {
62 return func(w http.ResponseWriter, r *http.Request) {

Callers 1

routesMethod · 0.95

Calls 2

VerifyTokenMethod · 0.80
CreateProjectMethod · 0.65

Tested by

no test coverage detected