
scope = "System Implied"
description = """
  A user with Auditor role for a program audit will also have this role in the
  default object context so that the auditor will have access to the objects
  required to perform the audit.
  """
permissions = {
    "read": [
        "Categorization",
        "Category",
        "ControlCategory",
        "ControlAssertion",
        "Control",
        "Assessment",
        "Issue",
        "ControlControl",
        "DataAsset",
        "AccessGroup",
        "Directive",
        "Contract",
        "Policy",
        "Regulation",
        "Standard",
        "Document",
        "Facility",
        "Help",
        "Market",
        "Objective",
        "ObjectDocument",
        "ObjectPerson",
        "Option",
        "OrgGroup",
        "Vendor",
        "PopulationSample",
        "Product",
        "Project",
        "Relationship",
        "Section",
        "Clause",
        "SystemOrProcess",
        "System",
        "Process",
        "SystemControl",
        "SystemSystem",
        "ObjectOwner",
        "Person",
        "Program",
        "Role",
        "Context",
        {
            "type": "BackgroundTask",
            "terms": {
                "property_name": "modified_by",
                "value": "$current_user"
            },
            "condition": "is"
        },
    ],
    "create": [],
    "view_object_page": [],
    "update": [],
    "delete": []
}


scope = "System Implied"
description = """
  A user with Auditor role for a program audit will also have this role in the
  default object context so that the auditor will have access to the objects
  required to perform the audit.
  """
permissions = {
    "read": [
        "Snapshot",
        "Categorization",
        "Category",
        "ControlCategory",
        "ControlAssertion",
        "Control",
        "Assessment",
        "Issue",
        "ControlControl",
        "DataAsset",
        "AccessGroup",
        "Directive",
        "Contract",
        "Policy",
        "Regulation",
        "Standard",
        "Document",
        "Facility",
        "Help",
        "Market",
        "Objective",
        "ObjectDocument",
        "ObjectPerson",
        "Option",
        "OrgGroup",
        "Vendor",
        "PopulationSample",
        "Product",
        "Project",
        "Relationship",
        "Section",
        "Clause",
        "SystemOrProcess",
        "System",
        "Process",
        "SystemControl",
        "SystemSystem",
        "ObjectOwner",
        "Person",
        "Program",
        "Role",
        "Context",
        {
            "type": "BackgroundTask",
            "terms": {
                "property_name": "modified_by",
                "value": "$current_user"
            },
            "condition": "is"
        },
    ],
    "create": [],
    "view_object_page": [],
    "update": [],
    "delete": []
}

Add support for reading snapshots for auditor reader
Add support for reading snapshots for auditor reader

  
  scope = "System Implied"
  description = """
    A user with Auditor role for a program audit will also have this role in the
    default object context so that the auditor will have access to the objects
    required to perform the audit.
    """
  permissions = {
      "read": [
+         "Snapshot",
          "Categorization",
          "Category",
          "ControlCategory",
          "ControlAssertion",
          "Control",
          "Assessment",
          "Issue",
          "ControlControl",
          "DataAsset",
          "AccessGroup",
          "Directive",
          "Contract",
          "Policy",
          "Regulation",
          "Standard",
          "Document",
          "Facility",
          "Help",
          "Market",
          "Objective",
          "ObjectDocument",
          "ObjectPerson",
          "Option",
          "OrgGroup",
          "Vendor",
          "PopulationSample",
          "Product",
          "Project",
          "Relationship",
          "Section",
          "Clause",
          "SystemOrProcess",
          "System",
          "Process",
          "SystemControl",
          "SystemSystem",
          "ObjectOwner",
          "Person",
          "Program",
          "Role",
          "Context",
          {
              "type": "BackgroundTask",
              "terms": {
                  "property_name": "modified_by",
                  "value": "$current_user"
              },
              "condition": "is"
          },
      ],
      "create": [],
      "view_object_page": [],
      "update": [],
      "delete": []
  }
  
Add support for reading snapshots for auditor reader
## Code Before:

scope = "System Implied"
description = """
  A user with Auditor role for a program audit will also have this role in the
  default object context so that the auditor will have access to the objects
  required to perform the audit.
  """
permissions = {
    "read": [
        "Categorization",
        "Category",
        "ControlCategory",
        "ControlAssertion",
        "Control",
        "Assessment",
        "Issue",
        "ControlControl",
        "DataAsset",
        "AccessGroup",
        "Directive",
        "Contract",
        "Policy",
        "Regulation",
        "Standard",
        "Document",
        "Facility",
        "Help",
        "Market",
        "Objective",
        "ObjectDocument",
        "ObjectPerson",
        "Option",
        "OrgGroup",
        "Vendor",
        "PopulationSample",
        "Product",
        "Project",
        "Relationship",
        "Section",
        "Clause",
        "SystemOrProcess",
        "System",
        "Process",
        "SystemControl",
        "SystemSystem",
        "ObjectOwner",
        "Person",
        "Program",
        "Role",
        "Context",
        {
            "type": "BackgroundTask",
            "terms": {
                "property_name": "modified_by",
                "value": "$current_user"
            },
            "condition": "is"
        },
    ],
    "create": [],
    "view_object_page": [],
    "update": [],
    "delete": []
}

## Instruction:
Add support for reading snapshots for auditor reader
## Code After:

scope = "System Implied"
description = """
  A user with Auditor role for a program audit will also have this role in the
  default object context so that the auditor will have access to the objects
  required to perform the audit.
  """
permissions = {
    "read": [
        "Snapshot",
        "Categorization",
        "Category",
        "ControlCategory",
        "ControlAssertion",
        "Control",
        "Assessment",
        "Issue",
        "ControlControl",
        "DataAsset",
        "AccessGroup",
        "Directive",
        "Contract",
        "Policy",
        "Regulation",
        "Standard",
        "Document",
        "Facility",
        "Help",
        "Market",
        "Objective",
        "ObjectDocument",
        "ObjectPerson",
        "Option",
        "OrgGroup",
        "Vendor",
        "PopulationSample",
        "Product",
        "Project",
        "Relationship",
        "Section",
        "Clause",
        "SystemOrProcess",
        "System",
        "Process",
        "SystemControl",
        "SystemSystem",
        "ObjectOwner",
        "Person",
        "Program",
        "Role",
        "Context",
        {
            "type": "BackgroundTask",
            "terms": {
                "property_name": "modified_by",
                "value": "$current_user"
            },
            "condition": "is"
        },
    ],
    "create": [],
    "view_object_page": [],
    "update": [],
    "delete": []
}
