Skip to content

Commit 2e70f7b

Browse files
committed
Client: handle pagination, default to 500 items per page, automatically paginate additional pages
1 parent 451dd2e commit 2e70f7b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+309
-76
lines changed

src/Api/AbstractApi.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
abstract class AbstractApi
1616
{
17+
const DEFAULT_LIMIT = 500;
18+
1719
/** @var Client */
1820
protected $client;
1921
/** @var ResponseMediator */

src/Api/Credentials.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class Credentials extends AbstractApi
2121

2222
public function all()
2323
{
24-
return $this->get('/credentials/');
24+
return $this->get('/credentials/', ['limit' => self::DEFAULT_LIMIT]);
2525
}
2626

2727
public function show($credentialId)

src/Api/Customers.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Customers extends AbstractApi
1616
{
1717
public function all()
1818
{
19-
return $this->get('/customers/');
19+
return $this->get('/customers/', ['limit' => self::DEFAULT_LIMIT]);
2020
}
2121

2222
public function show($customerIdOrUrlName)
@@ -70,7 +70,7 @@ public function disable($customerIdOrUrlName)
7070

7171
public function listPackages($customerIdOrUrlName)
7272
{
73-
return $this->get(sprintf('/customers/%s/packages/', $customerIdOrUrlName));
73+
return $this->get(sprintf('/customers/%s/packages/', $customerIdOrUrlName), ['limit' => self::DEFAULT_LIMIT]);
7474
}
7575

7676
public function showPackage($customerIdOrUrlName, $packageIdOrName)

src/Api/Customers/MagentoLegacyKeys.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class MagentoLegacyKeys extends AbstractApi
1515
{
1616
public function all($customerIdOrUrlName)
1717
{
18-
return $this->get(sprintf('/api/customers/%s/magento-legacy-keys/', $customerIdOrUrlName));
18+
return $this->get(sprintf('/api/customers/%s/magento-legacy-keys/', $customerIdOrUrlName), ['limit' => self::DEFAULT_LIMIT]);
1919
}
2020

2121
public function create($customerIdOrUrlName, $publicKey, $privateKey)

src/Api/Customers/VendorBundles.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class VendorBundles extends AbstractApi
1515
{
1616
public function listVendorBundles($customerIdOrUrlName)
1717
{
18-
return $this->get(sprintf('/customers/%s/vendor-bundles/', $customerIdOrUrlName));
18+
return $this->get(sprintf('/customers/%s/vendor-bundles/', $customerIdOrUrlName), ['limit' => self::DEFAULT_LIMIT]);
1919
}
2020

2121
/**

src/Api/MirroredRepositories.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class MirroredRepositories extends AbstractApi
1313
{
1414
public function all()
1515
{
16-
return $this->get('/mirrored-repositories/');
16+
return $this->get('/mirrored-repositories/', ['limit' => self::DEFAULT_LIMIT]);
1717
}
1818

1919
public function create($name, $url, $mirroringBehavior, $credentials = null)
@@ -48,7 +48,7 @@ public function remove($mirroredRepositoryId)
4848

4949
public function listPackages($mirroredRepositoryId)
5050
{
51-
return $this->get(sprintf('/mirrored-repositories/%s/packages/', $mirroredRepositoryId));
51+
return $this->get(sprintf('/mirrored-repositories/%s/packages/', $mirroredRepositoryId), ['limit' => self::DEFAULT_LIMIT]);
5252
}
5353

5454
public function addPackages($mirroredRepositoryId, array $packages)

src/Api/Packages.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ public function all(array $filters = [])
5252
throw new InvalidArgumentException('Filter "origin" has to be one of: "' . implode('", "', self::AVAILABLE_ORIGINS) . '".');
5353
}
5454

55+
$filters = array_merge(['limit' => self::DEFAULT_LIMIT], $filters);
56+
5557
return $this->get('/packages/', $filters);
5658
}
5759

@@ -127,16 +129,18 @@ public function remove($packageIdOrName)
127129

128130
public function listCustomers($packageIdOrName)
129131
{
130-
return $this->get(sprintf('/packages/%s/customers/', $packageIdOrName));
132+
return $this->get(sprintf('/packages/%s/customers/', $packageIdOrName), ['limit' => self::DEFAULT_LIMIT]);
131133
}
132134

133135
public function listDependents($packageName)
134136
{
135-
return $this->get(sprintf('/packages/%s/dependents/', $packageName));
137+
return $this->get(sprintf('/packages/%s/dependents/', $packageName), ['limit' => self::DEFAULT_LIMIT]);
136138
}
137139

138140
public function listSecurityIssues($packageIdOrName, array $filters = [])
139141
{
142+
$filters = array_merge(['limit' => self::DEFAULT_LIMIT], $filters);
143+
140144
return $this->get(sprintf('/packages/%s/security-issues/', $packageIdOrName), $filters);
141145
}
142146

src/Api/Packages/Artifacts.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ public function show($artifactId)
3636

3737
public function showPackageArtifacts($packageIdOrName)
3838
{
39-
return $this->get(sprintf('/packages/%s/artifacts/', $packageIdOrName));
39+
return $this->get(sprintf('/packages/%s/artifacts/', $packageIdOrName), ['limit' => self::DEFAULT_LIMIT]);
4040
}
4141
}

src/Api/SecurityIssues.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ class SecurityIssues extends AbstractApi
4848

4949
public function all(array $filters = [])
5050
{
51+
$filters = array_merge(['limit' => self::DEFAULT_LIMIT], $filters);
52+
5153
return $this->get('/security-issues/', $filters);
5254
}
5355

src/Api/Suborganizations.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Suborganizations extends AbstractApi
1515
{
1616
public function all()
1717
{
18-
return $this->get('/suborganizations/');
18+
return $this->get('/suborganizations/', ['limit' => self::DEFAULT_LIMIT]);
1919
}
2020

2121
public function show($suborganizationName)
@@ -35,7 +35,7 @@ public function remove($suborganizationName)
3535

3636
public function listTeams($suborganizationName)
3737
{
38-
return $this->get(sprintf('/suborganizations/%s/teams/', $suborganizationName));
38+
return $this->get(sprintf('/suborganizations/%s/teams/', $suborganizationName), ['limit' => self::DEFAULT_LIMIT]);
3939
}
4040

4141
public function addOrEditTeams($suborganizationName, array $teams)
@@ -60,7 +60,7 @@ public function removeTeam($suborganizationName, $teamId)
6060

6161
public function listTokens($suborganizationName)
6262
{
63-
return $this->get(sprintf('/suborganizations/%s/tokens/', $suborganizationName));
63+
return $this->get(sprintf('/suborganizations/%s/tokens/', $suborganizationName), ['limit' => self::DEFAULT_LIMIT]);
6464
}
6565

6666
public function createToken($suborganizationName, array $tokenData)

0 commit comments

Comments
 (0)