diff options
Diffstat (limited to 'mod/mod-ci-github.hxx')
-rw-r--r-- | mod/mod-ci-github.hxx | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/mod/mod-ci-github.hxx b/mod/mod-ci-github.hxx index b628b2a..a6cd180 100644 --- a/mod/mod-ci-github.hxx +++ b/mod/mod-ci-github.hxx @@ -13,137 +13,8 @@ #include <mod/ci-common.hxx> #include <mod/tenant-service.hxx> -namespace butl -{ - namespace json - { - class parser; - } -} - namespace brep { - // GitHub request/response types. - // - // Note that the GitHub REST and GraphQL APIs use different ID types and - // values. In the REST API they are usually integers (but sometimes - // strings!) whereas in GraphQL they are always strings (note: - // base64-encoded and opaque, not just the REST ID value as a string). - // - // In both APIs the ID field is called `id`, but REST responses and webhook - // events also contain the corresponding GraphQL object's ID in the - // `node_id` field. - // - // In the structures below we always use the RESP API/webhook names for ID - // fields. I.e., `id` always refers to the REST/webhook ID, and `node_id` - // always refers to the GraphQL ID. - // - // Note that having the below types directly in brep causes clashes (e.g., - // for the repository name). - // - namespace gh - { - namespace json = butl::json; - - // The "check_suite" object within a check_suite webhook event request. - // - struct check_suite - { - string node_id; - string head_branch; - string head_sha; - string before; - string after; - - explicit - check_suite (json::parser&); - - check_suite () = default; - }; - - struct check_run - { - string node_id; - string name; - string status; - - explicit - check_run (json::parser&); - - check_run () = default; - }; - - struct repository - { - string node_id; - string name; - string full_name; - string default_branch; - string clone_url; - - explicit - repository (json::parser&); - - repository () = default; - }; - - struct installation - { - uint64_t id; // Note: used for installation access token (REST API). - - explicit - installation (json::parser&); - - installation () = default; - }; - - // The check_suite webhook event request. - // - struct check_suite_event - { - string action; - gh::check_suite check_suite; - gh::repository repository; - gh::installation installation; - - explicit - check_suite_event (json::parser&); - - check_suite_event () = default; - }; - - struct installation_access_token - { - string token; - timestamp expires_at; - - explicit - installation_access_token (json::parser&); - - installation_access_token (string token, timestamp expires_at); - - installation_access_token () = default; - }; - - ostream& - operator<< (ostream&, const check_suite&); - - ostream& - operator<< (ostream&, const check_run&); - - ostream& - operator<< (ostream&, const repository&); - - ostream& - operator<< (ostream&, const installation&); - - ostream& - operator<< (ostream&, const check_suite_event&); - - ostream& - operator<< (ostream&, const installation_access_token&); - } - class ci_github: public handler, private ci_start, public tenant_service_build_queued, |