HandleGetServiceRoleRequest handles request to get all service role
()
| 50 | |
| 51 | // HandleGetServiceRoleRequest handles request to get all service role |
| 52 | func (s *Server) HandleGetServiceRoleRequest() http.HandlerFunc { |
| 53 | |
| 54 | return func(w http.ResponseWriter, r *http.Request) { |
| 55 | |
| 56 | defer utils.CloseTheCloser(r.Body) |
| 57 | |
| 58 | ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) |
| 59 | defer cancel() |
| 60 | |
| 61 | // Verify token |
| 62 | _, err := s.auth.VerifyToken(utils.GetToken(r)) |
| 63 | if err != nil { |
| 64 | _ = helpers.Logger.LogError(helpers.GetRequestID(ctx), "Failed to get service role", err, nil) |
| 65 | _ = helpers.Response.SendErrorResponse(ctx, w, http.StatusUnauthorized, err) |
| 66 | return |
| 67 | } |
| 68 | |
| 69 | vars := mux.Vars(r) |
| 70 | projectID := vars["project"] |
| 71 | serviceID := r.URL.Query().Get("serviceId") |
| 72 | roleID := r.URL.Query().Get("roleId") |
| 73 | |
| 74 | serviceRole, err := s.driver.GetServiceRole(ctx, projectID) |
| 75 | if err != nil { |
| 76 | _ = helpers.Response.SendErrorResponse(ctx, w, http.StatusInternalServerError, err) |
| 77 | return |
| 78 | } |
| 79 | |
| 80 | result := make([]*model.Role, 0) |
| 81 | if serviceID != "" && roleID != "" { |
| 82 | for _, role := range serviceRole { |
| 83 | if role.ID == roleID && role.Service == serviceID { |
| 84 | result = append(result, role) |
| 85 | } |
| 86 | } |
| 87 | _ = helpers.Response.SendResponse(ctx, w, http.StatusOK, model.Response{Result: result}) |
| 88 | return |
| 89 | } |
| 90 | |
| 91 | if serviceID != "" { |
| 92 | for _, role := range serviceRole { |
| 93 | if role.Service == serviceID { |
| 94 | result = append(result, role) |
| 95 | } |
| 96 | } |
| 97 | _ = helpers.Response.SendResponse(ctx, w, http.StatusOK, model.Response{Result: result}) |
| 98 | return |
| 99 | } |
| 100 | |
| 101 | _ = helpers.Response.SendResponse(ctx, w, http.StatusOK, model.Response{Result: serviceRole}) |
| 102 | } |
| 103 | } |
| 104 | |
| 105 | // HandleDeleteServiceRole handles the request to delete a service role |
| 106 | func (s *Server) HandleDeleteServiceRole() http.HandlerFunc { |
no test coverage detected