mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-04 05:00:03 +08:00
148 lines
4.2 KiB
VimL
148 lines
4.2 KiB
VimL
|
"List who the authenticated user is following:
|
||
|
"GET /user/following
|
||
|
function! github#api#user#ListFollowing(auth) abort
|
||
|
let following = []
|
||
|
for i in range(1,github#api#util#GetLastPage('user/following'))
|
||
|
call extend(following,github#api#util#Get('user/following?page=' . i, ['-H', 'Authorization:' . a:auth]))
|
||
|
endfor
|
||
|
return following
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" List the authenticated user's followers:
|
||
|
"
|
||
|
" Github API : GET /user/followers
|
||
|
function! github#api#user#GetFollowers(user,password) abort
|
||
|
return github#api#util#Get(join(['user', 'followers'], '/'),
|
||
|
\ ['-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Check if you are following a user
|
||
|
"
|
||
|
" Github API : GET /user/following/:username
|
||
|
function! github#api#user#CheckFollowing(username,user,password) abort
|
||
|
return github#api#util#GetStatus(join(['user', 'following', a:username], '/'),
|
||
|
\ ['-u', a:user . ':' . a:password]) == 204
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" follow a user
|
||
|
"
|
||
|
" Github API : PUT /user/following/:username
|
||
|
function! github#api#user#Follow(username,user,password) abort
|
||
|
return github#api#util#GetStatus(join(['user', 'following', a:username], '/'),
|
||
|
\ ['-X', 'PUT',
|
||
|
\ '-u', a:user . ':' .a:password]) == 204
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" List all orgs for the auth user.
|
||
|
"
|
||
|
" Github API : GET /user/orgs
|
||
|
function! github#api#user#ListOrgs(auth) abort
|
||
|
return github#api#util#Get(join(['user', 'orgs'], '/'),
|
||
|
\ ['-H', 'Authorization:' . a:auth])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Get your organization membership
|
||
|
"
|
||
|
" Github API : GET /user/memberships/orgs/:org
|
||
|
function! github#api#user#GetOrgMembership(user,password,org) abort
|
||
|
return github#api#util#Get(join(['user', 'memberships', 'orgs', a:org], '/'),
|
||
|
\ ['-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Edit your organization membership
|
||
|
"
|
||
|
" Input: >
|
||
|
" {
|
||
|
" "state": "active"
|
||
|
" }
|
||
|
" <
|
||
|
" Github API : PATCH /user/memberships/orgs/:org
|
||
|
function! github#api#user#EditOrgMembership(org,state,user,password) abort
|
||
|
return github#api#util#Get(join(['user', 'memberships', 'org', a:org], '/'),
|
||
|
\ ['-X', 'PATCH',
|
||
|
\ '-d', json_encode(a:state),
|
||
|
\ '-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
"Get the authenticated user
|
||
|
"GET /user
|
||
|
function! github#api#user#GetUser(username,password) abort
|
||
|
return github#api#util#Get('user' , ['-u', a:username . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Update the authenticated user
|
||
|
"
|
||
|
" Input >
|
||
|
" {
|
||
|
" "name": "monalisa octocat",
|
||
|
" "email": "octocat@github.com",
|
||
|
" "blog": "https://github.com/blog",
|
||
|
" "company": "GitHub",
|
||
|
" "location": "San Francisco",
|
||
|
" "hireable": true,
|
||
|
" "bio": "There once..."
|
||
|
" }
|
||
|
" <
|
||
|
" Github API : PATCH /user
|
||
|
function! github#api#user#UpdateUser(data,user,password) abort
|
||
|
return github#api#util#Get('user', ['-X', 'PATCH', '-d', a:data, '-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" List emails for a user
|
||
|
"
|
||
|
" Github API : GET /user/emails
|
||
|
function! github#api#user#ListEmails(user,password) abort
|
||
|
return github#api#util#Get(join(['user', 'emails'], '/'),
|
||
|
\ ['-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Add email address(es)
|
||
|
"
|
||
|
" Github API : POST /user/emails
|
||
|
function! github#api#user#AddEmails(user,password,emails) abort
|
||
|
return github#api#util#Get(join(['user', 'emails'], '/'),
|
||
|
\ ['-X', 'POST',
|
||
|
\ '-d', json_encode(a:emails),
|
||
|
\ '-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Delete email address(es)
|
||
|
"
|
||
|
" Github API : DELETE /user/emails
|
||
|
function! github#api#user#DeleteEmails(user,password,emails) abort
|
||
|
return github#api#util#Get(join(['user', 'emails'], '/'),
|
||
|
\ ['-X', 'DELETE',
|
||
|
\ '-d', json_encode(a:emails),
|
||
|
\ '-u', a:user . ':' . a:password])
|
||
|
endfunction
|
||
|
|
||
|
""
|
||
|
" @public
|
||
|
" Unfollow a user
|
||
|
"
|
||
|
" Github API : DELETE /user/following/:username
|
||
|
function! github#api#user#UnFollow(username,user,password) abort
|
||
|
return github#api#util#GetStatus(join(['user', 'following', a:username], '/'),
|
||
|
\ ['-u', a:user . ':' . a:password]) == 204
|
||
|
endfunction
|