[
  {
    "accessPolicy": {
      "fieldEdit": {
        "inherit": "objectEdit"
      },
      "fieldRead": {
        "inherit": "objectRead"
      },
      "mode": "derived",
      "objectCreate": {
        "kind": "objectPermission",
        "object": "Case",
        "operation": "Edit"
      },
      "objectDelete": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Case",
            "operation": "Edit"
          },
          {
            "anyOf": [
              {
                "kind": "objectPermission",
                "object": "Case",
                "operation": "ModifyAllRecords"
              },
              {
                "allOf": [
                  {
                    "apiName": "EditCaseComments",
                    "kind": "systemPermission"
                  },
                  {
                    "field": "CreatedById",
                    "kind": "recordFieldEqualsCurrentUser"
                  }
                ]
              }
            ]
          }
        ]
      },
      "objectEdit": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Case",
            "operation": "Edit"
          },
          {
            "anyOf": [
              {
                "kind": "objectPermission",
                "object": "Case",
                "operation": "ModifyAllRecords"
              },
              {
                "allOf": [
                  {
                    "apiName": "EditCaseComments",
                    "kind": "systemPermission"
                  },
                  {
                    "field": "CreatedById",
                    "kind": "recordFieldEqualsCurrentUser"
                  }
                ]
              }
            ]
          }
        ]
      },
      "objectRead": {
        "kind": "objectPermission",
        "object": "Case",
        "operation": "Read"
      }
    },
    "apiName": "CaseComment",
    "description": "Standard Salesforce CaseComment object; record-level visibility follows the parent Case while object and field access are delegated through metadata-authored access policy.",
    "fields": [
      {
        "apiName": "CommentBody",
        "label": "Comment Body",
        "required": true,
        "type": "string"
      },
      {
        "apiName": "CreatedById",
        "createable": false,
        "label": "Created By",
        "referenceTo": [
          "User"
        ],
        "relationshipName": "CreatedBy",
        "type": "reference",
        "updateable": false
      },
      {
        "apiName": "CreatedDate",
        "createable": false,
        "label": "Created Date",
        "type": "datetime",
        "updateable": false
      },
      {
        "apiName": "Id",
        "createable": false,
        "label": "ID",
        "required": true,
        "type": "string",
        "updateable": false
      },
      {
        "apiName": "IsDeleted",
        "createable": false,
        "label": "Deleted",
        "type": "string",
        "updateable": false
      },
      {
        "apiName": "IsPublished",
        "default": "0",
        "label": "Published",
        "required": true,
        "type": "string"
      },
      {
        "apiName": "LastModifiedById",
        "createable": false,
        "label": "Last Modified By",
        "referenceTo": [
          "User"
        ],
        "relationshipName": "LastModifiedBy",
        "type": "reference",
        "updateable": false
      },
      {
        "apiName": "LastModifiedDate",
        "createable": false,
        "label": "Last Modified Date",
        "type": "datetime",
        "updateable": false
      },
      {
        "apiName": "OwnerId",
        "label": "Owner",
        "referenceTo": [
          "User"
        ],
        "relationshipName": "Owner",
        "type": "reference"
      },
      {
        "apiName": "ParentId",
        "childRelationshipName": "CaseComments",
        "label": "Case",
        "referenceTo": [
          "Case"
        ],
        "relationshipName": "Parent",
        "required": true,
        "type": "reference"
      },
      {
        "apiName": "ParentOrigin",
        "label": "Parent Origin",
        "options": [
          {
            "label": "Email",
            "value": "Email"
          },
          {
            "label": "Phone",
            "value": "Phone"
          },
          {
            "label": "Web",
            "value": "Web"
          }
        ],
        "type": "picklist"
      },
      {
        "apiName": "SystemModstamp",
        "createable": false,
        "label": "System Modstamp",
        "type": "datetime",
        "updateable": false
      }
    ],
    "keyPrefix": "00a",
    "label": "Case Comment",
    "pluralLabel": "Case Comments",
    "sharingModel": "ControlledByParent",
    "tableType": "standard_object"
  }
]
