Expand description
API context: settings
.
This API context is responsible for handling the application settings.
§Endpoints
§Get all settings
GET /v1/settings
Returns all settings.
Example request
curl \
--header "Content-Type: application/json" \
--header "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjp7InVzZXJfaWQiOjEsInVzZXJuYW1lIjoiaW5kZXhhZG1pbiIsImFkbWluaXN0cmF0b3IiOnRydWV9LCJleHAiOjE2ODYyMTU3ODh9.4k8ty27DiWwOk4WVcYEhIrAndhpXMRWnLZ3i_HlJnvI" \
--request GET \
"http://127.0.0.1:3001/v1/settings"
Example response 200
{
"data": {
"website": {
"name": "Torrust"
},
"tracker": {
"url": "udp://localhost:6969",
"mode": "Public",
"api_url": "http://localhost:1212",
"token": "MyAccessToken",
"token_valid_seconds": 7257600
},
"net": {
"port": 3001,
"base_url": null
},
"auth": {
"email_on_signup": "Optional",
"min_password_length": 6,
"max_password_length": 64,
"secret_key": "MaxVerstappenWC2021"
},
"database": {
"connect_url": "sqlite://./storage/database/data.db?mode=rwc"
},
"mail": {
"email_verification_enabled": false,
"from": "example@email.com",
"reply_to": "noreply@email.com",
"username": "",
"password": "",
"server": "",
"port": 25
},
"image_cache": {
"max_request_timeout_ms": 1000,
"capacity": 128000000,
"entry_size_limit": 4000000,
"user_quota_period_seconds": 3600,
"user_quota_bytes": 64000000
},
"api": {
"default_torrent_page_size": 10,
"max_torrent_page_size": 30
},
"tracker_statistics_importer": {
"torrent_info_update_interval": 3600
}
}
}
Resource
Refer to the TorrustBackend
struct for more information about the response attributes.
§Update all settings
NOTICE: This endpoint to update the settings does not work when you use environment variables to configure the application. You need to use a configuration file instead. Because settings are persisted in that file. Refer to the issue #144 for more information.
POST /v1/settings
Example request
curl \
--header "Content-Type: application/json" \
--header "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjp7InVzZXJfaWQiOjEsInVzZXJuYW1lIjoiaW5kZXhhZG1pbiIsImFkbWluaXN0cmF0b3IiOnRydWV9LCJleHAiOjE2ODYyMTU3ODh9.4k8ty27DiWwOk4WVcYEhIrAndhpXMRWnLZ3i_HlJnvI" \
--request POST \
--data '{"website":{"name":"Torrust"},"tracker":{"url":"udp://localhost:6969","mode":"Public","api_url":"http://localhost:1212","token":"MyAccessToken","token_valid_seconds":7257600},"net":{"port":3001,"base_url":null},"auth":{"email_on_signup":"Optional","min_password_length":6,"max_password_length":64,"secret_key":"MaxVerstappenWC2021"},"database":{"connect_url":"sqlite://./storage/database/data.db?mode=rwc"},"mail":{"email_verification_enabled":false,"from":"example@email.com","reply_to":"noreply@email.com","username":"","password":"","server":"","port":25},"image_cache":{"max_request_timeout_ms":1000,"capacity":128000000,"entry_size_limit":4000000,"user_quota_period_seconds":3600,"user_quota_bytes":64000000},"api":{"default_torrent_page_size":10,"max_torrent_page_size":30},"tracker_statistics_importer":{"torrent_info_update_interval":3600}}' \
"http://127.0.0.1:3001/v1/settings"
The response contains the settings that were updated.
Resource
Refer to the TorrustBackend
struct for more information about the response attributes.
§Get site name
GET /v1/settings/name
It returns the name of the site.
Example request
curl \
--header "Content-Type: application/json" \
--request GET \
"http://127.0.0.1:3001/v1/settings/name"
Example response 200
{
"data":"Torrust"
}
§Get public settings
GET /v1/settings/public
It returns all the public settings.
Example request
curl \
--header "Content-Type: application/json" \
--request GET \
"http://127.0.0.1:3001/v1/settings/public"
Example response 200
{
"data": {
"website_name": "Torrust",
"tracker_url": "udp://localhost:6969",
"tracker_mode": "Public",
"email_on_signup": "Optional"
}
}
Resource
Refer to the ConfigurationPublic
struct for more information about the response attributes.