-
Notifications
You must be signed in to change notification settings - Fork 8
/
Users.pm
66 lines (49 loc) · 1.42 KB
/
Users.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
use v6;
use WebService::GitHub::Role;
class WebService::GitHub::Users does WebService::GitHub::Role {
method show($user?) {
self.request($user ?? '/users/' ~ $user !! '/user')
}
method update(%data) {
self.request('/user', 'PATCH', :data(%data))
}
method add_email(%data) {
self.request('/user/emails', 'POST', :data(%data));
}
method remove_email(%data) {
self.request('/user/emails', 'DELETE', :data(%data));
}
method followers($user?) {
self.request($user ?? "/users/" ~ $user ~ '/followers' !! '/user/followers');
}
method following($user?) {
self.request($user ?? "/users/" ~ $user ~ '/following' !! '/user/following');
}
method emails {
self.request('/user/emails');
}
method is_following($id) {
self.request('/user/following/' ~ $id);
}
method follow($id) {
self.request('/user/following/' ~ $id, 'PUT');
}
method unfollow($id) {
self.request('/user/following/' ~ $id, 'DELETE');
}
method keys {
self.request('/user/keys')
}
method key($id) {
self.request('/user/keys/' ~ $id)
}
method create_key(%data) {
self.request('/user/keys', 'POST', :data(%data))
}
method update_key($id, %data) {
self.request('/user/keys/' ~ $id, 'PATCH', :data(%data))
}
method delete_key($id){
self.request('/user/keys/' ~ $id, 'DELETE')
}
}