mirror of
https://github.com/avency/Gitea.git
synced 2025-10-29 10:42:33 +01:00
feat: Change endpoint calls
Change the endpoint call so that there is an autocompletion.
This commit is contained in:
@ -11,6 +11,8 @@ use Psr\Http\Message\ResponseInterface;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gitea Client
|
* Gitea Client
|
||||||
|
*
|
||||||
|
* @method Repositories repositories()
|
||||||
*/
|
*/
|
||||||
class Client
|
class Client
|
||||||
{
|
{
|
||||||
@ -45,18 +47,20 @@ class Client
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $api
|
* @param $method
|
||||||
|
* @param $args
|
||||||
* @return EndpointInterface
|
* @return EndpointInterface
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public function api(string $api): EndpointInterface
|
public function __call($method, $args)
|
||||||
{
|
{
|
||||||
switch ($api) {
|
$interfaceName = EndpointInterface::class;
|
||||||
case 'repositories':
|
$endpointClassName = str_replace('\\EndpointInterface', '\\' . ucfirst($method), $interfaceName);
|
||||||
return new Repositories($this);
|
if (class_exists($endpointClassName)) {
|
||||||
|
return new $endpointClassName($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Exception('Endpoint not found', 1579246217);
|
throw new Exception('Endpoint "' . ucfirst($method) . '" not found!', 1579274712);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -53,7 +53,10 @@ $giteaClient = new Avency\Gitea\Client(
|
|||||||
// - - - - -
|
// - - - - -
|
||||||
|
|
||||||
// Get a single repository
|
// Get a single repository
|
||||||
$repository = $giteaClient->api('repositories')->get('owner', 'repoName');
|
$repository = $giteaClient->repositories()->get('owner', 'repoName');
|
||||||
|
|
||||||
|
// Get version
|
||||||
|
$repository = $giteaClient->miscellaneous()->version();
|
||||||
```
|
```
|
||||||
|
|
||||||
## Versioning
|
## Versioning
|
||||||
|
|||||||
Reference in New Issue
Block a user