-
-
Notifications
You must be signed in to change notification settings - Fork 598
/
Copy pathOrganization.php
170 lines (151 loc) · 4.13 KB
/
Organization.php
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?php
namespace Github\Api;
use Github\Api\Organization\Actions\Secrets;
use Github\Api\Organization\Actions\SelfHostedRunners;
use Github\Api\Organization\Actions\Variables;
use Github\Api\Organization\Dependabot;
use Github\Api\Organization\Hooks;
use Github\Api\Organization\Members;
use Github\Api\Organization\OutsideCollaborators;
use Github\Api\Organization\SecretScanning;
use Github\Api\Organization\Teams;
/**
* Getting organization information and managing authenticated organization account information.
*
* @link http://developer.github.com/v3/orgs/
*
* @author Antoine Berranger <antoine at ihqs dot net>
* @author Joseph Bielawski <[email protected]>
*/
class Organization extends AbstractApi
{
/**
* @link https://developer.github.com/v3/orgs/#list-all-organizations
*
* @return array the organizations
*/
public function all($since = '')
{
return $this->get('/organizations?since='.rawurlencode($since));
}
/**
* Get extended information about an organization by its name.
*
* @link http://developer.github.com/v3/orgs/#get
*
* @param string $organization the organization to show
*
* @return array information about the organization
*/
public function show($organization)
{
return $this->get('/orgs/'.rawurlencode($organization));
}
public function update($organization, array $params)
{
return $this->patch('/orgs/'.rawurlencode($organization), $params);
}
/**
* List all repositories across all the organizations that you can access.
*
* @link http://developer.github.com/v3/repos/#list-organization-repositories
*
* @param string $organization the user name
* @param string $type the type of repositories
* @param int $page the page
* @param string $sort sort by
* @param string $direction direction of sort, asc or desc
*
* @return array the repositories
*/
public function repositories($organization, $type = 'all', $page = 1, $sort = null, $direction = null)
{
$parameters = [
'type' => $type,
'page' => $page,
];
if ($sort !== null) {
$parameters['sort'] = $sort;
}
if ($direction !== null) {
$parameters['direction'] = $direction;
}
return $this->get('/orgs/'.rawurlencode($organization).'/repos', $parameters);
}
/**
* @return Members
*/
public function members()
{
return new Members($this->getClient());
}
/**
* @return Hooks
*/
public function hooks()
{
return new Hooks($this->getClient());
}
/**
* @return Teams
*/
public function teams()
{
return new Teams($this->getClient());
}
/**
* @return Secrets
*/
public function secrets(): Secrets
{
return new Secrets($this->getClient());
}
/**
* @return Variables
*/
public function variables(): Variables
{
return new Variables($this->getClient());
}
/**
* @return OutsideCollaborators
*/
public function outsideCollaborators()
{
return new OutsideCollaborators($this->getClient());
}
/**
* @link http://developer.github.com/v3/issues/#list-issues
*
* @param string $organization
* @param array $params
* @param int $page
*
* @return array
*/
public function issues($organization, array $params = [], $page = 1)
{
return $this->get('/orgs/'.rawurlencode($organization).'/issues', array_merge(['page' => $page], $params));
}
/**
* @return SelfHostedRunners
*/
public function runners(): SelfHostedRunners
{
return new SelfHostedRunners($this->getClient());
}
/**
* @return SecretScanning
*/
public function secretScanning(): SecretScanning
{
return new SecretScanning($this->getClient());
}
/**
* @return Dependabot
*/
public function dependabot(): Dependabot
{
return new Dependabot($this->getClient());
}
}