MCPcopy Create free account
hub / github.com/bytebase/bytebase / DeletePolicy

Method DeletePolicy

backend/api/v1/org_policy_service.go:279–303  ·  view source on GitHub ↗

DeletePolicy deletes a policy for a specific resource.

(ctx context.Context, req *connect.Request[v1pb.DeletePolicyRequest])

Source from the content-addressed store, hash-verified

277
278// DeletePolicy deletes a policy for a specific resource.
279func (s *OrgPolicyService) DeletePolicy(ctx context.Context, req *connect.Request[v1pb.DeletePolicyRequest]) (*connect.Response[emptypb.Empty], error) {
280 policy, _, err := s.findPolicyMessage(ctx, req.Msg.Name)
281 if err != nil {
282 return nil, err
283 }
284
285 var perm permission.Permission
286 switch policy.Type {
287 case storepb.Policy_MASKING_EXEMPTION:
288 perm = permission.PoliciesDeleteMaskingExemptionPolicy
289 case storepb.Policy_MASKING_RULE:
290 perm = permission.PoliciesDeleteMaskingRulePolicy
291 default:
292 perm = permission.PoliciesDelete
293 }
294 if err := s.checkPolicyPermission(ctx, req, perm, policy); err != nil {
295 return nil, err
296 }
297
298 if err := s.store.DeletePolicy(ctx, policy); err != nil {
299 return nil, connect.NewError(connect.CodeInternal, err)
300 }
301
302 return connect.NewResponse(&emptypb.Empty{}), nil
303}
304
305// extractPolicyTypeFromName extracts the policy type from a policy name.
306func extractPolicyTypeFromName(policyName string) (storepb.Policy_Type, error) {

Callers

nothing calls this directly

Calls 3

findPolicyMessageMethod · 0.95
checkPolicyPermissionMethod · 0.95
DeletePolicyMethod · 0.65

Tested by

no test coverage detected