namespace GitApp {
entity Issue, User, Application;
entity Repo in [Application] = {
"admins": Set<User>,
"contributors"?: Set<User>,
"reporters"?: Set<User>,
};
action addRepoAdmin, addRepoContributor, addRepoReporter appliesTo {
principal: [User],
resource: [Repo]
};
action deleteIssue, editIssue appliesTo {
principal: [User],
resource: [Repo]
};
action forkRepo, pullRepo, pushRepo appliesTo {
principal: [User],
resource: [Repo]
};
action addIssue, assignIssue, closeIssue appliesTo {
principal: [User],
resource: [Repo]
};
}