Module Github_t

type update_gist = {
update_gist_description : string;
update_gist_files : (string * update_gist) list;
}
type json = Yojson.Safe.json
type wiki_page_action = [
| `Created
| `Edited
| `Unknown of string * json option
]
type wiki_page = {
wiki_page_name : string;
wiki_page_title : string;
wiki_page_action : wiki_page_action;
wiki_page_sha : string;
wiki_page_html_url : string;
}
type bool_as_string = bool
type web_hook_config = {
web_hook_config_url : string;
web_hook_config_content_type : string option;
web_hook_config_insecure_ssl : bool_as_string;
web_hook_config_secret : string option;
}
type watch_action = [
| `Started
| `Unknown of string * json option
]
type watch_event = {
watch_event_action : watch_action;
}
type user_info = {
user_info_name : string option;
user_info_company : string option;
user_info_blog : string option;
user_info_location : string option;
user_info_email : string option;
user_info_hireable : bool;
user_info_bio : string;
user_info_public_repos : int;
user_info_public_gists : int;
user_info_followers : int;
user_info_following : int;
user_info_created_at : string;
user_info_updated_at : string;
user_info_html_url : string;
user_info_login : string;
user_info_id : Int64.t;
user_info_url : string;
user_info_avatar_url : string option;
}
type user = {
user_login : string;
user_id : Int64.t;
user_url : string;
user_avatar_url : string option;
}
type update_release = {
update_release_tag_name : string option;
update_release_target_commitish : string option;
update_release_name : string option;
update_release_body : string option;
update_release_draft : bool option;
update_release_prerelease : bool option;
}
type state = [
| `Open
| `Closed
]
type update_pull = {
update_pull_title : string option;
update_pull_body : string option;
update_pull_state : state option;
update_pull_base : string option;
}
type update_milestone = {
update_milestone_title : string option;
update_milestone_state : state option;
update_milestone_description : string option;
update_milestone_due_on : string option;
}
type update_issue = {
update_issue_title : string option;
update_issue_body : string option;
update_issue_state : state option;
update_issue_assignee : string option;
update_issue_milestone : int option;
update_issue_labels : string list option;
}
type hook_config = [
| `Web of web_hook_config
| `Unknown of string * json option
]
type event_type = [
| `CommitComment
| `Create
| `Delete
| `Deployment
| `DeploymentStatus
| `Download
| `Follow
| `Fork
| `ForkApply
| `Gist
| `Gollum
| `IssueComment
| `Issues
| `Member
| `PageBuild
| `Public
| `PullRequest
| `PullRequestReviewComment
| `Push
| `Release
| `Repository
| `Status
| `TeamAdd
| `Watch
| `All
| `Unknown of string * json option
]
type update_hook = {
update_hook_config : hook_config;
update_hook_events : event_type list option;
update_hook_active : bool;
}
type update_gist_file = {
update_gist_file_content : string option;
update_gist_file_name : string option;
}
type pull_ref = {
pull_ref_url : string;
pull_ref_html_url : string;
pull_ref_diff_url : string;
pull_ref_patch_url : string;
}
type milestone = {
milestone_url : string;
milestone_number : int;
milestone_state : state;
milestone_title : string;
milestone_description : string;
milestone_creator : user option;
milestone_open_issues : int;
milestone_closed_issues : int;
milestone_created_at : string;
milestone_due_on : string option;
}
type label = {
label_url : string;
label_name : string;
label_color : string;
}
type issue_sort = [
| `Created
| `Updated
| `Comments
| `Unknown of string * json option
]
type direction = [
| `Asc
| `Desc
]
type issue = {
issue_url : string;
issue_html_url : string;
issue_number : int;
issue_state : state;
issue_title : string;
issue_body : string;
issue_user : user;
issue_labels : label list;
issue_comments : int;
issue_created_at : string;
issue_updated_at : string;
issue_closed_at : string option;
issue_milestone : milestone option;
issue_sort : issue_sort;
issue_direction : direction;
issue_mentioned : string list option;
issue_pull_request : pull_ref option;
}
type timeline_source = {
timeline_source_id : int option;
timeline_source_url : string option;
timeline_source_actor : user option;
timeline_source_issue : issue option;
}
type timeline_action = [
| `Assigned
| `Closed
| `Commented
| `Committed
| `Cross_referenced
| `Demilestoned
| `Head_ref_deleted
| `Head_ref_restored
| `Labeled
| `Locked
| `Mentioned
| `Merged
| `Milestoned
| `Referenced
| `Renamed
| `Reopened
| `Review_dismissed
| `Review_requested
| `Review_request_removed
| `Subscribed
| `Unassigned
| `Unlabeled
| `Unlocked
| `Unsubscribed
]
type issue_rename = {
issue_rename_from : string;
issue_rename_to : string;
}
type base_label = {
base_label_name : string;
base_label_color : string;
}
type timeline_event = {
timeline_event_id : int option;
timeline_event_url : string option;
timeline_event_actor : user option;
timeline_event_commit_id : string option;
timeline_event_event : timeline_action;
timeline_event_created_at : string;
timeline_event_label : base_label option;
timeline_event_assignee : user option;
timeline_event_milestone : milestone option;
timeline_event_source : timeline_source option;
timeline_event_rename : issue_rename option;
}
type timeline_events = timeline_event list
type change = {
change_from : string;
}
type ticket_changes = {
ticket_changes_title : change option;
ticket_changes_body : change option;
}
type team = {
team_url : string;
team_name : string;
team_id : Int64.t;
}
type teams = team list
type team_permission = [
| `Pull
| `Push
| `Admin
| `Unknown of string * json option
]
type org = {
org_login : string;
org_id : Int64.t;
org_url : string;
org_avatar_url : string option;
}
type team_info = {
team_info_permission : team_permission;
team_info_members_count : int;
team_info_repos_count : int;
team_info_organization : org;
team_info_url : string;
team_info_name : string;
team_info_id : Int64.t;
}
type team_infos = team_info list
type team_add_info = {
team_add_info_slug : string;
team_add_info_permission : team_permission;
team_add_info_members_url : string;
team_add_info_repositories_url : string;
team_add_info_url : string;
team_add_info_name : string;
team_add_info_id : Int64.t;
}
type repository = {
repository_owner : user;
repository_full_name : string;
repository_description : string option;
repository_private : bool;
repository_fork : bool;
repository_html_url : string;
repository_clone_url : string;
repository_git_url : string;
repository_ssh_url : string;
repository_svn_url : string;
repository_mirror_url : string option;
repository_homepage : string;
repository_language : string option;
repository_forks_count : int;
repository_subscribers_count : int option;
repository_stargazers_count : int;
repository_size : int;
repository_default_branch : string option;
repository_open_issues_count : int;
repository_pushed_at : string option;
repository_created_at : string;
repository_updated_at : string;
repository_organization : user option;
repository_has_issues : bool;
repository_has_wiki : bool;
repository_has_downloads : bool;
repository_has_pages : bool;
repository_id : Int64.t;
repository_name : string;
repository_url : string;
}
type team_add_event = {
team_add_event_team : team_add_info option;
team_add_event_user : user option;
team_add_event_repository : repository option;
team_add_event_organization : org;
}
type obj_type = [
| `Blob
| `Tree
| `Commit
| `Tag
]
type obj = {
obj_ty : obj_type;
obj_sha : string;
obj_url : string;
}
type info = {
info_date : string;
info_email : string;
info_name : string;
}
type tag = {
tag_obj : obj;
tag_url : string;
tag_sha : string;
tag_tag : string;
tag_message : string;
tag_tagger : info;
}
type status_state = [
| `Pending
| `Success
| `Failure
| `Error
| `Unknown of string * json option
]
type status = {
status_creator : user;
status_url : string;
status_updated_at : string;
status_created_at : string;
status_id : Int64.t;
status_state : status_state;
status_target_url : string option;
status_description : string option;
status_context : string option;
}
type statuses = status list
type status_branch_commit = {
status_branch_commit_sha : string;
status_branch_commit_url : string;
}
type status_branch = {
status_branch_name : string;
status_branch_commit : status_branch_commit;
}
type git_commit = {
git_commit_url : string;
git_commit_author : info;
git_commit_message : string;
}
type commit = {
commit_url : string;
commit_sha : string;
commit_git : git_commit;
commit_author : user option;
commit_committer : user option;
}
type status_event = {
status_event_sha : string;
status_event_target_url : string option;
status_event_context : string option;
status_event_description : string option;
status_event_state : status_state;
status_event_commit : commit;
status_event_branches : status_branch list;
}
type scope = [
| `User
| `User_email
| `User_follow
| `Public_repo
| `Repo
| `Repo_deployment
| `Repo_status
| `Delete_repo
| `Notifications
| `Gist
| `Read_repo_hook
| `Write_repo_hook
| `Admin_repo_hook
| `Admin_org_hook
| `Read_org
| `Write_org
| `Admin_org
| `Read_public_key
| `Write_public_key
| `Admin_public_key
| `Unknown of string * json option
]
type repositories = repository list
type repository_action = [
| `Created
| `Deleted
| `Publicized
| `Privatized
| `Unknown of string * json option
]
type repository_event = {
repository_event_action : repository_action;
repository_event_repository : repository;
}
type repo_commit = {
repo_commit_sha : string;
repo_commit_url : string;
}
type repo_tag = {
repo_tag_name : string;
repo_tag_commit : repo_commit;
repo_tag_zipball_url : string;
repo_tag_tarball_url : string;
}
type repo_tags = repo_tag list
type repo_issues_action = [
| `Closed
| `Reopened
| `Subscribed
| `Merged
| `Referenced
| `Mentioned
| `Assigned
| `Unassigned
| `Labeled
| `Unlabeled
| `Milestoned
| `Demilestoned
| `Renamed
| `Locked
| `Unlocked
| `Head_ref_deleted
| `Head_ref_restored
| `Unknown of string * json option
]
type linked_user = {
linked_user_html_url : string;
linked_user_login : string;
linked_user_id : Int64.t;
linked_user_url : string;
linked_user_avatar_url : string option;
}
type repo_issues_event = {
repo_issues_event_issue : issue;
repo_issues_event_id : int;
repo_issues_event_url : string;
repo_issues_event_actor : linked_user option;
repo_issues_event_event : repo_issues_action;
repo_issues_event_created_at : string;
repo_issues_event_label : base_label option;
repo_issues_event_assignee : linked_user option;
repo_issues_event_assigner : linked_user option;
repo_issues_event_milestone : milestone option;
repo_issues_event_rename : issue_rename option;
}
type repo_issues_events = repo_issues_event list
type repo_issue_event = {
repo_issue_event_id : int;
repo_issue_event_url : string;
repo_issue_event_actor : linked_user option;
repo_issue_event_event : repo_issues_action;
repo_issue_event_created_at : string;
repo_issue_event_label : base_label option;
repo_issue_event_assignee : linked_user option;
repo_issue_event_assigner : linked_user option;
repo_issue_event_milestone : milestone option;
repo_issue_event_rename : issue_rename option;
}
type repo_issue_events = repo_issue_event list
type repo_branch = {
repo_branch_name : string;
repo_branch_commit : repo_commit;
}
type repo_branches = repo_branch list
type repo = {
repo_id : Int64.t;
repo_name : string;
repo_url : string;
}
type release = {
release_id : Int64.t;
release_tag_name : string;
release_target_commitish : string option;
release_name : string option;
release_body : string option;
release_draft : bool;
release_prerelease : bool;
release_created_at : string;
release_published_at : string;
release_url : string;
release_html_url : string;
release_assets_url : string;
release_upload_url : string;
}
type releases = release list
type release_repo = {
release_repo_user : string;
release_repo_repo : string;
release_repo_release : release;
}
type release_repos = release_repo list
type release_action = [
| `Published
| `Unknown of string * json option
]
type release_event = {
release_event_action : release_action;
release_event_release : release;
}
type ref = [
| `Repository
| `Branch of string
| `Tag of string
]
type rate = {
rate_limit : int;
rate_remaining : int;
rate_reset : float;
}
type rate_resources = {
rate_resources_core : rate;
}
type rate_limit = {
rate_limit_resources : rate_resources;
}
type push_event_author = {
push_event_author_name : string;
push_event_author_email : string;
}
type push_event_hook_commit = {
push_event_hook_commit_id : string;
push_event_hook_commit_tree_id : string;
push_event_hook_commit_url : string;
push_event_hook_commit_message : string;
push_event_hook_commit_author : push_event_author;
push_event_hook_commit_distinct : bool;
}
type push_event_hook = {
push_event_hook_after : string;
push_event_hook_created : bool;
push_event_hook_deleted : bool;
push_event_hook_forced : bool;
push_event_hook_commits : push_event_hook_commit list;
push_event_hook_head_commit : push_event_hook_commit option;
push_event_hook_ref : string;
push_event_hook_before : string;
}
type push_event_commit_base = {
push_event_commit_base_url : string;
push_event_commit_base_message : string;
push_event_commit_base_author : push_event_author;
push_event_commit_base_distinct : bool;
}
type push_event_commit = {
push_event_commit_sha : string;
push_event_commit_url : string;
push_event_commit_message : string;
push_event_commit_author : push_event_author;
push_event_commit_distinct : bool;
}
type push_event_base = {
push_event_base_ref : string;
push_event_base_before : string;
}
type push_event = {
push_event_head : string;
push_event_size : int;
push_event_commits : push_event_commit list;
push_event_ref : string;
push_event_before : string;
}
type branch = {
branch_label : string;
branch_ref : string;
branch_sha : string;
branch_user : user option;
branch_repo : repository option;
}
type pull = {
pull_issue_url : string;
pull_number : int;
pull_state : state;
pull_title : string;
pull_body : string;
pull_created_at : string;
pull_updated_at : string;
pull_closed_at : string option;
pull_merged_at : string option;
pull_head : branch;
pull_base : branch;
pull_user : user;
pull_url : string;
pull_html_url : string;
pull_diff_url : string;
pull_patch_url : string;
}
type pulls = pull list
type body_changes = {
body_changes_body : change option;
}
type pull_request_review_comment_action = [
| `Created
| `Edited of body_changes
| `Deleted
| `Unknown of string * json option
]
type pull_request_review_comment = {
pull_request_review_comment_diff_hunk : string;
pull_request_review_comment_original_position : int;
pull_request_review_comment_original_commit_id : string;
pull_request_review_comment_pull_request_url : string;
pull_request_review_comment_position : int option;
pull_request_review_comment_line : int option;
pull_request_review_comment_path : string option;
pull_request_review_comment_commit_id : string;
pull_request_review_comment_id : Int64.t;
pull_request_review_comment_url : string;
pull_request_review_comment_html_url : string;
pull_request_review_comment_body : string;
pull_request_review_comment_user : user;
pull_request_review_comment_created_at : string;
pull_request_review_comment_updated_at : string;
}
type pull_request_review_comment_event = {
pull_request_review_comment_event_action : pull_request_review_comment_action;
pull_request_review_comment_event_pull_request : pull;
pull_request_review_comment_event_comment : pull_request_review_comment;
}
type pull_request_action = [
| `Assigned
| `Unassigned
| `Labeled
| `Unlabeled
| `Opened
| `Edited of ticket_changes
| `Closed
| `Reopened
| `Synchronize
| `Unknown of string * json option
]
type pull_request_event = {
pull_request_event_action : pull_request_action;
pull_request_event_number : int;
pull_request_event_pull_request : pull;
}
type page_build_status = [
| `Building
| `Built
| `Errored
| `Unknown of string * json option
]
type page_build_error = {
page_build_error_message : string option;
}
type page_build = {
page_build_url : string;
page_build_status : page_build_status option;
page_build_error : page_build_error;
}
type page_build_event = {
page_build_event_build : page_build;
}
type orgs = org list
type organization = {
organization_name : string;
organization_company : string;
organization_blog : string;
organization_location : string;
organization_email : string;
organization_public_repos : int;
organization_public_gists : int;
organization_followers : int;
organization_following : int;
organization_html_url : string;
organization_created_at : string;
organization_login : string;
organization_id : Int64.t;
organization_url : string;
organization_avatar_url : string option;
}
type new_status = {
new_status_state : status_state;
new_status_target_url : string option;
new_status_description : string option;
new_status_context : string option;
}
type new_repo = {
new_repo_name : string;
new_repo_description : string;
new_repo_homepage : string;
new_repo_private : bool;
new_repo_has_issues : bool;
new_repo_has_wiki : bool;
new_repo_has_downloads : bool;
new_repo_team_id : int;
new_repo_auto_init : bool;
new_repo_gitignore_template : string option;
new_repo_license_template : string option;
}
type new_release = {
new_release_tag_name : string;
new_release_target_commitish : string;
new_release_name : string option;
new_release_body : string option;
new_release_draft : bool;
new_release_prerelease : bool;
}
type new_pull_issue = {
new_pull_issue_issue : int;
new_pull_issue_base : string;
new_pull_issue_head : string;
}
type new_pull = {
new_pull_title : string;
new_pull_body : string option;
new_pull_base : string;
new_pull_head : string;
}
type new_milestone = {
new_milestone_title : string;
new_milestone_state : state;
new_milestone_description : string option;
new_milestone_due_on : string option;
}
type new_label = {
new_label_name : string;
new_label_color : string;
}
type new_issue_comment = {
new_issue_comment_body : string;
}
type new_issue = {
new_issue_title : string;
new_issue_body : string option;
new_issue_assignee : string option;
new_issue_milestone : int option;
new_issue_labels : string list;
}
type new_hook = {
new_hook_config : hook_config;
new_hook_events : event_type list;
new_hook_active : bool;
}
type new_gist_content = {
new_gist_content : string;
}
type new_gist_contents = (string * new_gist_content) list
type new_gist = {
new_gist_files : new_gist_contents;
new_gist_description : string;
new_gist_public : bool;
}
type new_deploy_key = {
new_deploy_key_title : string;
new_deploy_key_key : string;
}
type milestones = milestone list
type milestone_sort = [
| `Due_date
| `Completeness
]
type error = {
error_resource : string;
error_field : string option;
error_code : string;
error_message : string option;
}
type message = {
message_message : string;
message_errors : error list;
}
type merge_request = {
merge_commit_message : string option;
}
type merge = {
merge_sha : string option;
merge_merged : bool;
merge_message : string;
}
type member_action = [
| `Added
| `Unknown of string * json option
]
type member_event = {
member_event_action : member_action;
member_event_member : linked_user;
}
type linked_users = linked_user list
type labels = label list
type label_names = string list
type issues_action = [
| `Assigned
| `Unassigned
| `Labeled
| `Unlabeled
| `Opened
| `Edited of ticket_changes
| `Closed
| `Reopened
| `Unknown of string * json option
]
type issues_event = {
issues_event_action : issues_action;
issues_event_issue : issue;
issues_event_assignee : user_info option;
issues_event_label : label option;
}
type issues = issue list
type issue_comment = {
issue_comment_id : Int64.t;
issue_comment_url : string;
issue_comment_html_url : string;
issue_comment_body : string;
issue_comment_user : user;
issue_comment_created_at : string;
issue_comment_updated_at : string;
}
type issue_comments = issue_comment list
type issue_comment_action = [
| `Created
| `Edited of body_changes
| `Deleted
| `Unknown of string * json option
]
type issue_comment_event = {
issue_comment_event_action : issue_comment_action;
issue_comment_event_issue : issue;
issue_comment_event_comment : issue_comment;
}
type hook = {
hook_url : string;
hook_updated_at : string;
hook_created_at : string;
hook_events : event_type list;
hook_active : bool;
hook_config : hook_config;
hook_id : Int64.t;
}
type hooks = hook list
type gollum_event = {
gollum_event_pages : wiki_page list;
}
type git_ref = {
git_ref_name : string;
git_ref_url : string;
git_ref_obj : obj;
}
type git_refs = git_ref list
type gist_fork = {
gist_fork_user : user;
gist_fork_url : string;
gist_fork_id : Int64.t;
gist_fork_created_at : string;
gist_fork_updated_at : string;
}
type gist_file = {
gist_file_size : int;
gist_file_raw_url : string;
gist_file_ty : string;
gist_file_truncated : bool option;
gist_file_language : string option;
gist_file_content : string option;
}
type gist_files = (string * gist_file) list
type change_status = {
change_status_deletions : int;
change_status_additions : int;
change_status_total : int;
}
type gist_commit = {
gist_commit_url : string;
gist_commit_version : string;
gist_commit_user : user;
gist_commit_change_status : change_status;
gist_commit_committed_at : string;
}
type gist_commits = gist_commit list
type gist = {
gist_url : string;
gist_forks_url : string;
gist_commits_url : string;
gist_id : string;
gist_description : string option;
gist_public : bool;
gist_owner : user;
gist_user : string option;
gist_files : gist_files;
gist_comments : int;
gist_comments_url : string;
gist_html_url : string;
gist_git_pull_url : string;
gist_git_push_url : string;
gist_created_at : string;
gist_updated_at : string;
gist_forks : gist_fork list option;
gist_history : gist_commits option;
}
type gists = gist list
type gist_forks = gist_fork list
type fork_event = {
fork_event_forkee : repository;
}
type file = {
file_sha : string option;
file_filename : string;
file_status : string;
file_additions : int;
file_deletions : int;
file_changes : int;
file_blob_url : string;
file_raw_url : string;
file_patch : string option;
}
type files = file list
type delete_event = {
delete_event_ref : ref;
}
type create_event = {
create_event_ref : ref;
create_event_master_branch : string;
create_event_description : string option;
}
type commit_comment = {
commit_comment_position : int option;
commit_comment_line : int option;
commit_comment_path : string option;
commit_comment_commit_id : string;
commit_comment_id : Int64.t;
commit_comment_url : string;
commit_comment_html_url : string;
commit_comment_body : string;
commit_comment_user : user;
commit_comment_created_at : string;
commit_comment_updated_at : string;
}
type commit_comment_event = {
commit_comment_event_comment : commit_comment;
}
type event_constr = [
| `CommitComment of commit_comment_event
| `Create of create_event
| `Delete of delete_event
| `Download
| `Follow
| `Fork of fork_event
| `ForkApply
| `Gist
| `Gollum of gollum_event
| `IssueComment of issue_comment_event
| `Issues of issues_event
| `Member of member_event
| `Public
| `PullRequest of pull_request_event
| `PullRequestReviewComment of pull_request_review_comment_event
| `Push of push_event
| `Release of release_event
| `Repository of repository_event
| `Status of status_event
| `Watch of watch_event
| `Unknown of string * json option
]
type event = {
event_public : bool;
event_payload : event_constr;
event_actor : user;
event_org : org option;
event_created_at : string;
event_repo : repo;
event_id : Int64.t;
}
type events = event list
type event_hook_metadata = {
event_hook_metadata_sender : user;
event_hook_metadata_organisation : org option;
event_hook_metadata_created_at : string;
event_hook_metadata_repository : repository;
event_hook_metadata_id : Int64.t;
}
type event_hook_constr = [
| `CommitComment of commit_comment_event
| `Create of create_event
| `Delete of delete_event
| `Download
| `Follow
| `Fork of fork_event
| `ForkApply
| `Gist
| `Gollum of gollum_event
| `IssueComment of issue_comment_event
| `Issues of issues_event
| `Member of member_event
| `Public
| `PullRequest of pull_request_event
| `PullRequestReviewComment of pull_request_review_comment_event
| `Push of push_event_hook
| `Release of release_event
| `Repository of repository_event
| `Status of status_event
| `Watch of watch_event
| `Unknown of string * json option
]
type emojis = (string * string) list
type deploy_key = {
deploy_key_id : Int64.t;
deploy_key_key : string;
deploy_key_url : string;
deploy_key_title : string;
}
type deploy_keys = deploy_key list
type contribution_week = {
repo_contribution_week_w : int;
repo_contribution_week_a : int;
repo_contribution_week_d : int;
repo_contribution_week_c : int;
}
type contributor_stats = {
repo_contributor_stats_author : user;
repo_contributor_stats_total : int;
repo_contributor_stats_weeks : contribution_week list;
}
type contributors_stats = contributor_stats list
type contributor = {
contributor_contributions : int;
contributor_html_url : string;
contributor_login : string;
contributor_id : Int64.t;
contributor_url : string;
contributor_avatar_url : string option;
}
type contributors = contributor list
type commits = commit list
type comment = {
comment_id : Int64.t;
comment_url : string;
comment_html_url : string;
comment_body : string;
comment_user : user;
comment_created_at : string;
comment_updated_at : string;
}
type base_status = {
base_status_url : string;
base_status_updated_at : string;
base_status_created_at : string;
base_status_id : Int64.t;
base_status_state : status_state;
base_status_target_url : string option;
base_status_description : string option;
base_status_context : string option;
}
type base_statuses = base_status list
type combined_status = {
combined_status_state : status_state;
combined_status_sha : string;
combined_status_total_count : int;
combined_status_statuses : base_statuses;
combined_status_repository : repo;
combined_status_url : string;
combined_status_commit_url : string;
}
type app = {
app_name : string;
app_url : string;
}
type auth = {
auth_scopes : scope list;
auth_token : string;
auth_app : app;
auth_url : string;
auth_id : Int64.t;
auth_note : string option;
auth_note_url : string option;
}
type auths = auth list
type auth_req = {
auth_req_scopes : scope list;
auth_req_note : string;
auth_req_note_url : string option;
auth_req_client_id : string option;
auth_req_client_secret : string option;
auth_req_fingerprint : string option;
}