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

Method DeletePolicy

backend/store/policy.go:623–645  ·  view source on GitHub ↗

DeletePolicy deletes the policy.

(ctx context.Context, policy *PolicyMessage)

Source from the content-addressed store, hash-verified

621
622// DeletePolicy deletes the policy.
623func (s *Store) DeletePolicy(ctx context.Context, policy *PolicyMessage) error {
624 q := qb.Q().Space("DELETE FROM policy WHERE resource_type = ? AND resource = ? AND type = ? AND workspace = ?",
625 policy.ResourceType,
626 policy.Resource,
627 policy.Type.String(),
628 policy.Workspace,
629 )
630
631 query, args, err := q.ToSQL()
632 if err != nil {
633 return errors.Wrapf(err, "failed to build sql")
634 }
635
636 if _, err := s.GetDB().ExecContext(ctx, query, args...); err != nil {
637 return err
638 }
639
640 s.policyCache.Remove(getPolicyCacheKey(policy.Workspace, policy.ResourceType, policy.Resource, policy.Type))
641 if policy.Type == storepb.Policy_IAM {
642 s.iamPolicyCache.Remove(getIamPolicyCacheKey(policy.Workspace, policy.ResourceType, policy.Resource))
643 }
644 return nil
645}
646
647func upsertPolicyImpl(ctx context.Context, txn *sql.Tx, create *PolicyMessage) (*PolicyMessage, error) {
648 create.UpdatedAt = time.Now()

Callers

nothing calls this directly

Calls 7

GetDBMethod · 0.95
QFunction · 0.92
getPolicyCacheKeyFunction · 0.85
getIamPolicyCacheKeyFunction · 0.85
SpaceMethod · 0.80
ToSQLMethod · 0.80
StringMethod · 0.65

Tested by

no test coverage detected