# yaml-language-server: $schema=https://api.cerbos.dev/latest/cerbos/policy/v1/Policy.schema.json
---
apiVersion: api.cerbos.dev/v1
resourcePolicy:
  version: default
  resource: email_campaign
  schemas:
    principalSchema:
      ref: cerbos:///principal.json
    resourceSchema:
      ref: cerbos:///tenant_owned_resource.json
  importDerivedRoles:
    - audience_development_multitenancy_roles
    - fansifter_multitenancy_roles
  rules:
  - name: create
    actions: ["create"]
    derivedRoles: [
      "audience_development_admin",
      "audience_development_client",
      "audience_development_audience_manager",
      "fansifter_can_create_email_campaigns",
    ]
    effect: EFFECT_ALLOW
  - name: edit
    actions: ["edit"]
    derivedRoles: [
      "audience_development_admin",
      "audience_development_client",
      "audience_development_audience_manager",
      "fansifter_can_create_email_campaigns",
    ]
    effect: EFFECT_ALLOW
  - name: view
    actions: ["view"]
    derivedRoles: [
      "audience_development_admin",
      "audience_development_client",
      "audience_development_audience_manager",
      "fansifter_can_create_email_campaigns",
      "fansifter_can_view_email_campaigns",
    ]
    effect: EFFECT_ALLOW
  - name: delete
    actions: ["delete"]
    derivedRoles: [
      "audience_development_admin",
      "audience_development_client",
      "audience_development_audience_manager",
      "fansifter_can_create_email_campaigns",
    ]
    effect: EFFECT_ALLOW
  - name: schedule
    actions: ["schedule"]
    derivedRoles: [
      "audience_development_admin",
      "audience_development_client",
      "audience_development_audience_manager",
      "fansifter_can_create_email_campaigns",
    ]
    effect: EFFECT_ALLOW
  - name: send
    actions: ["send"]
    derivedRoles: [
      "audience_development_admin",
      "audience_development_client",
      "audience_development_audience_manager",
      "fansifter_can_create_email_campaigns",
    ]
    effect: EFFECT_ALLOW
