Refac remove comment from json

This commit is contained in:
MerlinScheurer 2024-05-13 14:55:48 +02:00
parent 78eff229ea
commit 256ee8c768
1 changed files with 66 additions and 44 deletions

View File

@ -1,149 +1,170 @@
# Additional API endpoints
## Login
Return token and user ID for username and password:
**POST** `/api/login/`
```json
{
"username": "tubearchivist",
"password": "verysecret"
"username": "tubearchivist",
"password": "verysecret"
}
```
after successful login returns
after successful login returns
```json
{
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_id": 1
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user_id": 1
}
```
## Refresh
**GET** `/api/refresh/`
**GET** `/api/refresh/`
Parameters:
- **type**: one of *video*, *channel*, *playlist*, optional
- **type**: one of _video_, _channel_, _playlist_, optional
- **id**: item id, optional
without specifying type: return total for all queued items:
```json
{
"total_queued": 2,
"type": "all",
"state": "running"
"total_queued": 2,
"type": "all",
"state": "running"
}
```
specify type: return total items queue of this type:
```json
{
"total_queued": 2,
"type": "video",
"state": "running"
"total_queued": 2,
"type": "video",
"state": "running"
}
```
specify type *and* id to get state of item in queue:
specify type _and_ id to get state of item in queue:
```json
{
"total_queued": 2,
"type": "video",
"state": "in_queue",
"id": "video-id"
"total_queued": 2,
"type": "video",
"state": "in_queue",
"id": "video-id"
}
```
**POST** `/api/refresh/`
**POST** `/api/refresh/`
Parameter:
- extract_videos: to refresh all videos for channels/playlists, default False
Manually start a refresh task: post list of *video*, *channel*, *playlist* IDs:
Manually start a refresh task: post list of _video_, _channel_, _playlist_ IDs:
```json
{
"video": ["video1", "video2", "video3"],
"channel": ["channel1", "channel2", "channel3"],
"playlist": ["playlist1", "playlist2"]
"video": ["video1", "video2", "video3"],
"channel": ["channel1", "channel2", "channel3"],
"playlist": ["playlist1", "playlist2"]
}
```
## Cookie
Check your youtube cookie settings, *status* turns to `true` if cookie has been validated.
Check your youtube cookie settings, _status_ turns to `true` if cookie has been validated.
**GET** `/api/cookie/`
```json
{
"cookie_enabled": true,
"status": true,
"validated": 1680953715,
"validated_str": "timestamp"
"cookie_enabled": true,
"status": true,
"validated": 1680953715,
"validated_str": "timestamp"
}
```
**POST** `/api/cookie/`
Send empty post request to validate cookie.
```json
{
"cookie_validated": true
"cookie_validated": true
}
```
**PUT** `/api/cookie/`
Send put request containing the cookie as a string:
```json
{
"cookie": "your-cookie-as-string"
"cookie": "your-cookie-as-string"
}
```
Imports and validates cookie, returns on success:
```json
{
"cookie_import": "done",
"cookie_validated": true
"cookie_import": "done",
"cookie_validated": true
}
```
Or returns status code 400 on failure:
```json
{
"cookie_import": "fail",
"cookie_validated": false
"cookie_import": "fail",
"cookie_validated": false
}
```
## Search
**GET** `/api/search/?query=<query>`
**GET** `/api/search/?query=<query>`
Returns search results from your query.
## Watched
**POST** `/api/watched/`
**POST** `/api/watched/`
Change watched state, where the `id` can be a single video, or channel/playlist to change all videos belonging to that channel/playlist.
```json
{
"id": "xxxxxxx",
"is_watched": true
"id": "xxxxxxx",
"is_watched": true
}
```
## Ping
Validate your connection and authentication with the API
**GET** `/api/ping/`
When valid returns message with user id and TubeArchivist version:
When valid returns message with user id and TubeArchivist version:
```json
{
"response": "pong",
"user": 1,
"version": "v0.4.7"
"response": "pong",
"user": 1,
"version": "v0.4.7"
}
```
## Notification List
Get all current notifications.
**GET** `/api/notification/`
**GET** `/api/notification/`
Parameter:
@ -158,10 +179,11 @@ Parameter:
"api-stop": true,
"level": "info",
"id": "1111111-1111-1111-1111-1111111",
"command": false, // false || "STOP" || "KILL"
"command": false,
"messages": ["Task completed successfully"],
"progress": 0.000001
}
]
```
"command" can be false || "STOP" || "KILL".