{
  "repo": "pingcap/campaign",
  "binary": "gaday-postmail",
  "binary_path": "gaday/postmail/index.js",
  "dependencies": {
    "CLI node postmail/index.js": {
      "infrastructure": {
        "filesystem": {
          "conditions": [
            "Always during execution"
          ],
          "operations": [
            {
              "operation": "READ / WRITE FILES",
              "trigger": "Read contributors JSON and persist mailist.txt",
              "conditions": [
                "CLI starts"
              ],
              "implementation": "fs.readFileSync('../webpage/contributors.json'); fs.writeFileSync('mailist.txt', ...)"
            }
          ]
        }
      },
      "services": [
        {
          "name": "gaday-contributors-helper",
          "target_repo": "pingcap/campaign",
          "target_interface": "GADayContributorsCLI.getUserEmail",
          "operation_type": "local_module_call",
          "conditions": [
            "For each selected contributor"
          ],
          "operations": [
            {
              "operation": "LOOKUP EMAIL",
              "trigger": "Resolve contributor email addresses before mail list generation",
              "conditions": [
                "Contributor selected for mailing"
              ],
              "implementation": "Contributors.getUserEmail(i)"
            }
          ]
        }
      ]
    }
  }
}
