Full request schema.
This commit is contained in:
		
							parent
							
								
									14373c21dd
								
							
						
					
					
						commit
						eb0c993e03
					
				
							
								
								
									
										135
									
								
								src/webhook.rs
									
									
									
									
									
								
							
							
						
						
									
										135
									
								
								src/webhook.rs
									
									
									
									
									
								
							| @ -19,12 +19,137 @@ pub(crate) struct HookRequest { | ||||
|     ref_field: String, | ||||
|     before: String, | ||||
|     compare_url: String, | ||||
|     commits: Value, | ||||
|     commits: Vec<HookCommit>, | ||||
|     total_commits: u64, | ||||
|     head_commit: Value, | ||||
|     repository: Value, | ||||
|     pusher: Value, | ||||
|     sender: Value, | ||||
|     head_commit: HookCommit, | ||||
|     repository: HookRepository, | ||||
|     pusher: HookUser, | ||||
|     sender: HookUser, | ||||
| } | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| #[derive(Deserialize)] | ||||
| pub(crate) struct HookUser { | ||||
|     id: u64, | ||||
|     login: String, | ||||
|     login_name: String, | ||||
|     full_name: String, | ||||
|     email: String, | ||||
|     avatar_url: String, | ||||
|     language: String, | ||||
|     is_admin: bool, | ||||
|     last_login: String, // TODO: parse to datetime
 | ||||
|     created: String,    // TODO: parse to datetime
 | ||||
|     restricted: bool, | ||||
|     active: bool, | ||||
|     prohibit_login: bool, | ||||
|     location: String, | ||||
|     website: String, | ||||
|     description: String, | ||||
|     visibility: String, | ||||
|     followers_count: u64, | ||||
|     following_count: u64, | ||||
|     starred_repos_count: u64, | ||||
|     username: String, | ||||
| } | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| #[derive(Deserialize)] | ||||
| pub(crate) struct HookRepository { | ||||
|     id: u64, | ||||
|     owner: HookUser, | ||||
|     name: String, | ||||
|     full_name: String, | ||||
|     description: String, | ||||
|     empty: bool, | ||||
|     private: bool, | ||||
|     fork: bool, | ||||
|     template: bool, | ||||
|     parent: Value, // Was null in test hook
 | ||||
|     mirror: bool, | ||||
|     size: u64, | ||||
|     language: String, | ||||
|     languages_url: String, | ||||
|     html_url: String, | ||||
|     url: String, | ||||
|     link: String, | ||||
|     ssh_url: String, | ||||
|     clone_url: String, | ||||
|     original_url: String, | ||||
|     website: String, | ||||
|     stars_count: u64, | ||||
|     forks_count: u64, | ||||
|     watchers_count: u64, | ||||
|     open_issues_count: u64, | ||||
|     open_pr_counter: u64, | ||||
|     release_counter: u64, | ||||
|     default_branch: String, | ||||
|     archived: bool, | ||||
|     created_at: String,  // TODO: parse to datetime
 | ||||
|     updated_at: String,  // TODO: parse to datetime
 | ||||
|     archived_at: String, // TODO: parse to datetime
 | ||||
|     permissions: HookRepositoryPermissions, | ||||
|     has_issues: bool, | ||||
|     internal_tracker: HookRepositoryInternalTracker, | ||||
|     has_wiki: bool, | ||||
|     has_pull_requests: bool, | ||||
|     has_projects: bool, | ||||
|     has_releases: bool, | ||||
|     has_packages: bool, | ||||
|     has_actions: bool, | ||||
|     ignore_whitespace_conflicts: bool, | ||||
|     allow_merge_commits: bool, | ||||
|     allow_rebase: bool, | ||||
|     allow_rebase_explicit: bool, | ||||
|     allow_squash_merge: bool, | ||||
|     allow_rebase_update: bool, | ||||
|     default_delete_branch_after_merge: bool, | ||||
|     default_merge_style: String, | ||||
|     default_allow_maintainer_edit: bool, | ||||
|     avatar_url: String, | ||||
|     internal: bool, | ||||
|     mirror_interval: String, | ||||
|     mirror_updated: String, // TODO: parse to datetime
 | ||||
|     repo_transfer: Value,   // Was null in test hook
 | ||||
| } | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| #[derive(Deserialize)] | ||||
| pub(crate) struct HookRepositoryPermissions { | ||||
|     admin: bool, | ||||
|     push: bool, | ||||
|     pull: bool, | ||||
| } | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| #[derive(Deserialize)] | ||||
| pub(crate) struct HookRepositoryInternalTracker { | ||||
|     enable_time_tracker: bool, | ||||
|     allow_only_contributors_to_track_time: bool, | ||||
|     enable_issue_dependencies: bool, | ||||
| } | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| #[derive(Deserialize)] | ||||
| pub(crate) struct HookCommit { | ||||
|     id: String, | ||||
|     message: String, | ||||
|     url: String, | ||||
|     author: HookGitUser, | ||||
|     committer: HookGitUser, | ||||
|     verification: Value, // Was null in test hook
 | ||||
|     timestamp: String,   // TODO: parse to datetime
 | ||||
|     added: Vec<String>, | ||||
|     removed: Vec<String>, | ||||
|     modified: Vec<String>, | ||||
| } | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| #[derive(Deserialize)] | ||||
| pub(crate) struct HookGitUser { | ||||
|     name: String, | ||||
|     email: String, | ||||
|     username: String, | ||||
| } | ||||
| 
 | ||||
| #[derive(Serialize)] | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Tom Alexander
						Tom Alexander