Added file repository feature to API
This commit is contained in:
parent
bc24466b0c
commit
30e93f7621
3 changed files with 59 additions and 0 deletions
|
@ -5,6 +5,7 @@
|
|||
# API
|
||||
|
||||
- [AddonScript API](api/README.md)
|
||||
- [File repository](api/features/files.md)
|
||||
|
||||
# Schema
|
||||
|
||||
|
|
|
@ -71,4 +71,5 @@ be in a namespace-like format (reversed domain name).
|
|||
|
||||
These API features are part of the AddonScript specification itself:
|
||||
|
||||
- `files`: [File repository](./features/files.md)
|
||||
- To be added
|
57
docs/api/features/files.md
Normal file
57
docs/api/features/files.md
Normal file
|
@ -0,0 +1,57 @@
|
|||
# File Repository
|
||||
|
||||
## Endpoints
|
||||
|
||||
### `GET {base URL}/v1/files/:namespace/:addon/:version/:qualifier`
|
||||
|
||||
This endpoint can be used to retrieve information about a specific file.
|
||||
If the instance don't know this file, it must respond with status code 404.
|
||||
|
||||
#### Path variables:
|
||||
|
||||
- `namespace`: The [canonical namespace](../../concepts/namespaces.md#canonical-namespaces)
|
||||
of the addon to which the file belongs to
|
||||
- `addon`: The addon ID of the addon to which the file belongs to
|
||||
- `version`: The addon version to which the file belongs to
|
||||
- `qualifier`: The qualifier of the file
|
||||
|
||||
#### Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"links": ["https://example.com/file.jar"],
|
||||
"filename?": "file.jar",
|
||||
"hashes": {
|
||||
"sha1": "somesha1checksum"
|
||||
},
|
||||
"meta": {
|
||||
"additional": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### `GET {base URL}/v1/files/:algorithm/:hash`
|
||||
|
||||
This endpoint can be used to retrieve information about a file from the hash value of the file.
|
||||
If the instance can't find the file by the hash or does not know the specified hash algorithm,
|
||||
it must respond with status code 404.
|
||||
|
||||
#### Path variables:
|
||||
|
||||
- `algorithm`: The hash algorithm of the hash
|
||||
- `hash`: The hash value of the file
|
||||
|
||||
#### Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"links": ["https://example.com/file.jar"],
|
||||
"filename?": "file.jar",
|
||||
"hashes": {
|
||||
"sha1": "somesha1checksum"
|
||||
},
|
||||
"meta": {
|
||||
"additional": {}
|
||||
}
|
||||
}
|
||||
```
|
Loading…
Reference in a new issue