CreatePolicy creates a policy in a specific resource.
(ctx context.Context, req *connect.Request[v1pb.CreatePolicyRequest])
| 148 | |
| 149 | // CreatePolicy creates a policy in a specific resource. |
| 150 | func (s *OrgPolicyService) CreatePolicy(ctx context.Context, req *connect.Request[v1pb.CreatePolicyRequest]) (*connect.Response[v1pb.Policy], error) { |
| 151 | if req.Msg.Policy == nil { |
| 152 | return nil, connect.NewError(connect.CodeInvalidArgument, errors.New("policy must be set")) |
| 153 | } |
| 154 | |
| 155 | if err := s.checkPolicyFeatureGuard(ctx, req.Msg.Policy.Type); err != nil { |
| 156 | return nil, err |
| 157 | } |
| 158 | |
| 159 | // TODO(d): validate policy. |
| 160 | response, err := s.createPolicyMessage(ctx, req) |
| 161 | if err != nil { |
| 162 | return nil, err |
| 163 | } |
| 164 | return connect.NewResponse(response), nil |
| 165 | } |
| 166 | |
| 167 | // UpdatePolicy updates a policy in a specific resource. |
| 168 | func (s *OrgPolicyService) UpdatePolicy(ctx context.Context, req *connect.Request[v1pb.UpdatePolicyRequest]) (*connect.Response[v1pb.Policy], error) { |
no test coverage detected