[
  {
    "name": "ActorsEpisodes",
    "entity_name": "shows:actor_episode",
    "description": "lookup the actor name and episode name using two parent role names.  The GET event does a multiple level lookup to get season name and show name from parent and grand parent.",
    "event_get_code": "var episode_id = tableRow.episode_id;\nvar params = {\n    usingValues: {\n        id: episode_id\n    }\n};\n\nvar episodes = null;\nvar episodes = SysUtility.findEntities(\"shows:episodes\", params);\nif (null !== episodes && episodes.length > 0) {\n    log.debug(JSON.stringify(episodes, null, 2));\n    var season_id = episodes[0].season_id;\n    params = {\n        usingValues: {\n            id: season_id\n        }\n    };\n    var seasons = SysUtility.findEntities(\"shows:seasons\", params);\n    if (null !== seasons && seasons.length > 0) {\n        log.debug(JSON.stringify(seasons, null, 2));\n        virtuals['SeasonName'] = seasons[0].name;\n        var show_id = seasons[0].show_id;\n        params = {\n            usingValues: {\n                id: show_id\n            }\n        };\n        var shows = SysUtility.findEntities(\"shows:shows\", params);\n        if (null !== shows && shows.length > 0) {\n            log.debug(JSON.stringify(shows, null, 2));\n            virtuals['ShowName'] =  shows[0].name;\n        }\n    }\n}\n",
    "event_put_post_code": null,
    "extended_properties_json": null,
    "is_collection": "Y",
    "join_condition": null,
    "filter": null,
    "sorting": null,
    "container_ident": null,
    "table_name": "actor_episode",
    "ident": 2235,
    "resource_type_ident": 1,
    "code_text": null,
    "prefix": "shows",
    "sibling_rank": 100,
    "combined": false,
    "Attributes": [
      {
        "name": "SeasonName",
        "description": "virtual",
        "roles_to_ancestor": null,
        "column_name": null,
        "resource_ident": 2235,
        "is_defined_key_part": false,
        "is_lookup_key_part": false,
        "is_hidden_virtual": false,
        "json_type": "string",
        "sibling_rank": 100
      },
      {
        "name": "ShowName",
        "description": "virtual",
        "roles_to_ancestor": null,
        "column_name": null,
        "resource_ident": 2235,
        "is_defined_key_part": false,
        "is_lookup_key_part": false,
        "is_hidden_virtual": false,
        "json_type": "string",
        "sibling_rank": 110
      },
      {
        "name": "ActorName",
        "description": "lookup",
        "roles_to_ancestor": "\"actors\"",
        "column_name": "name",
        "resource_ident": 2235,
        "is_defined_key_part": false,
        "is_lookup_key_part": true,
        "is_hidden_virtual": false,
        "json_type": null,
        "sibling_rank": 120
      },
      {
        "name": "EpisodeName",
        "description": "lookup",
        "roles_to_ancestor": "\"episodes\"",
        "column_name": "name",
        "resource_ident": 2235,
        "is_defined_key_part": false,
        "is_lookup_key_part": true,
        "is_hidden_virtual": false,
        "json_type": null,
        "sibling_rank": 130
      }
    ]
  }
]