DeletePolicy deletes the policy.
(ctx context.Context, policy *PolicyMessage)
| 621 | |
| 622 | // DeletePolicy deletes the policy. |
| 623 | func (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 | |
| 647 | func upsertPolicyImpl(ctx context.Context, txn *sql.Tx, create *PolicyMessage) (*PolicyMessage, error) { |
| 648 | create.UpdatedAt = time.Now() |
nothing calls this directly
no test coverage detected