98 lines
2.8 KiB
Text
98 lines
2.8 KiB
Text
|
# Kotlin API client for {{appName}}
|
||
|
|
||
|
## Requires
|
||
|
|
||
|
{{#jvm}}
|
||
|
* Kotlin 1.3.41
|
||
|
* Gradle 4.9
|
||
|
{{/jvm}}
|
||
|
{{#multiplatform}}
|
||
|
* Kotlin 1.3.50
|
||
|
{{/multiplatform}}
|
||
|
|
||
|
## Build
|
||
|
|
||
|
{{#jvm}}
|
||
|
First, create the gradle wrapper script:
|
||
|
|
||
|
```
|
||
|
gradle wrapper
|
||
|
```
|
||
|
|
||
|
Then, run:
|
||
|
|
||
|
{{/jvm}}
|
||
|
```
|
||
|
./gradlew check assemble
|
||
|
```
|
||
|
|
||
|
This runs all tests and packages the library.
|
||
|
|
||
|
## Features/Implementation Notes
|
||
|
|
||
|
{{#generateApiDocs}}
|
||
|
<a name="documentation-for-api-endpoints"></a>
|
||
|
## Documentation for API Endpoints
|
||
|
|
||
|
All URIs are relative to *{{{basePath}}}*. Change it when instanciating `ApiClient(basePath)`.
|
||
|
|
||
|
Class | Method | HTTP request | Description
|
||
|
------------ | ------------- | ------------- | -------------
|
||
|
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{#summary}}{{{summary}}}{{/summary}}
|
||
|
{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
|
||
|
{{/generateApiDocs}}
|
||
|
|
||
|
{{#generateModelDocs}}
|
||
|
<a name="documentation-for-models"></a>
|
||
|
## Documentation for Models
|
||
|
|
||
|
{{#modelPackage}}
|
||
|
{{#models}}{{#model}} - [{{{modelPackage}}}.{{{classname}}}]({{modelDocPath}}{{{classname}}}.md)
|
||
|
{{/model}}{{/models}}
|
||
|
{{/modelPackage}}
|
||
|
{{^modelPackage}}
|
||
|
No model defined in this package
|
||
|
{{/modelPackage}}
|
||
|
{{/generateModelDocs}}
|
||
|
|
||
|
<a name="documentation-for-authorization"></a>{{! TODO: optional documentation for authorization? }}
|
||
|
## Documentation for Authorization
|
||
|
|
||
|
{{^authMethods}}
|
||
|
All endpoints do not require authorization.
|
||
|
{{/authMethods}}
|
||
|
{{#authMethods}}
|
||
|
{{#last}}
|
||
|
Authentication schemes defined for the API:
|
||
|
{{/last}}
|
||
|
{{/authMethods}}
|
||
|
{{#authMethods}}
|
||
|
<a name="{{name}}"></a>
|
||
|
### {{name}}
|
||
|
|
||
|
{{#isApiKey}}- **Type**: API key
|
||
|
- **API key parameter name**: {{keyParamName}}
|
||
|
- **Location**: {{#isKeyInQuery}}URL query string{{/isKeyInQuery}}{{#isKeyInHeader}}HTTP header{{/isKeyInHeader}}
|
||
|
{{/isApiKey}}
|
||
|
{{#isBasic}}- **Type**: HTTP basic authentication
|
||
|
{{/isBasic}}
|
||
|
{{#isOAuth}}- **Type**: OAuth
|
||
|
- **Flow**: {{flow}}
|
||
|
- **Authorization URL**: {{authorizationUrl}}
|
||
|
- **Scopes**: {{^scopes}}N/A{{/scopes}}
|
||
|
{{#scopes}} - {{scope}}: {{description}}
|
||
|
{{/scopes}}
|
||
|
{{/isOAuth}}
|
||
|
|
||
|
{{/authMethods}}
|
||
|
|
||
|
## License
|
||
|
|
||
|
Copyright (C) 2015-2020 PeerTube Contributors
|
||
|
|
||
|
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses.
|