forked from joomla-framework/github-api
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUsers.php
More file actions
129 lines (117 loc) · 2.86 KB
/
Copy pathUsers.php
File metadata and controls
129 lines (117 loc) · 2.86 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
/**
* Part of the Joomla Framework Github Package
*
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Github\Package;
use Joomla\Github\AbstractPackage;
use Joomla\Uri\Uri;
/**
* GitHub API References class for the Joomla Framework.
*
* @link https://developer.github.com/v3/users
*
* @since 1.0
*
* @property-read Users\Emails $emails GitHub API object for emails.
* @property-read Users\Followers $followers GitHub API object for followers.
* @property-read Users\Keys $keys GitHub API object for keys.
*/
class Users extends AbstractPackage
{
/**
* Get a single user.
*
* @param string $user The users login name.
*
* @return object
*
* @since 1.0
* @throws \DomainException
*/
public function get($user)
{
// Build the request path.
$path = '/users/' . $user;
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Get the authenticated user.
*
* @return mixed
*
* @since 1.0
* @throws \DomainException
*/
public function getAuthenticatedUser()
{
// Build the request path.
$path = '/user';
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Update the authenticated user.
*
* @param string $name The full name
* @param string $email The email
* @param string $blog The blog
* @param string $company The company
* @param string $location The location
* @param string $hireable If he is unemployed :P
* @param string $bio The biometrical DNA fingerprint (or smthng...)
*
* @return mixed
*
* @since 1.0
* @throws \DomainException
*/
public function edit($name = '', $email = '', $blog = '', $company = '', $location = '', $hireable = '', $bio = '')
{
$data = array(
'name' => $name,
'email' => $email,
'blog' => $blog,
'company' => $company,
'location' => $location,
'hireable' => $hireable,
'bio' => $bio,
);
// Build the request path.
$path = '/user';
// Send the request.
return $this->processResponse(
$this->client->patch($this->fetchUrl($path), json_encode($data))
);
}
/**
* Get all users.
*
* This provides a dump of every user, in the order that they signed up for GitHub.
*
* @param integer $since The integer ID of the last User that you’ve seen.
*
* @return object
*
* @since 1.0
* @throws \DomainException
*/
public function getList($since = 0)
{
// Build the request path.
$uri = new Uri($this->fetchUrl('/users'));
if ($since)
{
$uri->setVar('since', $since);
}
// Send the request.
return $this->processResponse($this->client->get($uri));
}
}